Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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));
        }