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); }
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); }