using YLErp.Enums; using YLErp.Model.Enum; using YLErp.Modules.ClientCashModule; using YLErp.Modules.ClientModule; namespace YLErp.Web.Controllers { public class book_calendarController : BaseController { [MyAuthorize("客户管理-双录预约")] public ActionResult book_calendarList() { ViewBag.IsClientNeedBook = valuedateBLL.SystemDate.IsClientNeedBook; return View(); } [HttpPost] public JsonResult book_calendarQuery(ClientBookCalendarReq req) { var sList = new ClientBookCalendarService(CurUser).SearchList(req); return Json(sList); } [HttpPost] public JsonResult Ensurebook_calendar(string id) { var intid = DataProtectHelper.DecryptInt(id); var r = clientDB.book_calendar.Find(intid); if (r == null) { return JsonError("未找到该预约记录,确认失败"); } else { r.state = BookCalendarStateEnum.已确认.ToString(); // 发送邮件 var emails = ClientDataQueryService.GetClientEmails(r.clientid ?? 0); var status = EmailTradeConfirmResultType.Succeed; if (!emails.Any()) { status = EmailTradeConfirmResultType.NoEmailSetting; } foreach (var email in emails) { if (string.IsNullOrEmpty(email)) { status = EmailTradeConfirmResultType.NoEmailSetting; } } if (status == EmailTradeConfirmResultType.Succeed) { var sendMail = EmailHelper.SendMail(string.Join(";", emails), "双录预约邮件", "双录预约成功,双录时间为" + r.appointmenttime); if (!string.IsNullOrEmpty(sendMail)) { status = EmailTradeConfirmResultType.EmailSentFailed; } } switch (status) { case EmailTradeConfirmResultType.Succeed: yldb.SaveChanges(); return JsonSuccess("确认成功"); case EmailTradeConfirmResultType.NoEmailSetting: return JsonError("未设置邮箱,无法发送双录预约邮件"); case EmailTradeConfirmResultType.EmailSentFailed: return JsonError("发送双录预约邮件失败"); case EmailTradeConfirmResultType.Other: default: return JsonError("发送邮件未知错误"); } } } [HttpPost] public JsonResult Denybook_calendar(string id) { var intid = DataProtectHelper.DecryptInt(id); var r = clientDB.book_calendar.Find(intid); if (r == null) { return JsonError("未找到该预约记录,拒绝失败"); } else { r.state = BookCalendarStateEnum.已拒绝.ToString(); // 发送邮件 var emails = ClientDataQueryService.GetClientEmails(r.clientid ?? 0); var status = EmailTradeConfirmResultType.Succeed; if (!emails.Any()) { status = EmailTradeConfirmResultType.NoEmailSetting; } foreach (var email in emails) { if (string.IsNullOrEmpty(email)) { status = EmailTradeConfirmResultType.NoEmailSetting; } } if (status == EmailTradeConfirmResultType.Succeed) { var sendMail = EmailHelper.SendMail(string.Join(";", emails), "双录预约邮件", "双录预约被拒绝,双录人员在" + r.appointmenttime + "该时间忙,请重新选择双录预约时间"); if (!string.IsNullOrEmpty(sendMail)) { status = EmailTradeConfirmResultType.EmailSentFailed; } } switch (status) { case EmailTradeConfirmResultType.Succeed: yldb.SaveChanges(); return JsonSuccess("拒绝成功"); case EmailTradeConfirmResultType.NoEmailSetting: return JsonError("未设置邮箱,无法发送双录预约邮件"); case EmailTradeConfirmResultType.EmailSentFailed: return JsonError("发送双录预约邮件失败"); case EmailTradeConfirmResultType.Other: default: return JsonError("发送邮件未知错误"); } } } [HttpPost] public JsonResult Completebook_calendar(string id) { var intid = DataProtectHelper.DecryptInt(id); var r = clientDB.book_calendar.Find(intid); if (r == null) { return JsonError("未找到该预约记录,完成失败"); } r.state = BookCalendarStateEnum.已完成.ToString(); yldb.SaveChanges(); return JsonSuccess("完成成功"); } } }