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);
        }
Example #2
0
        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));
        }
Example #3
0
        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));
        }
Example #4
0
        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);
            }
        }