private void UpdateDisplayedLines() { DisplayedLines.Clear(); SetBeginningBalance(); _endingBalance = _beginningBalance; using (var context = new ERPContext()) { var lines = context.Ledger_Transaction_Lines .Include("LedgerAccount") .Include("LedgerTransaction") .Where(line => line.LedgerAccount.Name.Equals("Cash") && line.LedgerTransaction.Date.Equals(_date)) .ToList(); var account = new LedgerAccount { ID = -1, Name = "Sales Receipt", Class = "Asset" }; var transaction = new LedgerTransaction { ID = -1, Date = _date, Description = "Sales Receipt", Documentation = "Sales Receipt" }; var salesreceiptLine = new LedgerTransactionLine { LedgerTransaction = transaction, LedgerAccount = account, Seq = "Debit" }; foreach (var line in lines) { var lineVM = new LedgerTransactionLineVM { Model = line }; foreach (var oppositeLine in lineVM.OpposingLines) { if (!oppositeLine.Description.Equals("Sales Transaction Receipt")) { if (line.Seq == "Credit") { oppositeLine.Amount = -oppositeLine.Amount; } DisplayedLines.Add(new LedgerTransactionLineVM { Model = oppositeLine.Model, Balance = _beginningBalance + oppositeLine.Amount }); } else { salesreceiptLine.Amount += oppositeLine.Amount; } _endingBalance += oppositeLine.Amount; oppositeLine.Balance = _endingBalance; } } if (salesreceiptLine.Amount > 0) { DisplayedLines.Add(new LedgerTransactionLineVM { Model = salesreceiptLine, Balance = _endingBalance }); } } OnPropertyChanged("EndingBalance"); }
private void UpdateDisplayedLines() { DisplayedLines.Clear(); SetBeginningBalance(); _endingBalance = _beginningBalance; using (var context = new ERPContext()) { var lines = context.Ledger_Transaction_Lines .Include("LedgerAccount") .Include("LedgerTransaction") .Where(line => line.LedgerAccount.Name.Equals("Cash") && line.LedgerTransaction.Date.Equals(_date)) .ToList(); var account = new LedgerAccount { ID = -1, Name = "Sales Receipt", Class = "Asset" }; var transaction = new LedgerTransaction { ID = -1, Date = _date, Description = "Sales Receipt", Documentation = "Sales Receipt" }; var salesreceiptLine = new LedgerTransactionLine { LedgerTransaction = transaction, LedgerAccount = account, Seq = "Debit" }; foreach (var line in lines) { var lineVM = new LedgerTransactionLineVM { Model = line }; foreach (var oppositeLine in lineVM.OpposingLines) { if (!oppositeLine.Description.Equals("Sales Transaction Receipt")) { if (line.Seq == "Credit") oppositeLine.Amount = -oppositeLine.Amount; DisplayedLines.Add(new LedgerTransactionLineVM { Model = oppositeLine.Model, Balance = _beginningBalance + oppositeLine.Amount }); } else salesreceiptLine.Amount += oppositeLine.Amount; _endingBalance += oppositeLine.Amount; oppositeLine.Balance = _endingBalance; } } if (salesreceiptLine.Amount > 0) DisplayedLines.Add(new LedgerTransactionLineVM { Model = salesreceiptLine, Balance = _endingBalance }); } OnPropertyChanged("EndingBalance"); }