示例#1
0
        public void RefreshDisplayLines()
        {
            DisplayedTransactionLines.Clear();
            using (var context = new ERPContext())
            {
                SetBeginningBalanceFromDatabaseContext(context);
                var balanceTracker = _selectedBeginningBalance;

                var transactionLines = context.Ledger_Transaction_Lines
                    .Where(e => e.LedgerAccountID == _selectedAccount.ID && e.LedgerTransaction.Date.Month == _selectedMonth)
                    .Include("LedgerTransaction")
                    .Include("LedgerAccount")
                    .OrderBy(e => e.LedgerTransaction.Date);

                if (_selectedClass == "Asset" || _selectedClass == "Expense") _normalSeq = "Debit";
                else _normalSeq = "Credit";

                foreach (var opposingLine in transactionLines.ToList().Select(
                    line => new LedgerTransactionLineVM { Model = line }).SelectMany(lineVM => lineVM.OpposingLines))
                {
                    opposingLine.Seq = opposingLine.Seq == "Debit" ? "Credit" : "Debit";

                    if (_normalSeq == opposingLine.Seq) balanceTracker += opposingLine.Amount;
                    else balanceTracker -= opposingLine.Amount;

                    if (opposingLine.Seq == "Debit") _totalDebit += opposingLine.Amount;
                    else _totalCredit += opposingLine.Amount;

                    opposingLine.Balance = balanceTracker;
                    DisplayedTransactionLines.Add(opposingLine);
                }
                _selectedEndingBalance = balanceTracker;
            }
        }
示例#2
0
 private void ResetUI()
 {
     TotalDebit = 0;
     TotalCredit = 0;
     DisplayedTransactionLines.Clear();
 }