Exemplo n.º 1
0
        public ActionResult CallQueueSchedulingReport(CallQueueSchedulingReportFilter filter = null, int pageNumber = 1)
        {
            int totalRecords;

            filter = filter ?? new CallQueueSchedulingReportFilter();
            var model = _callCenterReportService.GetHealthPlanCallQueueReport(pageNumber, _pageSize, filter, out totalRecords);

            model = model ?? new CallQueueSchedulingReportListModel();

            model.Filter = filter;

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

            model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc);
            return(View(model));
        }
Exemplo n.º 2
0
        public string CallQueueSchedulingReportExport(CallQueueSchedulingReportFilter filter, long userId)
        {
            var dataGen = new ExportableDataGenerator <CallQueueSchedulingReportModel, CallQueueSchedulingReportFilter>(_callCenterReportService.GetHealthPlanCallQueueReport, Logger);

            var model = dataGen.GetData(filter);

            var exporter = ExportableDataGeneratorProcessManager <ViewModelBase, ModelFilterBase> .GetCsvExporter <CallQueueSchedulingReportModel>();

            return(WriteCsv(GetExportableFileName("CallQueueSchedulingReport"), exporter, model.Collection, userId));
        }
Exemplo n.º 3
0
        public void CallQueueSchedulingReportAsync(string id = null, CallQueueSchedulingReportFilter filter = null)
        {
            if (id == null)
            {
                return;
            }

            AsyncManager.OutstandingOperations.Increment();
            var dataGen = new ExportableDataGenerator <CallQueueSchedulingReportModel, CallQueueSchedulingReportFilter>(_callCenterReportService.GetHealthPlanCallQueueReport);

            var processmanager = new ExportableDataGeneratorProcessManager <CallQueueSchedulingReportModel, CallQueueSchedulingReportFilter>();

            processmanager.Add(id, dataGen);

            GetNewProcessStarted(filter, dataGen, id);
        }
        public IEnumerable <CallQueueCustomerCallDetails> GetHealthPlanCallQueueCallReports(CallQueueSchedulingReportFilter filter, int pageNumber, int pageSize, out int totalRecords)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData = new LinqMetaData(adapter);

                filter = filter ?? new CallQueueSchedulingReportFilter();

                var query = (from ocr in linqMetaData.VwCallQueueCustomerCallDetails select ocr);

                if (filter.HealthPlanId > 0)
                {
                    query = (from ocr in linqMetaData.VwCallQueueCustomerCallDetails where ocr.HealthPlanId == filter.HealthPlanId select ocr);
                }

                if (filter.CallQueueId > 0)
                {
                    query = (from ocr in query where ocr.CallQueueId == filter.CallQueueId select ocr);
                }

                if (filter.DateFrom.HasValue && filter.DateTo.HasValue)
                {
                    query = (from cqc in query where cqc.DateCreated >= filter.DateFrom && cqc.DateCreated <= filter.DateTo.Value.AddDays(1) select cqc);
                }
                else if (filter.DateFrom.HasValue && !filter.DateTo.HasValue)
                {
                    query = (from cqc in query where cqc.DateCreated >= filter.DateFrom select cqc);
                }
                else if (!filter.DateFrom.HasValue && filter.DateTo.HasValue)
                {
                    query = (from cqc in query where cqc.DateCreated <= filter.DateTo.Value.AddDays(1) select cqc);
                }



                totalRecords = query.Count();

                var entities = query.OrderByDescending(x => x.DateCreated).Skip((pageNumber - 1) * pageSize).Take(pageSize).ToArray();

                return(Mapper.Map <IEnumerable <VwCallQueueCustomerCallDetailsEntity>, IEnumerable <CallQueueCustomerCallDetails> >(entities));
            }
        }
Exemplo n.º 5
0
 public ActionResult CallQueueSchedulingReport(CallQueueSchedulingReportFilter filter = null)
 {
     return(CreateExportQueue(filter, ExportableReportType.CallQueueSchedulingReport, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId));
 }