示例#1
0
        public virtual IActionResult List(PollSearchModel searchModel)
        {
            //prepare model
            PollListModel model = _pollModelFactory.PreparePollListModel(searchModel);

            return(Json(model));
        }
示例#2
0
        public virtual IActionResult List()
        {
            //prepare model
            PollSearchModel model = _pollModelFactory.PreparePollSearchModel(new PollSearchModel());

            return(View(model));
        }
示例#3
0
        public virtual IActionResult List(PollSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManagePolls))
            {
                return(AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = _pollModelFactory.PreparePollListModel(searchModel);

            return(Json(model));
        }
        public virtual async Task <IActionResult> List(PollSearchModel searchModel)
        {
            if (!await _permissionService.AuthorizeAsync(StandardPermissionProvider.ManagePolls))
            {
                return(await AccessDeniedDataTablesJson());
            }

            //prepare model
            var model = await _pollModelFactory.PreparePollListModelAsync(searchModel);

            return(Json(model));
        }
示例#5
0
        /// <summary>
        /// Prepare poll search model
        /// </summary>
        /// <param name="searchModel">Poll search model</param>
        /// <returns>Poll search model</returns>
        public virtual PollSearchModel PreparePollSearchModel(PollSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }



            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
        /// <summary>
        /// Prepare poll search model
        /// </summary>
        /// <param name="searchModel">Poll search model</param>
        /// <returns>Poll search model</returns>
        public virtual PollSearchModel PreparePollSearchModel(PollSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare available stores
            _baseAdminModelFactory.PrepareStores(searchModel.AvailableStores);

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
示例#7
0
        /// <summary>
        /// Prepare poll search model
        /// </summary>
        /// <param name="searchModel">Poll search model</param>
        /// <returns>Poll search model</returns>
        public virtual PollSearchModel PreparePollSearchModel(PollSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //prepare available stores
            _baseAdminModelFactory.PrepareStores(searchModel.AvailableStores);

            searchModel.HideStoresList = _catalogSettings.IgnoreStoreLimitations || searchModel.AvailableStores.SelectionIsNotPossible();

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
        /// <summary>
        /// Prepare paged poll list model
        /// </summary>
        /// <param name="searchModel">Poll search model</param>
        /// <returns>Poll list model</returns>
        public virtual PollListModel PreparePollListModel(PollSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get polls
            var polls = _pollService.GetPolls(showHidden: true,
                                              storeId: searchModel.SearchStoreId,
                                              pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            var model = new PollListModel
            {
                Data = polls.Select(poll =>
                {
                    //fill in model values from the entity
                    var pollModel = poll.ToModel <PollModel>();

                    //convert dates to the user time
                    if (poll.StartDateUtc.HasValue)
                    {
                        pollModel.StartDate = _dateTimeHelper.ConvertToUserTime(poll.StartDateUtc.Value, DateTimeKind.Utc);
                    }
                    if (poll.EndDateUtc.HasValue)
                    {
                        pollModel.EndDate = _dateTimeHelper.ConvertToUserTime(poll.EndDateUtc.Value, DateTimeKind.Utc);
                    }

                    //fill in additional values (not existing in the entity)
                    pollModel.LanguageName = _languageService.GetLanguageById(poll.LanguageId)?.Name;

                    return(pollModel);
                }),
                Total = polls.TotalCount
            };

            return(model);
        }
示例#9
0
        /// <summary>
        /// Prepare paged poll list model
        /// </summary>
        /// <param name="searchModel">Poll search model</param>
        /// <returns>
        /// A task that represents the asynchronous operation
        /// The task result contains the poll list model
        /// </returns>
        public virtual async Task <PollListModel> PreparePollListModelAsync(PollSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get polls
            var polls = await _pollService.GetPollsAsync(showHidden : true,
                                                         storeId : searchModel.SearchStoreId,
                                                         pageIndex : searchModel.Page - 1, pageSize : searchModel.PageSize);

            //prepare list model
            var model = await new PollListModel().PrepareToGridAsync(searchModel, polls, () =>
            {
                return(polls.SelectAwait(async poll =>
                {
                    //fill in model values from the entity
                    var pollModel = poll.ToModel <PollModel>();

                    //convert dates to the user time
                    if (poll.StartDateUtc.HasValue)
                    {
                        pollModel.StartDateUtc = await _dateTimeHelper.ConvertToUserTimeAsync(poll.StartDateUtc.Value, DateTimeKind.Utc);
                    }
                    if (poll.EndDateUtc.HasValue)
                    {
                        pollModel.EndDateUtc = await _dateTimeHelper.ConvertToUserTimeAsync(poll.EndDateUtc.Value, DateTimeKind.Utc);
                    }

                    //fill in additional values (not existing in the entity)
                    pollModel.LanguageName = (await _languageService.GetLanguageByIdAsync(poll.LanguageId))?.Name;

                    return pollModel;
                }));
            });

            return(model);
        }
示例#10
0
        /// <summary>
        /// Prepare paged poll list model
        /// </summary>
        /// <param name="searchModel">Poll search model</param>
        /// <returns>Poll list model</returns>
        public virtual PollListModel PreparePollListModel(PollSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            //get polls
            var polls = _pollService.GetPolls(showHidden: true,
                                              storeId: 0, pageIndex: searchModel.Page - 1, pageSize: searchModel.PageSize);

            //prepare list model
            PollListModel model = new PollListModel
            {
                Data = polls.Select(poll =>
                {
                    //fill in model values from the entity
                    PollModel pollModel = poll.ToModel <PollModel>();

                    //convert dates to the user time
                    if (poll.StartDateUtc.HasValue)
                    {
                        pollModel.StartDate = poll.StartDateUtc.Value;
                    }
                    if (poll.EndDateUtc.HasValue)
                    {
                        pollModel.EndDate = poll.EndDateUtc.Value;
                    }

                    return(pollModel);
                }),
                Total = polls.TotalCount
            };

            return(model);
        }