public IActionResult MessageList(SendinBlueMessageTemplateSearchModel searchModel)
        {
            var storeId          = _storeContext.ActiveStoreScopeConfiguration;
            var messageTemplates = _messageTemplateService.GetAllMessageTemplates(storeId).ToPagedList(searchModel);

            //prepare list model
            var model = new SendinBlueMessageTemplateListModel().PrepareToGrid(searchModel, messageTemplates, () =>
            {
                return(messageTemplates.Select(messageTemplate =>
                {
                    //standard template of message is edited in the admin area, SendinBlue template is edited in the SendinBlue account
                    var templateId = _genericAttributeService.GetAttribute <int?>(messageTemplate, SendinBlueDefaults.TemplateIdAttribute);
                    var stores = _storeService.GetAllStores()
                                 .Where(store => !messageTemplate.LimitedToStores || _storeMappingService.GetStoresIdsWithAccess(messageTemplate).Contains(store.Id))
                                 .Aggregate(string.Empty, (current, next) => $"{current}, {next.Name}").Trim(',');

                    return new SendinBlueMessageTemplateModel
                    {
                        Id = messageTemplate.Id,
                        Name = messageTemplate.Name,
                        IsActive = messageTemplate.IsActive,
                        ListOfStores = stores,
                        UseSendinBlueTemplate = templateId.HasValue,
                        EditLink = templateId.HasValue
                            ? $"{string.Format(SendinBlueDefaults.EditMessageTemplateUrl, templateId.Value)}"
                            : Url.Action("Edit", "MessageTemplate", new { id = messageTemplate.Id, area = AreaNames.Admin })
                    };
                }));
            });

            return(Json(model));
        }
Ejemplo n.º 2
0
 public ConfigurationModel()
 {
     AvailableLists             = new List <SelectListItem>();
     AvailableSenders           = new List <SelectListItem>();
     AvailableMessageTemplates  = new List <SelectListItem>();
     MessageTemplateSearchModel = new SendinBlueMessageTemplateSearchModel();
     SmsSearchModel             = new SmsSearchModel();
     AddSms = new SmsModel();
 }