private int RenderDeliverableColumnTotals(Worksheet worksheet, IDeliverableCategory category, int column, int row) { foreach (var subCategory in category.DeliverableSubCategories) { if (subCategory.DisplayTitle) { foreach (var value in subCategory.ReportValues) { row = NextRow(row); BuildCell(worksheet, value.Total, row, column); ApplyStyleToRow(worksheet, row, _deliverableLineStyle); } row = NextRow(row); BuildCell(worksheet, subCategory.Totals.Total, row, column); ApplyStyleToRow(worksheet, row, _deliverableSubGroupStyle); } else { foreach (var value in subCategory.ReportValues) { row = NextRow(row); BuildCell(worksheet, value.Total, row, column); } } } row = NextRow(row); BuildCell(worksheet, category.Totals.Total, row, column); return(row); }
private int RenderDeliverableCategory(bool firstFundingYear, int monthStart, Worksheet worksheet, IDeliverableCategory category, int row, int?column = null) { foreach (var subCategory in category.DeliverableSubCategories) { if (subCategory.DisplayTitle) { foreach (var value in subCategory.ReportValues) { row = column.HasValue ? NextRow(row) : NextMaxRow(worksheet); BuildRow(firstFundingYear, monthStart, worksheet, value, row, column ?? 0); ApplyStyleToRow(worksheet, row, _deliverableLineStyle); } row = column.HasValue ? NextRow(row) : NextMaxRow(worksheet); BuildRow(firstFundingYear, monthStart, worksheet, subCategory.Totals, row, column ?? 0); ApplyStyleToRow(worksheet, row, _deliverableSubGroupStyle); } else { foreach (var value in subCategory.ReportValues) { row = column.HasValue ? NextRow(row) : NextMaxRow(worksheet); BuildRow(firstFundingYear, monthStart, worksheet, value, row, column ?? 0); ApplyStyleToRow(worksheet, row, _deliverableLineStyle); } } } row = NextRow(row); BuildRow(firstFundingYear, monthStart, worksheet, category.Totals, row, column ?? 0); ApplyStyleToRow(worksheet, row, _deliverableGroupStyle); return(row); }