예제 #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 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);
        }
        /// <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
            var emailAccounts = _emailAccountService.GetAllEmailAccounts().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);
        }
예제 #3
0
        public virtual IActionResult List(EmailAccountSearchModel searchModel)
        {
            //prepare model
            EmailAccountListModel model = _emailAccountModelFactory.PrepareEmailAccountListModel(searchModel);

            return(Json(model));
        }
예제 #4
0
        public virtual IActionResult List()
        {
            //prepare model
            EmailAccountSearchModel model = _emailAccountModelFactory.PrepareEmailAccountSearchModel(new EmailAccountSearchModel());

            return(View(model));
        }
예제 #5
0
        /// <summary>
        /// Prepare email account search model
        /// </summary>
        /// <param name="searchModel">Email account search model</param>
        /// <returns>Email account search model</returns>
        public virtual EmailAccountSearchModel PrepareEmailAccountSearchModel(EmailAccountSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
예제 #6
0
        public virtual IActionResult List(EmailAccountSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManageEmailAccounts))
            {
                return(AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = _emailAccountModelFactory.PrepareEmailAccountListModel(searchModel);

            return(Json(model));
        }
        /// <returns>A task that represents the asynchronous operation</returns>
        public virtual async Task <IActionResult> List(EmailAccountSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManageEmailAccounts))
            {
                return(await AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = await _emailAccountModelFactory.PrepareEmailAccountListModelAsync(searchModel);

            return(Json(model));
        }
예제 #8
0
        /// <summary>
        /// Prepare email account search model
        /// </summary>
        /// <param name="searchModel">Email account search model</param>
        /// <returns>Email account search model</returns>
        public virtual Task <EmailAccountSearchModel> PrepareEmailAccountSearchModelAsync(EmailAccountSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(Task.FromResult(searchModel));
        }