public JsonResult GetMessageSettingsPageData() { return(ExecuteFunctionRun(() => { ActionResult result = new ActionResult(); try { //构造消息设置模型对象 MessageSettingsViewModel model = new MessageSettingsViewModel() { NewWorkItemNotice = GetNewWorkItemNotice(), UrgencyNotice = GetUrgencyNotice(), UnfinishedWorkItemNotice = GetUnfinishedWorkItemNotice(), ExceptionNotice = GetExceptionNotice(), OvertimePolicy1 = GetOvertimePolicy1(), OvertimePolicy2 = GetOvertimePolicy2() }; result.Extend = new { MessageSettings = model, DeliveryMethods = InitDeliveryMethods(), WorkCalendar = InitWorkCalendar(), RemindPostAction = InitRemindPostAction() }; result.Success = true; } catch (Exception e) { result.Success = false; result.Message = e.Message; } return Json(result, JsonRequestBehavior.AllowGet); })); }
public JsonResult SaveMessageSettings(string formData) { return(ExecuteFunctionRun(() => { MessageSettingsViewModel model = JsonConvert.DeserializeObject <MessageSettingsViewModel>(formData); ActionResult result = new ActionResult(); try { #region 新任务到达时提醒 foreach (Notice notice in model.NewWorkItemNotice) { if (!string.IsNullOrEmpty(notice.Details)) { notice.Details = System.Text.RegularExpressions.Regex.Replace(notice.Details, "\\s*|\t|\r|\n", ""); notice.Details = System.Text.RegularExpressions.Regex.Replace(notice.Details, "<ahref", "<a href"); } int notifyType = (int)Enum.Parse(typeof(NotifyType), notice.NewTaskArrivedNotifyType); switch (notifyType) { case (int)NotifyType.Email: { this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NewWorkItemNotificationTitle, notice.NotificationTitle); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_EmailNotificationContent, notice.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_EmailPush, notice.WetherSend.ToString().ToLower()); break; } case (int)NotifyType.App: { this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NewWorkItemAppNotification, notice.NotificationTitle); //不确定名字是否正确 this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NewWorkItemAppContent, notice.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_AppPush, notice.WetherSend.ToString().ToLower()); break; } case (int)NotifyType.WeChat: { this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NewWorkItemWeChatTitle, notice.NotificationTitle); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NewWorkItemWeChatContent, notice.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_WeChatPush, notice.WetherSend.ToString().ToLower()); break; } case (int)NotifyType.DingTalk: { this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NewWorkItemDDTitle, notice.NotificationTitle); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NewWorkItemDDContent, notice.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_DDPush, notice.WetherSend.ToString().ToLower()); break; } } } #endregion #region 催办任务到达提醒 this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_UrgencyNotifyType, model.UrgencyNotice.NewTaskArrivedNotifyType); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_UrgencyNotificationTitle, model.UrgencyNotice.NotificationTitle); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_EmailUrgencyContent, model.UrgencyNotice.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NotifyUrgency, model.UrgencyNotice.WetherSend.ToString().ToLower()); #endregion #region 定期发送未完成任务提醒 this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_ReccurentReminderMethod, model.UnfinishedWorkItemNotice.NewTaskArrivedNotifyType); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindTime, model.UnfinishedWorkItemNotice.RemindTime); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_ReccurentReminderPattern, model.UnfinishedWorkItemNotice.Fequency); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_EmailRemindTitle, model.UnfinishedWorkItemNotice.NotificationTitle); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_EmailRemindContent, model.UnfinishedWorkItemNotice.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_ReccurentReminderWorkingCalendar, model.UnfinishedWorkItemNotice.WorkCalendar); string cycleType = string.Empty; if (model.UnfinishedWorkItemNotice.CycleType != null) { foreach (string s in model.UnfinishedWorkItemNotice.CycleType) { cycleType += s + ";"; } cycleType = cycleType.TrimEnd(';'); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RecurrentReminderDayOfWeek, cycleType); } #endregion #region 异常任务任务到达提醒 this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_ExceptionNotifyType, model.ExceptionNotice.NewTaskArrivedNotifyType); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_ExceptionNotificationTitle, model.ExceptionNotice.NotificationTitle); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_EmailExceptionContent, model.ExceptionNotice.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_NotifyException, model.ExceptionNotice.WetherSend.ToString().ToLower()); #endregion #region 超时任务异常提醒 // 超时提醒策略1 this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy1NotifyType, model.OvertimePolicy1.NewTaskArrivedNotifyType); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy1Title, model.OvertimePolicy1.NotificationTitle); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy1Content, model.OvertimePolicy1.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy1PostInterval, model.OvertimePolicy1.TimeInterval); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy1PostAction, model.OvertimePolicy1.RemindPostAction); // 超时提醒策略2 this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy2NotifyType, model.OvertimePolicy2.NewTaskArrivedNotifyType); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy2Title, model.OvertimePolicy2.NotificationTitle); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy2Content, model.OvertimePolicy2.Details); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy2PostInterval, model.OvertimePolicy2.TimeInterval); this.Engine.SettingManager.SetCustomSetting(CustomSetting.Setting_RemindPolicy2PostAction, model.OvertimePolicy2.RemindPostAction); #endregion result.Success = true; result.Message = "msgGlobalString.SaveSucced"; } catch (Exception e) { result.Success = false; result.Message = e.Message; } return Json(result, JsonRequestBehavior.AllowGet);; })); }