Esempio n. 1
0
        public ListModelBase <T, N> GetData(N filter)
        {
            var model = Method(_pageNumber, PageSize, filter, out _totalRecords);

            if (_totalRecords < 1)
            {
                return(model);
            }

            Status = (_pageNumber * PageSize) / _totalRecords;

            if (_logger != null)
            {
                _logger.Info("Total Number of Records: " + _totalRecords + " Current Page:  " + _pageNumber);
            }

            if (Status > 100)
            {
                Status = 100;
            }

            if (_model == null)
            {
                _model = model;
            }
            else
            {
                var collection = _model.Collection.ToList();
                collection.AddRange(model.Collection);
                _model.Collection = collection;
            }

            if ((_pageNumber * PageSize) < _totalRecords)
            {
                _pageNumber++;
                GetData(filter);
            }
            _model.Filter = filter;
            return(_model);
        }
Esempio n. 2
0
        public ActionResult CallQueueEstimatedCustomerReport(HealthPlanCallQueueListModelFilter filter = null, int pageNumber = 1)
        {
            int totalRecords;

            filter = filter ?? new HealthPlanCallQueueListModelFilter();
            filter.ShowMailRoundCriteria = true;

            ListModelBase <HealthPlanCallQueueViewModel, HealthPlanCallQueueListModelFilter> model = null;

            totalRecords = 0;
            if (filter.HealthPlanId > 0)
            {
                model = _callQueueCriteriaService.GetHealthPlanCallQueueList(pageNumber, _pageSize, filter, out totalRecords);
            }

            model = model ?? new HealthPlanCallQueueListModel();

            model.Filter = filter;

            var currentAction          = ControllerContext.RouteData.Values["action"].ToString();
            Func <int, string> urlFunc =
                pn =>
                Url.Action(currentAction,
                           new
            {
                pageNumber = pn,
                filter.HealthPlanId,
                filter.CallQueueId,
            });

            model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc);

            return(View(model));
        }