public ActionResult CallSkippedReport(CallSkippedReportFilter filter = null, int pageNumber = 1) { int totalRecords = 0; if (filter == null) { filter = new CallSkippedReportFilter { DateFrom = DateTime.Now, DateTo = DateTime.Now.Date } } ; var model = _callSkippedReportService.GetCallSkippedReport(pageNumber, _pageSize, filter, out totalRecords); var currentAction = ControllerContext.RouteData.Values["action"].ToString(); var routeValueDictionary = new RouteValueDictionary { { "CallQueueId", filter.CallQueueId }, { "DateFrom", filter.DateFrom }, { "DateTo", filter.DateTo }, { "CustomerId", filter.CustomerId }, { "HealthPlanId", filter.HealthPlanId }, { "AgentId", filter.AgentId }, { "AgentName", filter.AgentName } }; Func <int, string> urlFunc = pn => Url.Action(currentAction, AddRouteValueDictionary(routeValueDictionary, pn)); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); }
public string CallSkippedReportExport(CallSkippedReportFilter filter, long userId) { var dataGen = new ExportableDataGenerator <CallSkippedReportViewModel, CallSkippedReportFilter>(_callSkippedReportService.GetCallSkippedReport, Logger); var model = dataGen.GetData(filter); var exporter = ExportableDataGeneratorProcessManager <ViewModelBase, ModelFilterBase> .GetCsvExporter <CallSkippedReportViewModel>(); return(WriteCsv(GetExportableFileName("CallSkippedReport"), exporter, model.Collection, userId)); }
public void CallSkippedReportAsync(string id = null, CallSkippedReportFilter filter = null) { if (id == null) { return; } AsyncManager.OutstandingOperations.Increment(); var dataGen = new ExportableDataGenerator <CallSkippedReportViewModel, CallSkippedReportFilter>(_callSkippedReportService.GetCallSkippedReport); var processmanager = new ExportableDataGeneratorProcessManager <CallSkippedReportViewModel, CallSkippedReportFilter>(); processmanager.Add(id, dataGen); GetNewProcessStarted(filter, dataGen, id); }
public IEnumerable <CallSkippedReportEditModel> GetForCallSkippedReport(int pageNumber, int pageSize, CallSkippedReportFilter filter, out int totalRecords) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(adapter); var query = from gdfscr in linqMetaData.VwGetDataForSkippedCallReport select gdfscr; //moved this to View with No Lock //var query = (from ccqc in linqMetaData.CustomerCallQueueCallAttempt // join cqc in linqMetaData.CallQueueCustomer on ccqc.CallQueueCustomerId equals cqc.CallQueueCustomerId // where ccqc.IsCallSkipped == true // select new { ccqc, cqc }); if (filter != null) { if (filter.DateTo == null && filter.DateFrom == null && filter.CallQueueId <= 0 && filter.HealthPlanId <= 0 && filter.CustomerId <= 0) //user hit CLEAR button { filter.DateTo = DateTime.Today; filter.DateFrom = DateTime.Today; } if (filter.CallQueueId > 0) { query = query.Where(x => x.CallQueueId == filter.CallQueueId); } if (filter.HealthPlanId > 0) { query = query.Where(x => x.HealthPlanId == filter.HealthPlanId); } if (filter.CustomerId > 0) { query = query.Where(x => x.CustomerId == filter.CustomerId); } //name filter if (filter.AgentId == 0 && string.Compare(filter.AgentName, "No records found", StringComparison.InvariantCultureIgnoreCase) == 0) { query = query.Where(x => x.AgentId == 0); } else if (filter.AgentId > 0) { query = query.Where(x => x.AgentId == filter.AgentId); } //date filters if (filter.DateFrom.HasValue && filter.DateTo.HasValue) { query = query.Where(x => x.SkipCallDate.Date >= filter.DateFrom.Value.Date && x.SkipCallDate.Date <= filter.DateTo.Value.Date); } else if (!filter.DateFrom.HasValue && filter.DateTo.HasValue) { query = query.Where(x => x.SkipCallDate.Date <= filter.DateTo.Value.Date); } else if (filter.DateFrom.HasValue && !filter.DateTo.HasValue) { query = query.Where(x => x.SkipCallDate.Date >= filter.DateFrom.Value.Date); } } totalRecords = query.Count(); var entities = query.TakePage(pageNumber, pageSize).OrderByDescending(x => x.SkipCallDate).ToList(); return(Mapper.Map <IEnumerable <VwGetDataForSkippedCallReportEntity>, IEnumerable <CallSkippedReportEditModel> >(entities)); } }
public ActionResult CallSkippedReport(CallSkippedReportFilter filter = null) { return(CreateExportQueue(filter, ExportableReportType.CallSkippedReport, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId)); }