public string GapsReportExport(GapsClosureModelFilter filter, long userId) { var dataGen = new ExportableDataGenerator <GapsClosureModel, GapsClosureModelFilter>(_eventCustomersReportingService.GetGapsClosureReport, Logger); var model = dataGen.GetData(filter); return(WriteCsvGapClosureCustomer(GetExportableFileName("GapsReportExport"), model.Collection, userId)); }
public ActionResult HealthPlanGapsClosureReport(GapsClosureModelFilter filter = null) { if (filter == null) { filter = new GapsClosureModelFilter(); } filter.AccountId = _sessionContext.UserSession.CurrentOrganizationRole.OrganizationId; return(CreateExportQueue(filter, ExportableReportType.GapsClosure, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId)); }
private RouteValueDictionary GetRouteValueDictionaryForPreApprovedTestStatus(GapsClosureModelFilter filter) { var routeValueDictionary = new RouteValueDictionary { { "FromDate", filter.FromDate }, { "ToDate", filter.ToDate }, { "AccountId", filter.AccountId }, }; if (!filter.CustomTags.IsNullOrEmpty()) { var index = 0; foreach (var customtag in filter.CustomTags) { routeValueDictionary.Add(string.Format("CustomTags[{0}]", index), customtag); index++; } } return(routeValueDictionary); }
public ActionResult GapClosure(GapsClosureModelFilter filter = null, int pageNumber = 1) { int totalRecords; var model = _eventCustomerReportingService.GetGapsClosureReport(pageNumber, _pageSize, filter, out totalRecords); if (model == null) { model = new GapsClosureListModel(); } model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); var routeValueDictionary = GetRouteValueDictionaryForPreApprovedTestStatus(filter); Func <int, string> urlFunc = pn => Url.Action(currentAction, AddRouteValueDictionary(routeValueDictionary, pn)); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); }
public ActionResult GapsClosureReport(GapsClosureModelFilter filter = null) { return(CreateExportQueue(filter, ExportableReportType.GapsClosure, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId)); }
public IEnumerable <EventCustomerPreApprovedTest> GetEventCustomerResultForGapsClosure(int pageNumber, int pageSize, GapsClosureModelFilter filter, out int totalRecords) { using (var adapter = PersistenceLayer.GetDataAccessAdapter()) { var linqMetaData = new LinqMetaData(adapter); filter = filter ?? new GapsClosureModelFilter(); var query = (from vecpat in linqMetaData.VwEventCustomerPreApprovedTestList join ecr in linqMetaData.EventCustomerResult on vecpat.EventCustomerId equals ecr.EventCustomerResultId join ec in linqMetaData.EventCustomers on ecr.EventCustomerResultId equals ec.EventCustomerId join ea in linqMetaData.EventAppointment on ec.AppointmentId equals ea.AppointmentId where ec.AppointmentId != null && ec.NoShow == false && ec.LeftWithoutScreeningReasonId == null select new { vecpat, ec }); if (filter.FromDate.HasValue || filter.ToDate.HasValue) { var eventIds = (from e in linqMetaData.Events where (filter.FromDate != null ? filter.FromDate <= e.EventDate : true) && (filter.ToDate != null ? filter.ToDate >= e.EventDate : true) select e.EventId); query = (from q in query where eventIds.Contains(q.ec.EventId) select q); } if (filter.AccountId > 0) { var eventids = (from a in linqMetaData.EventAccount where a.AccountId == filter.AccountId select a.EventId); query = (from q in query where eventids.Contains(q.ec.EventId) select q);; } if (filter.CustomTags != null && filter.CustomTags.Any()) { var customTagCustomerIds = (from ct in linqMetaData.CustomerTag where ct.IsActive && filter.CustomTags.Contains(ct.Tag) select ct.CustomerId); query = (from q in query where customTagCustomerIds.Contains(q.ec.CustomerId) select q); } var finalQuery = (from q in query orderby q.ec.DateCreated descending select q.vecpat); totalRecords = finalQuery.Count(); var entities = finalQuery.TakePage(pageNumber, pageSize).ToArray(); return(AutoMapper.Mapper.Map <IEnumerable <VwEventCustomerPreApprovedTestListEntity>, IEnumerable <EventCustomerPreApprovedTest> >(entities)); } }