public async Task<IActionResult> AddCondition(CustomerActionConditionModel model, bool continueEditing)
 {
     if (ModelState.IsValid)
     {
         var customerAction = await _customerActionViewModelService.InsertCustomerActionConditionModel(model);
         SuccessNotification(_localizationService.GetResource("Admin.Customers.CustomerActionCondition.Added"));
         return continueEditing ? RedirectToAction("EditCondition", new { customerActionId = customerAction.customerActionId, cid = customerAction.conditionId }) : RedirectToAction("Edit", new { id = customerAction.customerActionId });
     }
     return View(model);
 }
        public virtual CustomerActionConditionModel PrepareCustomerActionConditionModel(string customerActionId)
        {
            var customerAction = _customerActionService.GetCustomerActionById(customerActionId);
            var actionType     = _customerActionService.GetCustomerActionTypeById(customerAction.ActionTypeId);

            var model = new CustomerActionConditionModel();

            model.CustomerActionId = customerActionId;

            foreach (var item in actionType.ConditionType)
            {
                model.CustomerActionConditionType.Add(new SelectListItem()
                {
                    Value = item.ToString(),
                    Text  = ((CustomerActionConditionTypeEnum)item).ToString()
                });
            }
            return(model);
        }
        public async Task<IActionResult> EditCondition(string customerActionId, string cid, CustomerActionConditionModel model, bool continueEditing)
        {
            var customerAction = await _customerActionService.GetCustomerActionById(customerActionId);
            if (customerAction == null)
                return RedirectToAction("List");

            var condition = customerAction.Conditions.FirstOrDefault(x => x.Id == cid);
            if (condition == null)
                return RedirectToAction("List");
            try
            {
                if (ModelState.IsValid)
                {
                    await _customerActionViewModelService.UpdateCustomerActionConditionModel(customerAction, condition, model);
                    SuccessNotification(_localizationService.GetResource("Admin.Customers.CustomerActionCondition.Updated"));
                    return continueEditing ? RedirectToAction("EditCondition", new { customerActionId = customerAction.Id, cid = condition.Id }) : RedirectToAction("Edit", new { id = customerAction.Id });
                }
                return View(model);
            }
            catch (Exception exc)
            {
                ErrorNotification(exc);
                return RedirectToAction("Edit", new { id = customerAction.Id });
            }
        }
        public virtual async Task <CustomerAction> UpdateCustomerActionConditionModel(CustomerAction customeraction, ActionCondition condition, CustomerActionConditionModel model)
        {
            condition = model.ToEntity(condition);
            await _customerActionService.UpdateCustomerAction(customeraction);

            //activity log
            await _customerActivityService.InsertActivity("EditCustomerActionCondition", customeraction.Id, _localizationService.GetResource("ActivityLog.EditCustomerActionCondition"), customeraction.Name);

            return(customeraction);
        }
        public virtual async Task <(string customerActionId, string conditionId)> InsertCustomerActionConditionModel(CustomerActionConditionModel model)
        {
            var customerAction = await _customerActionService.GetCustomerActionById(model.CustomerActionId);

            if (customerAction == null)
            {
                return(null, null);
            }
            var condition = new CustomerAction.ActionCondition()
            {
                Name = model.Name,
                CustomerActionConditionTypeId = model.CustomerActionConditionTypeId,
                ConditionId = model.ConditionId,
            };

            customerAction.Conditions.Add(condition);
            await _customerActionService.UpdateCustomerAction(customerAction);

            await _customerActivityService.InsertActivity("AddNewCustomerActionCondition", customerAction.Id, _localizationService.GetResource("ActivityLog.AddNewCustomerAction"), customerAction.Name);

            return(customerAction.Id, condition.Id);
        }
Exemplo n.º 6
0
 public static CustomerAction.ActionCondition ToEntity(this CustomerActionConditionModel model, CustomerAction.ActionCondition destination)
 {
     return(model.MapTo(destination));
 }
Exemplo n.º 7
0
 public static CustomerAction.ActionCondition ToEntity(this CustomerActionConditionModel model)
 {
     return(model.MapTo <CustomerActionConditionModel, CustomerAction.ActionCondition>());
 }