Example #1
0
        private FundingSummaryReportHeaderModel TestHeader(string conRefNumber, int years)
        {
            var header = new FundingSummaryReportHeaderModel
            {
                Ukprn = "12345678",
                ContractReferenceNumber         = conRefNumber,
                ProviderName                    = "Provider",
                SecurityClassification          = "OFFICIAL - SENSITIVE",
                LastSupplementaryDataFileUpdate = "01/08/2020 09:00",
                SupplementaryDataFile           = "SUPPDATA_01",
                IlrFileDetails                  = new List <IlrFileDetail>
                {
                    new IlrFileDetail
                    {
                        Year              = 2018,
                        AcademicYear      = "2018/19",
                        IlrFile           = "Ilr1819.xml",
                        MostRecent        = "(most recent closed collection for year)",
                        LastIlrFileUpdate = "01/08/2018 09:00",
                        FilePrepDate      = "01/08/2018 09:00",
                    },
                    new IlrFileDetail
                    {
                        Year              = 2019,
                        AcademicYear      = "2019/20",
                        IlrFile           = "Ilr1920.xml",
                        MostRecent        = "(most recent closed collection for year)",
                        LastIlrFileUpdate = "01/08/2019 09:00",
                        FilePrepDate      = "01/08/2019 09:00",
                    }
                }
            };

            if (years == 3)
            {
                header.IlrFileDetails.Add(new IlrFileDetail
                {
                    Year              = 2020,
                    AcademicYear      = "2020/21",
                    IlrFile           = "Ilr2021.xml",
                    LastIlrFileUpdate = "01/08/2020 09:00",
                    FilePrepDate      = "01/08/2020 09:00",
                });
            }

            return(header);
        }
        public FundingSummaryReportHeaderModel PopulateReportHeader(
            SourceFileModel sourceFile,
            IEnumerable <ILRFileDetails> ilrFileData,
            int ukPrn,
            string providerName,
            string conRefNumber,
            int collectionYear,
            int baseIlrYear,
            IDictionary <int, string> academicYearDictionary)
        {
            var ilrFileDetailModels = BuildIlrFileDetailModelsForYears(collectionYear, baseIlrYear, academicYearDictionary);

            var lastSupplementaryDataFileUpdateUk = sourceFile?.SuppliedDate.HasValue ?? false?_dateTimeProvider.ConvertUtcToUk(sourceFile.SuppliedDate.Value) : (DateTime?)null;

            foreach (var model in ilrFileDetailModels)
            {
                var ilrData = ilrFileData?.Where(x => x?.Year == model.Year).FirstOrDefault();

                if (ilrData != null)
                {
                    var lastIlrFileUpdateUk = ilrData.LastSubmission.HasValue ? _dateTimeProvider.ConvertUtcToUk(ilrData.LastSubmission.Value) : (DateTime?)null;

                    model.IlrFile           = !string.IsNullOrWhiteSpace(ilrData?.FileName) ? Path.GetFileName(ilrData?.FileName) : null;
                    model.FilePrepDate      = ilrData?.FilePreparationDate?.ToString(ReportingConstants.ShortDateFormat);
                    model.LastIlrFileUpdate = lastIlrFileUpdateUk?.ToString(ReportingConstants.LongDateFormat);
                }
            }

            var header = new FundingSummaryReportHeaderModel
            {
                Ukprn                           = ukPrn.ToString(),
                ProviderName                    = providerName,
                ContractReferenceNumber         = conRefNumber,
                SecurityClassification          = ReportingConstants.Classification,
                SupplementaryDataFile           = !string.IsNullOrWhiteSpace(sourceFile?.FileName) ? Path.GetFileName(sourceFile?.FileName) : null,
                LastSupplementaryDataFileUpdate = lastSupplementaryDataFileUpdateUk?.ToString(ReportingConstants.LongDateFormat),
                IlrFileDetails                  = ilrFileDetailModels
            };

            return(header);
        }
Example #3
0
        private Worksheet RenderHeader(Worksheet worksheet, int row, FundingSummaryReportHeaderModel header)
        {
            worksheet.Cells.ImportTwoDimensionArray(
                new object[, ]
            {
                { FundingSummaryReportConstants.HeaderProviderName, header.ProviderName },
                { FundingSummaryReportConstants.HeaderUkprn, header.Ukprn },
                { FundingSummaryReportConstants.HeaderContractNumber, header.ContractReferenceNumber },
                { FundingSummaryReportConstants.HeaderEsfFileName, header.SupplementaryDataFile },
                { FundingSummaryReportConstants.HeaderEsfFileUpdated, header.LastSupplementaryDataFileUpdate },
                { FundingSummaryReportConstants.HeaderClassification, header.SecurityClassification },
            },
                row,
                0);

            var rowsToStyle = row + 6;

            while (row <= rowsToStyle)
            {
                ApplyStyleToRow(worksheet, row, _headerAndFooterStyle);

                row++;
            }

            var column       = 3;
            var ilrHeaderRow = 1;

            worksheet.Cells.ImportObjectArray(
                new object[]
            {
                string.Empty,
                FundingSummaryReportConstants.HeaderIlrFileName,
                FundingSummaryReportConstants.HeaderIlrFileUpdated,
                FundingSummaryReportConstants.HeaderIlrFilePrepDate,
                string.Empty,
            },
                ilrHeaderRow,
                column,
                true);

            foreach (var ilrDetail in header.IlrFileDetails)
            {
                column = NextColumn(column);

                worksheet.Cells.ImportObjectArray(
                    new object[]
                {
                    ilrDetail.AcademicYear,
                    ilrDetail.IlrFile,
                    ilrDetail.LastIlrFileUpdate,
                    ilrDetail.FilePrepDate,
                    ilrDetail.MostRecent,
                },
                    ilrHeaderRow,
                    column,
                    true);

                column = NextColumn(column);
            }

            return(worksheet);
        }