/// <summary>
        /// Prepare paged poll answer list model
        /// </summary>
        /// <param name="searchModel">Poll answer search model</param>
        /// <param name="poll">Poll</param>
        /// <returns>Poll answer list model</returns>
        public virtual PollAnswerListModel PreparePollAnswerListModel(PollAnswerSearchModel searchModel, Poll poll)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (poll == null)
            {
                throw new ArgumentNullException(nameof(poll));
            }

            //get poll answers
            var pollAnswers = poll.PollAnswers.OrderBy(pollAnswer => pollAnswer.DisplayOrder).ToList();

            //prepare list model
            var model = new PollAnswerListModel
            {
                //fill in model values from the entity
                Data = pollAnswers.PaginationByRequestModel(searchModel).Select(pollAnswer => new PollAnswerModel
                {
                    Id            = pollAnswer.Id,
                    PollId        = pollAnswer.PollId,
                    Name          = pollAnswer.Name,
                    NumberOfVotes = pollAnswer.NumberOfVotes,
                    DisplayOrder  = pollAnswer.DisplayOrder
                }),
                Total = pollAnswers.Count
            };

            return(model);
        }
Esempio n. 2
0
 /// <summary>
 /// Search poll answers
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 private IQueryable <PollAnswer> SearchPollAnswers(PollAnswerSearchModel model)
 {
     return(Fetch(pollAnswer => (string.IsNullOrEmpty(model.Keyword)
                                 ||
                                 (!string.IsNullOrEmpty(pollAnswer.AnswerText) &&
                                  pollAnswer.AnswerText.Contains(model.Keyword))) &&
                  (!model.PollId.HasValue || pollAnswer.PollId == model.PollId)));
 }
Esempio n. 3
0
        /// <summary>
        /// Search the poll answers
        /// </summary>
        /// <param name="si"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public JqGridSearchOut SearchPollAnswers(JqSearchIn si, PollAnswerSearchModel model)
        {
            var data = SearchPollAnswers(model);

            var pollAnswers = Maps(data);

            return(si.Search(pollAnswers));
        }
Esempio n. 4
0
        /// <summary>
        /// Export poll answers
        /// </summary>
        /// <param name="si"></param>
        /// <param name="gridExportMode"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public HSSFWorkbook Exports(JqSearchIn si, GridExportMode gridExportMode, PollAnswerSearchModel model)
        {
            var data = gridExportMode == GridExportMode.All ? GetAll() : SearchPollAnswers(model);

            var pollAnswers = Maps(data);

            var exportData = si.Export(pollAnswers, gridExportMode);

            return(ExcelUtilities.CreateWorkBook(exportData));
        }
        /// <summary>
        /// Export poll answers
        /// </summary>
        /// <param name="si"></param>
        /// <param name="gridExportMode"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult Exports(JqSearchIn si, GridExportMode gridExportMode, PollAnswerSearchModel model)
        {
            var workbook = _pollAnswerService.Exports(si, gridExportMode, model);

            var output = new MemoryStream();

            workbook.Write(output);

            return(File(output.ToArray(), "application/vnd.ms-excel", "PollAnswers.xls"));
        }
Esempio n. 6
0
        public virtual IActionResult PollAnswers(PollAnswerSearchModel searchModel)
        {
            //try to get a poll with the specified id
            Poll poll = _pollService.GetPollById(searchModel.PollId)
                        ?? throw new ArgumentException("No poll found with the specified id");

            //prepare model
            PollAnswerListModel model = _pollModelFactory.PreparePollAnswerListModel(searchModel, poll);

            return(Json(model));
        }
Esempio n. 7
0
        public virtual IActionResult PollAnswers(PollAnswerSearchModel searchModel)
        {
            if (!_permissionService.Authorize(StandardPermissionProvider.ManagePolls))
            {
                return(AccessDeniedDataTablesJson());
            }

            //try to get a poll with the specified id
            var poll = _pollService.GetPollById(searchModel.PollId)
                       ?? throw new ArgumentException("No poll found with the specified id");

            //prepare model
            var model = _pollModelFactory.PreparePollAnswerListModel(searchModel, poll);

            return(Json(model));
        }
        /// <summary>
        /// Prepare poll answer search model
        /// </summary>
        /// <param name="searchModel">Poll answer search model</param>
        /// <param name="poll">Poll</param>
        /// <returns>Poll answer search model</returns>
        protected virtual PollAnswerSearchModel PreparePollAnswerSearchModel(PollAnswerSearchModel searchModel, Poll poll)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (poll == null)
            {
                throw new ArgumentNullException(nameof(poll));
            }

            searchModel.PollId = poll.Id;

            //prepare page parameters
            searchModel.SetGridPageSize();

            return(searchModel);
        }
Esempio n. 9
0
        /// <summary>
        /// Prepare paged poll answer list model
        /// </summary>
        /// <param name="searchModel">Poll answer search model</param>
        /// <param name="poll">Poll</param>
        /// <returns>Poll answer list model</returns>
        public virtual PollAnswerListModel PreparePollAnswerListModel(PollAnswerSearchModel searchModel, Poll poll)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (poll == null)
            {
                throw new ArgumentNullException(nameof(poll));
            }

            //get poll answers
            var pollAnswers = _pollService.GetPollAnswerByPoll(poll.Id, searchModel.Page - 1, searchModel.PageSize);

            //prepare list model
            var model = new PollAnswerListModel().PrepareToGrid(searchModel, pollAnswers,
                                                                () => pollAnswers.Select(pollAnswer => pollAnswer.ToModel <PollAnswerModel>()));

            return(model);
        }
Esempio n. 10
0
        /// <summary>
        /// Prepare paged poll answer list model
        /// </summary>
        /// <param name="searchModel">Poll answer search model</param>
        /// <param name="poll">Poll</param>
        /// <returns>Poll answer list model</returns>
        public virtual PollAnswerListModel PreparePollAnswerListModel(PollAnswerSearchModel searchModel, Poll poll)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            if (poll == null)
            {
                throw new ArgumentNullException(nameof(poll));
            }

            //get poll answers
            var pollAnswers = poll.PollAnswers.OrderBy(pollAnswer => pollAnswer.DisplayOrder).ToList().ToPagedList(searchModel);

            //prepare list model
            var model = new PollAnswerListModel().PrepareToGrid(searchModel, pollAnswers,
                                                                () => pollAnswers.Select(pollAnswer => pollAnswer.ToModel <PollAnswerModel>()));

            return(model);
        }
Esempio n. 11
0
 public string _AjaxBinding(JqSearchIn si, PollAnswerSearchModel model)
 {
     return(JsonConvert.SerializeObject(_pollAnswerService.SearchPollAnswers(si, model)));
 }
Esempio n. 12
0
        public ActionResult Index()
        {
            var model = new PollAnswerSearchModel();

            return(View(model));
        }