// 帳票で使用 public List <YosanJissekiRow> GetYosanJissekiRowList() { List <YosanJissekiRow> list = new List <YosanJissekiRow>(); YosanJissekiRow kubunStartRow = null; YosanJissekiRow daikubunStartRow = null; foreach (var yosanRow in yosanTable.GetYosanList(KaikeiKubun)) { YosanJissekiRow row = GetYosanJissekiRow((int)yosanRow.DetailKubunId); row.KubunId = (int)yosanRow.KubunId; row.DaikubunId = (int)yosanRow.DaikubunId; if (kubunStartRow == null || kubunStartRow.KubunId != yosanRow.KubunId) { kubunStartRow = row; } if (daikubunStartRow == null || daikubunStartRow.DaikubunId != yosanRow.DaikubunId) { daikubunStartRow = row; } if (yosanRow.DisplayOnly == false) { kubunStartRow.YosanKubun += row.Yosan; kubunStartRow.JissekiKubun += row.Jisseki; daikubunStartRow.YosanDaikubun += row.Yosan; daikubunStartRow.JissekiDaikubun += row.Jisseki; } list.Add(row); } return(list); }
private void CalcSummaryRows() { int rootId = (int)models.constants.MTKamokuKubun.ShikinRoot; Dictionary <int, int> kubunId2summaryRowsIndex = new Dictionary <int, int>(); foreach (var kubunRow in db.MTKamokuKubun.SelectChildren(rootId, order:"order by display_order")) { int kubunId = kubunRow.GetId(); summaryRows.Add(new YosanJissekiRow(kubunId, null, 0, 0, db)); kubunId2summaryRowsIndex[kubunId] = summaryRows.Count - 1; } SyuunyuuGoukeiRow = new YosanJissekiRow(SummaryKubunIdSyuunyuuGoukei, "収入合計", 0, 0, db); summaryRows.Add(SyuunyuuGoukeiRow); ShisyutsuGoukeiRow = new YosanJissekiRow(SummaryKubunIdShisyutsuGoukei, "支出合計", 0, 0, db); summaryRows.Add(ShisyutsuGoukeiRow); SyuushiGoukeiRow = new YosanJissekiRow(SummaryKubunIdSyuushiGoukei, "収支合計", 0, 0, db); summaryRows.Add(SyuushiGoukeiRow); foreach (var yosanRow in yosanTable.GetYosanList(KaikeiKubun)) { int kubunId = (int)yosanRow.KubunId; int kamokuId = (int)yosanRow.DetailKubunId; int index = kubunId2summaryRowsIndex[kubunId]; long yosan = yosanRow.YosanHonnenDisplay; long jisseki = kamokuKubunSummary.SummaryItem(kamokuId).GetTaisyaku(db);; if (yosanRow.DisplayOnly) { continue; } if (db.MTKamokuKubun.IsSyuunyuuKamoku(kubunId)) { SyuunyuuGoukeiRow.AddYosan(yosan); SyuunyuuGoukeiRow.AddJisseki(jisseki); SyuushiGoukeiRow.AddYosan(yosan); SyuushiGoukeiRow.AddJisseki(jisseki); } else { ShisyutsuGoukeiRow.AddYosan(yosan); ShisyutsuGoukeiRow.AddJisseki(jisseki); SyuushiGoukeiRow.AddYosan(-yosan); SyuushiGoukeiRow.AddJisseki(-jisseki); } summaryRows[index].AddYosan(yosan); summaryRows[index].AddJisseki(jisseki); } }