private bool GenerateReport(string destinationFolder, string fileName, GiftCertificateReportFilter filter) { var completePath = Path.Combine(destinationFolder, fileName); var dataGen = new ExportableDataGenerator <GiftCertificateReportOptumViewModel, GiftCertificateReportFilter>(_giftCerificateOptumReportService.GetGiftCertificateOptumReport, _logger); var model = dataGen.GetData(filter); if (model != null && !model.Collection.IsNullOrEmpty()) { _logger.Info("Writing Gift Certificate Report"); var exporter = ExportableDataGeneratorProcessManager <ViewModelBase, ModelFilterBase> .GetCsvExporter <GiftCertificateReportOptumViewModel>(); _logger.Info("Record count" + model.Collection.Count()); DirectoryOperationsHelper.CreateDirectoryIfNotExist(destinationFolder); DirectoryOperationsHelper.DeleteFileIfExist(completePath); _baseExportableReportHelper.GenerateCsv(completePath, exporter, model.Collection); _logger.Info("completed Gift Certificate Report for account tag " + filter.Tag); _logger.Info("Destination Path: " + completePath); return(true); } return(false); }
public string GiftCerificateExport(GiftCertificateReportFilter filter, long userId) { var dataGen = new ExportableDataGenerator <GiftCertificateReportViewModel, GiftCertificateReportFilter>(_financeReportingService.GetGiftCertificateReport, Logger); var model = dataGen.GetData(filter); return(WriteCsvGiftCertificate(GetExportableFileName("GiftCerificateExport"), model.Collection, userId)); }
public ActionResult GiftCertificate(GiftCertificateReportFilter filter = null, int pageNumber = 1) { int totalRecords; filter = filter ?? new GiftCertificateReportFilter(); var model = _financeReportingService.GetGiftCertificateReport(pageNumber, _pageSize, filter, out totalRecords) ?? new GiftCertificateReportListModel(); model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.EventId, filter.HealthPlanId, filter.CustomerId, filter.EventFrom, filter.EventTo }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); return(View(model)); }
private bool GenerateReport(string destinationFolder, DateTime startDate, DateTime endDate, CorporateAccount account, string folderName) { var filter = new GiftCertificateReportFilter { HealthPlanId = account.Id, EventFrom = startDate, EventTo = endDate, Tag = account.Tag }; var acesClientShortName = !string.IsNullOrWhiteSpace(account.AcesClientShortName) ? account.AcesClientShortName : "NoClientSortName_" + account.Tag; var fileName = string.Format("GiftCard_{0}_{1}_{2}.csv", acesClientShortName, folderName, endDate.ToString("MMddyyyy")); GenerateReport(destinationFolder, fileName, filter); GenerateReport(destinationFolder, fileName, filter); return(true); }
public ActionResult GiftCertificate(GiftCertificateReportFilter filter = null) { return(CreateExportQueue(filter, ExportableReportType.GiftCertificate, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId)); }
public void PollGiftCertificateOptumReport() { try { var corporateAccounts = _corporateAccountRepository.GetByIds(_settings.GiftCerificateOptumAccountIds); if (corporateAccounts.IsNullOrEmpty()) { _logger.Info("No Account Found to run Report"); return; } var fromDate = DateTime.Today.GetFirstDateOfYear(); DateTime toDate = DateTime.Today; _logger.Info("starting for PollGiftCerificateOptumReport "); foreach (var account in corporateAccounts) { if (account.Id == _applecareAccountId && _runReportForAppleCareDaysOfWeek != DateTime.Today.DayOfWeek) { _logger.Info(string.Format("Today is {0}. Job is set to run on {1} for Account Tag {2}.", DateTime.Today.DayOfWeek, _runReportForAppleCareDaysOfWeek, account.Tag)); continue; } if (account.Id != _applecareAccountId && (long)DateTime.Today.DayOfWeek != _settings.GiftCerificateOptumDayServiceRun) { _logger.Info("Today is Day of Week is " + DateTime.Today.DayOfWeek); _logger.Info("Service will run on Day of Week " + (DayOfWeek)_settings.GiftCerificateOptumDayServiceRun); return; } _logger.Info("starting for Account : " + account.Tag); var destinationFoler = string.Format(_settings.GiftCerificateOptumDownloadPath, account.FolderName); if (account.Id == _applecareAccountId) { destinationFoler = string.Format(_settings.GiftCertificateReportDownloadPath, account.FolderName); } if (account.Id != _applecareAccountId) { try { DirectoryOperationsHelper.DeleteDirectory(destinationFoler, true); } catch (Exception ex) { _logger.Error("Some error occurred while deleting directory at path: " + destinationFoler); _logger.Error("Message: " + ex.Message); _logger.Error("Stack Trace: " + ex.StackTrace); } } DirectoryOperationsHelper.CreateDirectoryIfNotExist(destinationFoler); var lastReportRunDate = toDate.AddDays(-7); if (toDate.Year == lastReportRunDate.Year) { var fileName = "GiftCardReport_" + DateTime.Today.ToString("yyyyMMdd") + ".csv"; var filter = new GiftCertificateReportFilter { HealthPlanId = account.Id, EventFrom = fromDate, EventTo = toDate, Tag = account.Tag }; var isReportGenerated = GenerateReport(destinationFoler, fileName, filter); if (account.Id != _applecareAccountId) { if (!isReportGenerated) { filter = new GiftCertificateReportFilter { HealthPlanId = account.Id, EventFrom = new DateTime((fromDate.Year - 1), 1, 1), EventTo = new DateTime((fromDate.Year - 1), 12, 31), Tag = account.Tag }; isReportGenerated = GenerateReport(destinationFoler, fileName, filter); if (!isReportGenerated) { WriteHeader(Path.Combine(destinationFoler, fileName)); } } } } else if (lastReportRunDate.Year < toDate.Year) { fromDate = new DateTime(lastReportRunDate.Year, 1, 1); var toforPreviousYearDate = fromDate.GetLastDateOfYear(); var filter = new GiftCertificateReportFilter { HealthPlanId = account.Id, EventFrom = fromDate, EventTo = toforPreviousYearDate, Tag = account.Tag }; var fileName = "GiftCardReport_" + toforPreviousYearDate.ToString("yyyyMMdd") + ".csv"; GenerateReport(destinationFoler, fileName, filter); filter = new GiftCertificateReportFilter { HealthPlanId = account.Id, EventFrom = toDate.GetFirstDateOfYear(), EventTo = toDate, Tag = account.Tag }; fileName = "GiftCardReport_" + toDate.ToString("yyyyMMdd") + ".csv"; GenerateReport(destinationFoler, fileName, filter); } } } catch (Exception ex) { _logger.Error("Message: " + ex.Message); _logger.Error("Stack Trace: " + ex.StackTrace); } }