145 lines
5.5 KiB
C#
145 lines
5.5 KiB
C#
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("完成成功");
|
|
}
|
|
}
|
|
}
|