public virtual CustomerReminderModel.ConditionModel PrepareConditionModel(CustomerReminder customerReminder) { var model = new CustomerReminderModel.ConditionModel(); model.CustomerReminderId = customerReminder.Id; foreach (CustomerReminderConditionTypeEnum item in Enum.GetValues(typeof(CustomerReminderConditionTypeEnum))) { if (customerReminder.ReminderRule == CustomerReminderRuleEnum.AbandonedCart || customerReminder.ReminderRule == CustomerReminderRuleEnum.CompletedOrder || customerReminder.ReminderRule == CustomerReminderRuleEnum.UnpaidOrder) { model.ConditionType.Add(new SelectListItem() { Value = ((int)item).ToString(), Text = item.ToString() }); } else { if (item != CustomerReminderConditionTypeEnum.Product && item != CustomerReminderConditionTypeEnum.Manufacturer && item != CustomerReminderConditionTypeEnum.Category) { model.ConditionType.Add(new SelectListItem() { Value = ((int)item).ToString(), Text = item.ToString() }); } } } return(model); }
public IActionResult EditCondition(string customerReminderId, string cid, CustomerReminderModel.ConditionModel model, bool continueEditing) { var customerReminder = _customerReminderService.GetCustomerReminderById(customerReminderId); if (customerReminder == null) { return(RedirectToAction("List")); } var condition = customerReminder.Conditions.FirstOrDefault(x => x.Id == cid); if (condition == null) { return(RedirectToAction("List")); } try { if (ModelState.IsValid) { condition = _customerReminderViewModelService.UpdateConditionModel(customerReminder, condition, model); SuccessNotification(_localizationService.GetResource("Admin.Customers.CustomerReminderCondition.Updated")); return(continueEditing ? RedirectToAction("EditCondition", new { customerReminderId = customerReminder.Id, cid = condition.Id }) : RedirectToAction("Edit", new { id = customerReminder.Id })); } return(View(model)); } catch (Exception exc) { ErrorNotification(exc); return(RedirectToAction("Edit", new { id = customerReminder.Id })); } }
public IActionResult AddCondition(CustomerReminderModel.ConditionModel model, bool continueEditing) { if (ModelState.IsValid) { var customerReminder = _customerReminderService.GetCustomerReminderById(model.CustomerReminderId); if (customerReminder == null) { return(RedirectToAction("List")); } var condition = _customerReminderViewModelService.InsertConditionModel(customerReminder, model); SuccessNotification(_localizationService.GetResource("Admin.Customers.CustomerReminder.Condition.Added")); return(continueEditing ? RedirectToAction("EditCondition", new { customerReminderId = customerReminder.Id, cid = condition.Id }) : RedirectToAction("Edit", new { id = customerReminder.Id })); } return(View(model)); }
public virtual async Task <CustomerReminder.ReminderCondition> UpdateConditionModel(CustomerReminder customerReminder, CustomerReminder.ReminderCondition condition, CustomerReminderModel.ConditionModel model) { condition = model.ToEntity(condition); await _customerReminderService.UpdateCustomerReminder(customerReminder); await _customerActivityService.InsertActivity("EditCustomerReminderCondition", customerReminder.Id, _localizationService.GetResource("ActivityLog.EditCustomerReminderCondition"), customerReminder.Name); return(condition); }
public virtual async Task <CustomerReminder.ReminderCondition> InsertConditionModel(CustomerReminder customerReminder, CustomerReminderModel.ConditionModel model) { var condition = new CustomerReminder.ReminderCondition() { Name = model.Name, ConditionTypeId = model.ConditionTypeId, ConditionId = model.ConditionId, }; customerReminder.Conditions.Add(condition); await _customerReminderService.UpdateCustomerReminder(customerReminder); await _customerActivityService.InsertActivity("AddNewCustomerReminderCondition", customerReminder.Id, _localizationService.GetResource("ActivityLog.AddNewCustomerReminder"), customerReminder.Name); return(condition); }
public static CustomerReminder.ReminderCondition ToEntity(this CustomerReminderModel.ConditionModel model, CustomerReminder.ReminderCondition destination) { return(model.MapTo(destination)); }