private RouteValueDictionary GetRouteValueDictionaryForMemberStatus(MemberStatusListModelFilter filter) { var routeValueDictionary = new RouteValueDictionary { { "FirstName", filter.FirstName }, { "LastName", filter.LastName }, { "CustomerId", filter.CustomerId }, { "IsAttendedCustomers", filter.IsAttendedCustomers }, { "IsNotAttendedCustomers", filter.IsNotAttendedCustomers }, { "IsPublicEvent", filter.IsPublicEvent }, { "IsPrivateEvent", filter.IsPrivateEvent }, { "Tag", filter.Tag }, { "DoNotContactOnly", filter.DoNotContactOnly }, { "IncludeDoNotContact", filter.IncludeDoNotContact }, { "EligibleStatus", filter.EligibleStatus }, { "HealthPlanId", filter.HealthPlanId }, { "Year", filter.Year }, { "TargetMemberStatus", filter.TargetMemberStatus }, { "CallAttemptFilter", filter.CallAttemptFilter }, { "ProductTypeId", filter.ProductTypeId } }; if (!filter.CustomTags.IsNullOrEmpty()) { var index = 0; foreach (var customtag in filter.CustomTags) { routeValueDictionary.Add(string.Format("CustomTags[{0}]", index), customtag); index++; } } return(routeValueDictionary); }
private void GenerateMemberStatusListCsvByFilter(MemberStatusListModelFilter filter, CorporateAccount account) { _logger.Info(string.Format("Generating Member Status Report for {0}", account.Tag)); var dataGen = new ExportableDataGenerator <MemberStatusModel, MemberStatusListModelFilter>(_eventCustomerReportingService.GetMemberStatusReport, _logger); var model = dataGen.GetData(filter); if (model != null && model.Collection != null && model.Collection.Any()) { var fileName = string.Format("WellMed_Monthly_Cumulative_Status_Report_{0}.csv", DateTime.Now.ToString("yyyyMM")); var csvFileName = GetCsvFileName(account, fileName); WriteCsv(csvFileName, model.Collection); if (_settings.WellmedMemberStatusReportSendToSftp) { if (ExportReportOnWellMedSftp(fileName, csvFileName)) { _logger.Info("File posted on client SFTP"); } else { _logger.Info("File didn't posted,some error occurred."); } } } else { _logger.Info("No records found"); } }
public string MemberStatusReportExport(MemberStatusListModelFilter filter, long userId) { var dataGen = new ExportableDataGenerator <MemberStatusModel, MemberStatusListModelFilter>(_eventCustomerReportingService.GetMemberStatusReport, Logger); var model = dataGen.GetData(filter); return(WriteCsvMemberStatus(GetExportableFileName("HealthPlanMemberStatusReport"), model.Collection, userId)); }
public ActionResult HealthPlanMemberStatusReport(MemberStatusListModelFilter filter = null) { if (filter == null) { filter = new MemberStatusListModelFilter(); } filter.HealthPlanId = _sessionContext.UserSession.CurrentOrganizationRole.OrganizationId; return(CreateExportQueue(filter, ExportableReportType.MemberStatusReport, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId)); }
public void PollForMemberStatusReport() { try { if (_accountId <= 0) { _logger.Info("Corporate Account Id Not found"); return; } var today = DateTime.Today; var dayOfMonth = new DateTime(today.Year, today.Month, _dayOfMonth); if (dayOfMonth != today) { _logger.Info("Report is schedule to run on " + _dayOfMonth + " of every month"); _logger.Info("Today is " + today); _logger.Info(string.Format("Set day of month to {0} to run today ", _dayOfMonth)); return; } var account = _corporateAccountRepository.GetById(_accountId); if (account == null) { _logger.Info("Corporate Account Not found"); return; } _logger.Info("Starting Member Status Report for " + account.Tag); var filter = new MemberStatusListModelFilter { EligibleStatus = EligibleFilterStatus.OnlyEligible, IncludeDoNotContact = true, DoNotContactOnly = false, Tag = account.Tag, Year = today.Year, CallAttemptFilter = CallAttemptFilterStatus.All, ConsiderEligibiltyFromHistory = true }; GenerateMemberStatusListCsvByFilter(filter, account); _logger.Info("Completed Member Status Report for " + account.Tag); } catch (Exception ex) { _logger.Error("Some error occured on Member status Report account Id " + _accountId); _logger.Error("Exception: " + ex.Message); _logger.Error("Stack Trace: " + ex.StackTrace); } }
public void GetGetMemberForReportTester() { var filter = new MemberStatusListModelFilter { EligibleStatus = EligibleFilterStatus.OnlyEligible, IncludeDoNotContact = true, DoNotContactOnly = false, Tag = "Wellmed", Year = 2018, CallAttemptFilter = CallAttemptFilterStatus.All, ConsiderEligibiltyFromHistory = true }; ICustomerRepository customerRepository = new CustomerRepository(); int totalRecors; var reports = customerRepository.GetMemberForReport(1, 100, filter, out totalRecors); Assert.IsNotNull(reports); }
private void GenerateMemberStatusListCsvByFilter(MemberStatusListModelFilter filter, CorporateAccount account) { _logger.Info(string.Format("Generating Member Status Report for filter : Tag {0}", filter.Tag)); var dataGen = new ExportableDataGenerator <MemberStatusModel, MemberStatusListModelFilter>(_eventCustomerReportingService.GetMemberStatusReport, _logger); var model = dataGen.GetData(filter); if (model != null) { var fileName = GetCsvFileName(account); var exporter = ExportableDataGeneratorProcessManager <ViewModelBase, ModelFilterBase> .GetCsvExporter <MemberStatusModel>(); if (model.Collection != null && model.Collection.Any()) { _baseExportableReportHelper.GenerateCsv(fileName, exporter, model.Collection); } } }
public ActionResult MemberStatusReport(MemberStatusListModelFilter filter = null, int pageNumber = 1) { int totalRecords; var model = _eventCustomerReportingService.GetMemberStatusReport(pageNumber, _pageSize, filter, out totalRecords); if (model == null) { model = new MemberStatusListModel(); } model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); var routeValueDictionary = GetRouteValueDictionaryForMemberStatus(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 HealthPlanMemberStatusReport(MemberStatusListModelFilter filter = null, int pageNumber = 1) { int totalRecords; filter = filter ?? new MemberStatusListModelFilter(); filter.HealthPlanId = _sessionContext.UserSession.CurrentOrganizationRole.OrganizationId; var model = _eventCustomerReportingService.GetMemberStatusReport(pageNumber, _pageSize, filter, out totalRecords) ?? new MemberStatusListModel(); model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); var routeValueDictionary = GetRouteValueDictionaryForMemberStatus(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 MemberStatusReport(MemberStatusListModelFilter filter = null) { return(CreateExportQueue(filter, ExportableReportType.MemberStatusReport, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId)); }
public void PollForMemberStatusReport() { try { if (_accountIds.IsNullOrEmpty()) { _logger.Info("Corporate Account Ids Not found"); return; } var accounts = _corporateAccountRepository.GetByIds(_accountIds); if (accounts.IsNullOrEmpty()) { _logger.Info("Corporate Accounts Not found"); return; } foreach (var account in accounts) { try { _logger.Info("Starting for Member Status Report for " + account.Tag); var bcbsTags = new string[0]; if (account.Id == _settings.BcbsScAccountId && !string.IsNullOrEmpty(_bcbsSouthCarolinaCustomTag)) { bcbsTags = _bcbsSouthCarolinaCustomTag.Split(',').ToArray(); bcbsTags = bcbsTags.Where(x => !string.IsNullOrEmpty(x)).ToArray(); } var filter = new MemberStatusListModelFilter { EligibleStatus = EligibleFilterStatus.OnlyEligible, IncludeDoNotContact = true, DoNotContactOnly = false, Tag = account.Tag, CustomTags = bcbsTags, CallAttemptFilter = CallAttemptFilterStatus.All, }; GenerateMemberStatusListCsvByFilter(filter, account); _logger.Info("Completed for Member Status Report for " + account.Tag); } catch (Exception ex) { _logger.Error("Some error occured on Member status Report for Account Tag : " + account.Tag); _logger.Error("Exception: " + ex.Message); _logger.Error("Stack Trace: " + ex.StackTrace); } } } catch (Exception ex) { _logger.Error("Some error occured on Member status Report"); _logger.Error("Exception: " + ex.Message); _logger.Error("Stack Trace: " + ex.StackTrace); } }