private void WriteCategoryDetailsSheet(GLRecapCategory cat)
        {
            var subTitle = cat.AccountType.ToString() + " Details";

            _xl.AddWorksheet(subTitle);
            WriteSheetHeader(subTitle);

            var startCol = 2;
            var acctSpan = 4;
            var dateSpan = 1;
            var txnSpan  = 8;
            var rowCount = cat.Sum(_ => _.Count);
            var nextCol  = startCol;

            WriteGLAccountsColumn(cat, ref nextCol, acctSpan);

            WriteDatesColumn(cat, ref nextCol, dateSpan);

            WriteTransctionDescCol(cat, txnSpan, ref nextCol);
            WriteTotalsRowLabel(nextCol - txnSpan, txnSpan);

            WriteDetailAmounts(cat, ref nextCol, "Debit", _ => _.AsDebit);
            SummarizeCurrentColumn(rowCount);

            WriteDetailAmounts(cat, ref nextCol, "Credit", _ => _.AsCredit);
            SummarizeCurrentColumn(rowCount);

            SetRowHeights(rowCount);
        }
Esempio n. 2
0
        private void WriteCatSmryAmounts(GLRecapCategory cat, int colNum, string colLabel, Func <GLRecapAccountGroup, decimal?> getter)
        {
            WriteColHeader(colLabel, colNum, 15);

            foreach (var row in cat)
            {
                _xl.WriteNumber(getter(row));
            }
        }
Esempio n. 3
0
        private void WriteCatSmryRowNames(GLRecapCategory cat, int colNum, int colSpan)
        {
            var headr = $"{cat.AccountType.ToString()} accounts";

            WriteMergedColHeader(headr, colNum, colSpan);

            foreach (var row in cat)
            {
                var rng = _xl.WriteMergedText(row.Account.Name, 1,
                                              colSpan, ExcelHorizontalAlignment.Left);
                rng.Style.Indent = 1;
            }
        }
        private void WriteDetailAmounts(GLRecapCategory cat, ref int colNum, string colLabel, Func <GLRecapAllocation, decimal?> getter)
        {
            WriteColHeader(colLabel, colNum, 15);

            foreach (var acctGrp in cat)
            {
                foreach (var alloc in acctGrp)
                {
                    _xl.WriteNumber(getter(alloc));
                }
            }
            colNum += 1;
        }
        private void WriteDatesColumn(GLRecapCategory cat, ref int colNum, int colSpan)
        {
            WriteColHeader("date", colNum, 15);

            foreach (var acctGrp in cat)
            {
                foreach (var alloc in acctGrp)
                {
                    _xl.WriteDate(alloc.Request.RequestDate);
                }
            }
            colNum += colSpan;
        }
        private void WriteGLAccountsColumn(GLRecapCategory cat, ref int colNum, int colSpan)
        {
            WriteMergedColHeader("group", colNum, colSpan);

            foreach (var acctGrp in cat)
            {
                foreach (var alloc in acctGrp)
                {
                    var rng = _xl.WriteMergedText(acctGrp.Account.Name, 1,
                                                  colSpan, ExcelHorizontalAlignment.Left);
                    rng.Style.Indent = 1;
                }
            }
            colNum += colSpan;
        }
        private void WriteTransctionDescCol(GLRecapCategory cat, int colSpan, ref int colNum)
        {
            WriteMergedColHeader("description", colNum, colSpan);

            foreach (var acctGrp in cat)
            {
                foreach (var alloc in acctGrp)
                {
                    var rng = _xl.WriteMergedText(alloc.Request.Purpose, 1,
                                                  colSpan, ExcelHorizontalAlignment.Left);
                    rng.Style.Indent = 1;
                }
            }
            colNum += colSpan;
        }
Esempio n. 8
0
        private void WriteCategorySummarySheet(GLRecapCategory cat)
        {
            var subTitle = cat.AccountType.ToString() + " Summary";

            _xl.AddWorksheet(subTitle);
            WriteSheetHeader(subTitle);

            var labelCol = 2;
            var colSpan  = 8;

            WriteCatSmryRowNames(cat, labelCol, colSpan);
            WriteTotalsRowLabel(labelCol, colSpan);

            var nextCol  = labelCol + colSpan;
            var rowCount = cat.Count;

            WriteCatSmryAmounts(cat, nextCol, "Debit", _ => _.TotalDebits);
            SummarizeCurrentColumn(rowCount);

            WriteCatSmryAmounts(cat, nextCol + 1, "Credit", _ => _.TotalCredits);
            SummarizeCurrentColumn(rowCount);

            SetRowHeights(rowCount);
        }