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)); }
public ConfigurationModel() { AvailableLists = new List <SelectListItem>(); AvailableSenders = new List <SelectListItem>(); AvailableMessageTemplates = new List <SelectListItem>(); MessageTemplateSearchModel = new SendinBlueMessageTemplateSearchModel(); SmsSearchModel = new SmsSearchModel(); AddSms = new SmsModel(); }