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)); }
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)); }
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)); } }
public ActionResult CallQueueSchedulingReport(CallQueueSchedulingReportFilter filter = null) { return(CreateExportQueue(filter, ExportableReportType.CallQueueSchedulingReport, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId)); }