Exemplo n.º 1
0
        public IActionResult AddLevel(string customerReminderId)
        {
            var customerReminder = _customerReminderService.GetCustomerReminderById(customerReminderId);
            var model            = new CustomerReminderModel.ReminderLevelModel();

            model.CustomerReminderId = customerReminderId;
            _customerReminderViewModelService.PrepareReminderLevelModel(model, customerReminder);
            return(View(model));
        }
        public virtual async Task PrepareReminderLevelModel(CustomerReminderModel.ReminderLevelModel model, CustomerReminder customerReminder)
        {
            if (model == null)
            {
                throw new ArgumentNullException("model");
            }

            var emailAccounts = await _emailAccountService.GetAllEmailAccounts();

            foreach (var item in emailAccounts)
            {
                model.EmailAccounts.Add(new SelectListItem
                {
                    Text  = item.Email,
                    Value = item.Id.ToString()
                });
            }
            var messageTokenProvider = _serviceProvider.GetRequiredService <IMessageTokenProvider>();

            model.AllowedTokens = messageTokenProvider.GetListOfCustomerReminderAllowedTokens(customerReminder.ReminderRule);
        }
Exemplo n.º 3
0
        public virtual void PrepareReminderLevelModel(CustomerReminderModel.ReminderLevelModel model, CustomerReminder customerReminder)
        {
            if (model == null)
            {
                throw new ArgumentNullException("model");
            }

            var emailAccounts = _emailAccountService.GetAllEmailAccounts();

            foreach (var item in emailAccounts)
            {
                model.EmailAccounts.Add(new SelectListItem
                {
                    Text  = item.Email,
                    Value = item.Id.ToString()
                });
            }
            var messageTokenProvider = Grand.Core.Infrastructure.EngineContext.Current.Resolve <IMessageTokenProvider>();

            model.AllowedTokens = messageTokenProvider.GetListOfCustomerReminderAllowedTokens(customerReminder.ReminderRule);
        }
Exemplo n.º 4
0
        public IActionResult EditLevel(string customerReminderId, string cid, CustomerReminderModel.ReminderLevelModel model, bool continueEditing)
        {
            var customerReminder = _customerReminderService.GetCustomerReminderById(customerReminderId);

            if (customerReminder == null)
            {
                return(RedirectToAction("List"));
            }

            var level = customerReminder.Levels.FirstOrDefault(x => x.Id == cid);

            if (level == null)
            {
                return(RedirectToAction("List"));
            }

            if (level.Level != model.Level)
            {
                if (customerReminder.Levels.Where(x => x.Level == model.Level).Count() > 0)
                {
                    ModelState.AddModelError("Error-LevelExists", _localizationService.GetResource("Admin.Customers.CustomerReminderLevel.Exists"));
                }
            }
            try
            {
                if (ModelState.IsValid)
                {
                    level = _customerReminderViewModelService.UpdateReminderLevel(customerReminder, level, model);
                    SuccessNotification(_localizationService.GetResource("Admin.Customers.CustomerReminderLevel.Updated"));
                    return(continueEditing ? RedirectToAction("EditLevel", new { customerReminderId = customerReminder.Id, cid = level.Id }) : RedirectToAction("Edit", new { id = customerReminder.Id }));
                }
                _customerReminderViewModelService.PrepareReminderLevelModel(model, customerReminder);
                return(View(model));
            }
            catch (Exception exc)
            {
                ErrorNotification(exc);
                return(RedirectToAction("Edit", new { id = customerReminder.Id }));
            }
        }
Exemplo n.º 5
0
        public IActionResult AddLevel(CustomerReminderModel.ReminderLevelModel model, bool continueEditing)
        {
            var customerReminder = _customerReminderService.GetCustomerReminderById(model.CustomerReminderId);

            if (customerReminder == null)
            {
                return(RedirectToAction("List"));
            }
            if (customerReminder.Levels.Where(x => x.Level == model.Level).Count() > 0)
            {
                ModelState.AddModelError("Error-LevelExists", _localizationService.GetResource("Admin.Customers.CustomerReminderLevel.Exists"));
            }

            if (ModelState.IsValid)
            {
                var level = _customerReminderViewModelService.InsertReminderLevel(customerReminder, model);
                SuccessNotification(_localizationService.GetResource("Admin.Customers.CustomerReminderLevel.Added"));
                return(continueEditing ? RedirectToAction("EditLevel", new { customerReminderId = customerReminder.Id, cid = level.Id }) : RedirectToAction("Edit", new { id = customerReminder.Id }));
            }
            _customerReminderViewModelService.PrepareReminderLevelModel(model, customerReminder);
            return(View(model));
        }
        public virtual async Task <CustomerReminder.ReminderLevel> UpdateReminderLevel(CustomerReminder customerReminder, CustomerReminder.ReminderLevel customerReminderLevel, CustomerReminderModel.ReminderLevelModel model)
        {
            customerReminderLevel.Level             = model.Level;
            customerReminderLevel.Name              = model.Name;
            customerReminderLevel.Subject           = model.Subject;
            customerReminderLevel.BccEmailAddresses = model.BccEmailAddresses;
            customerReminderLevel.Body              = model.Body;
            customerReminderLevel.EmailAccountId    = model.EmailAccountId;
            customerReminderLevel.Day     = model.Day;
            customerReminderLevel.Hour    = model.Hour;
            customerReminderLevel.Minutes = model.Minutes;
            await _customerReminderService.UpdateCustomerReminder(customerReminder);

            await _customerActivityService.InsertActivity("EditCustomerReminderCondition", customerReminder.Id, _localizationService.GetResource("ActivityLog.EditCustomerReminderLevel"), customerReminder.Name);

            return(customerReminderLevel);
        }
        public virtual async Task <CustomerReminder.ReminderLevel> InsertReminderLevel(CustomerReminder customerReminder, CustomerReminderModel.ReminderLevelModel model)
        {
            var level = new CustomerReminder.ReminderLevel()
            {
                Name              = model.Name,
                Level             = model.Level,
                BccEmailAddresses = model.BccEmailAddresses,
                Body              = model.Body,
                EmailAccountId    = model.EmailAccountId,
                Subject           = model.Subject,
                Day     = model.Day,
                Hour    = model.Hour,
                Minutes = model.Minutes,
            };

            customerReminder.Levels.Add(level);
            await _customerReminderService.UpdateCustomerReminder(customerReminder);

            await _customerActivityService.InsertActivity("AddNewCustomerReminderLevel", customerReminder.Id, _localizationService.GetResource("ActivityLog.AddNewCustomerReminderLevel"), customerReminder.Name);

            return(level);
        }
Exemplo n.º 8
0
 public static CustomerReminder.ReminderLevel ToEntity(this CustomerReminderModel.ReminderLevelModel model, CustomerReminder.ReminderLevel destination)
 {
     return(model.MapTo(destination));
 }
Exemplo n.º 9
0
 public static CustomerReminder.ReminderLevel ToEntity(this CustomerReminderModel.ReminderLevelModel model)
 {
     return(model.MapTo <CustomerReminderModel.ReminderLevelModel, CustomerReminder.ReminderLevel>());
 }