【发布时间】:2018-05-11 18:13:56
【问题描述】:
我正在尝试计算我的两列的余额。我尝试了很多方法。但没有运气。
例如:
我想得到这样的结果:
借记 贷记 余额
===== ====== =======
125.00 0.00 125.00
236.00 0.00 361.00
0.00 100.00 261.00
我的代码
var filteredSales = (from av in db.AccountVouchers
join l in db.Ledgers on new {LedgerID = (Int32) av.LedgerID} equals new {LedgerID = l.LedgerID}
join sm in db.SalesMasters on av.VoucherNo equals sm.BillNo.ToString()
where (av.VoucherDate >= FromDate && av.VoucherDate <= ToDate && av.LedgerID == LedgerID)
group new {av, l, sm} by new
{
av.VoucherDate,
l.LedgerName,
av.VoucherType,
av.VoucherNo,
sm.REFNO,
av.Debit,
av.Credit,
av.Narration
}
into g
select new
{
g.Key.VoucherDate,
g.Key.LedgerName,
g.Key.VoucherType,
VoucherNo = (g.Key.VoucherType != "SALES" ? g.Key.REFNO : g.Key.VoucherNo),
//g.Key.VoucherNo,
g.Key.Debit,
g.Key.Credit,
g.Key.Narration,
dSum = g.Sum(s => s.av.Debit),
//Balance=g.Key.Debit-g.Key.Credit,
// TBal = int.Parse(TBal) + (g.Key.Debit != 0 ? TBal + g.Key.Debit : TBal - g.Key.Credit))
}).ToList();
【问题讨论】:
-
Caculate balance是什么意思?你只需要显示你想要的结果 -
你想做什么?运行总数?还是您也需要更新记录?
标签: c# asp.net-mvc linq