Exemple #1
0
        private Worksheet RenderBody(Worksheet worksheet, int currentPeriod, IFundingSummaryReportTab fundingSummaryReportTab)
        {
            var row = NextMaxRow(worksheet) + 1;

            // Title
            worksheet.Cells.ImportObjectArray(new object[] { fundingSummaryReportTab.Title }, row, 0, false);
            ApplyStyleToRow(worksheet, row, _reportTitleStyle);

            // Categories
            var models = fundingSummaryReportTab.Body.OrderBy(x => x.Year).ToArray();

            var lastDataRow = RenderDeliverables(worksheet, models, row);

            ApplyItalics(worksheet, models.Length, lastDataRow, currentPeriod);

            return(worksheet);
        }
Exemple #2
0
        public async Task RenderAsync(IEsfJobContext esfJobContext, IFundingSummaryReportTab fundingSummaryReportTab, Worksheet worksheet)
        {
            var maxReportYear = fundingSummaryReportTab.Body.Select(x => x.Year).Max();
            var currentYear   = int.Parse(string.Concat("20", esfJobContext.StartCollectionYearAbbreviation));

            var currentPeriod = GetCurrentPeriod(maxReportYear, currentYear, esfJobContext.CurrentPeriod);

            ColumnCount = CalculateColumns(fundingSummaryReportTab.Body.Count());

            worksheet.Workbook.DefaultStyle  = _defaultStyle;
            worksheet.Cells.StandardWidth    = 20;
            worksheet.Cells.Columns[0].Width = 65;

            RenderHeader(worksheet, NextMaxRow(worksheet), fundingSummaryReportTab.Header);

            RenderBody(worksheet, currentPeriod, fundingSummaryReportTab);

            RenderFooter(worksheet, NextMaxRow(worksheet) + 1, fundingSummaryReportTab.Footer);

            AddImageToReport(worksheet);

            UpdateColumnProperties(worksheet);
        }