/// <summary> /// Save contact group /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel SaveContactGroup(ContactGroupManageModel model) { ResponseModel response; var contactGroup = GetById(model.Id); if (contactGroup != null) { contactGroup.Name = model.Name; contactGroup.Queries = model.Queries; contactGroup.Active = model.Active; response = Update(contactGroup); if (response.Success) { RefreshContactGroup((int)response.Data); } return(response.SetMessage(response.Success ? T("ContactGroup_Message_UpdateSuccessfully") : T("ContactGroup_Message_UpdateFailure"))); } Mapper.CreateMap <ContactGroupManageModel, ContactGroup>(); contactGroup = Mapper.Map <ContactGroupManageModel, ContactGroup>(model); response = Insert(contactGroup); if (response.Success) { RefreshContactGroup((int)response.Data); } return(response.SetMessage(response.Success ? T("ContactGroup_Message_CreateSuccessfully") : T("ContactGroup_Message_CreateFailure"))); }
/// <summary> /// Save contact group, notification template and notification send time /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel SaveNotificationConfiguration(NotificationConfigurationSetupModel model) { var notification = GetById(model.Id); if (notification != null) { // Save contact group if (!string.IsNullOrEmpty(model.ContactGroupName)) { var contactGroup = new ContactGroupManageModel { Name = model.ContactGroupName, Queries = notification.ContactQueries }; _contactGroupService.SaveContactGroup(contactGroup); } // Save notification template if (!string.IsNullOrEmpty(model.NotificationTemplateName)) { var notificationTemplateManageModel = new NotificationTemplateManageModel { Name = model.ContactGroupName, Body = notification.NotificationBody, Subject = notification.NotificationSubject, Module = notification.Module, IsDefaultTemplate = false }; _notificationTemplateService.SaveNotificationTemplate(notificationTemplateManageModel); } // Save notification send time and active record notification.SendTime = model.SendTime.HasValue ? model.SendTime : DateTime.UtcNow; notification.Active = true; var response = Update(notification); return(response.Success ? response.SetMessage(T("Notification_Message_SavingNotificationConfigrationSuccessfully")) : response.SetMessage(T("Notification_Message_SavingNotificationConfigrationFailure"))); } return(new ResponseModel { Success = false, Message = T("Notification_Message_ObjectNotFound") }); }
/// <summary> /// Update contact group data /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel UpdateContactGroupData(XEditableModel model) { var contactGroup = GetById(model.Pk); if (contactGroup != null) { var property = ReflectionUtilities.GetAllPropertiesOfType(typeof(ContactGroupManageModel)) .FirstOrDefault(p => p.Name.Equals(model.Name, StringComparison.CurrentCultureIgnoreCase)); if (property != null) { object value = model.Value.ToType(property, WorkContext.CurrentTimezone); #region Validate var manageModel = new ContactGroupManageModel(contactGroup); manageModel.SetProperty(model.Name, value); var validationResults = manageModel.ValidateModel(); if (validationResults.Any()) { return(new ResponseModel { Success = false, Message = validationResults.BuildValidationMessages() }); } #endregion contactGroup.SetProperty(model.Name, value); var response = Update(contactGroup); return(response.SetMessage(response.Success ? T("ContactGroup_Message_UpdateCompanyInfoSuccessfully") : T("ContactGroup_Message_UpdateCompanyInfoFailure"))); } return(new ResponseModel { Success = false, Message = T("ContactGroup_Message_PropertyNotFound") }); } return(new ResponseModel { Success = false, Message = T("ContactGroup_Message_ObjectNotFound") }); }
public ActionResult Create(ContactGroupManageModel model, SubmitType submit) { if (ModelState.IsValid) { var response = _contactGroupService.SaveContactGroup(model); SetResponseMessage(response); if (response.Success) { var id = (int)response.Data; switch (submit) { case SubmitType.Save: return(RedirectToAction("Index")); default: return(RedirectToAction("Edit", new { id })); } } } return(View(model)); }
/// <summary> /// Add contact search to group /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel AddToGroup(AddToGroupModel model) { var contactGroupManageModel = new ContactGroupManageModel(); var contactSearchModel = SerializeUtilities.Deserialize <ContactSearchModel>(model.ContactSearchModel); var contactSearchModels = new List <ContactSearchModel>(); switch (model.AddToGroupType) { case ContactGroupEnums.AddToGroupType.New: contactSearchModels.Add(contactSearchModel); contactGroupManageModel.Name = model.Name; contactGroupManageModel.Queries = SerializeUtilities.Serialize(contactSearchModels); break; case ContactGroupEnums.AddToGroupType.Existing: var contactGroup = GetById(model.Id); if (contactGroup != null) { contactSearchModels = SerializeUtilities.Deserialize <List <ContactSearchModel> >(contactGroup.Queries); contactSearchModels.Add(contactSearchModel); contactGroupManageModel.Id = contactGroup.Id; contactGroupManageModel.Name = contactGroup.Name; contactGroupManageModel.Queries = SerializeUtilities.Serialize(contactSearchModels); contactGroupManageModel.Active = contactGroup.Active; } break; } var response = SaveContactGroup(contactGroupManageModel); return(response.SetMessage(response.Success ? T("ContactGroup_Message_AddToGroupSuccessfully") : T("ContactGroup_Message_AddToGroupFailure"))); }
public ActionResult Edit(ContactGroupManageModel model, string returnUrl, SubmitType submit) { if (ModelState.IsValid) { var response = _contactGroupService.SaveContactGroup(model); SetResponseMessage(response); if (response.Success) { switch (submit) { case SubmitType.Save: if (!string.IsNullOrEmpty(returnUrl)) { return(Redirect(returnUrl)); } return(RedirectToAction("Index")); default: return(RedirectToAction("Edit", new { id = model.Id })); } } } return(View(model)); }