/// <summary> /// Prepare paged email account list model /// </summary> /// <param name="searchModel">Email account search model</param> /// <returns>Email account list model</returns> public virtual async Task <EmailAccountListModel> PrepareEmailAccountListModelAsync(EmailAccountSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get email accounts var emailAccounts = (await _emailAccountService.GetAllEmailAccountsAsync()).ToPagedList(searchModel); //prepare grid model var model = new EmailAccountListModel().PrepareToGrid(searchModel, emailAccounts, () => { return(emailAccounts.Select(emailAccount => { //fill in model values from the entity var emailAccountModel = emailAccount.ToModel <EmailAccountModel>(); //fill in additional values (not existing in the entity) emailAccountModel.IsDefaultEmailAccount = emailAccount.Id == _emailAccountSettings.DefaultEmailAccountId; return emailAccountModel; })); }); return(model); }
/// <summary> /// Prepare paged email account list model /// </summary> /// <param name="searchModel">Email account search model</param> /// <returns>Email account list model</returns> public virtual EmailAccountListModel PrepareEmailAccountListModel(EmailAccountSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get email accounts System.Collections.Generic.IList <EmailAccount> emailAccounts = _emailAccountService.GetAllEmailAccounts(); EmailAccountSettings emailAccountSettings = _settingService.LoadSetting <EmailAccountSettings>(); //prepare grid model EmailAccountListModel model = new EmailAccountListModel { Data = emailAccounts.PaginationByRequestModel(searchModel).Select(emailAccount => { //fill in model values from the entity EmailAccountModel emailAccountModel = emailAccount.ToModel <EmailAccountModel>(); //fill in additional values (not existing in the entity) emailAccountModel.IsDefaultEmailAccount = emailAccount.Id == emailAccountSettings.DefaultEmailAccountId; return(emailAccountModel); }), Total = emailAccounts.Count }; return(model); }
public virtual IActionResult List(EmailAccountSearchModel searchModel) { //prepare model EmailAccountListModel model = _emailAccountModelFactory.PrepareEmailAccountListModel(searchModel); return(Json(model)); }