//Ledger
        public IEnumerable <GeneralLedgerLine> GetGeneralLedgerLines(DrOrCrSide drOrCr)
        {
            var drCr = _db.GeneralLedgerLines
                       .Include(gl => gl.GeneralLedgerHeader)
                       .Include(gl => gl.Account)
                       .Where(l => l.DrCr == drOrCr)
                       .AsEnumerable();

            return(drCr);
        }
        public GeneralLedgerLine CreateGeneralLedgerLine(DrOrCrSide DrCr, int accountId, decimal amount)
        {
            var line = new GeneralLedgerLine()
            {
                DrCr      = DrCr,
                AccountId = accountId,
                Amount    = amount,
            };

            return(line);
        }
        public static GeneralLedgerLine Create(Account account, DrOrCrSide drOrCr, decimal amount)
        {
            //Validation Rules: TODO
            //Account can not be null
            //Amount can not be zero or less
            //DrCr should be valid

            var line = new GeneralLedgerLine
            {
                AccountId = account.Id,
                Account   = account,
                DrCr      = drOrCr,
                Amount    = amount
            };

            return(line);
        }
Exemple #4
0
        private static IEnumerable <MasterGeneralLedger> BuildMasterGeneralLedger(
            IEnumerable <GeneralLedgerLine> generalLedgerLines, DrOrCrSide drOrCr)
        {
            var masterGeneralLedgers = generalLedgerLines
                                       .Select(l => new MasterGeneralLedger
            {
                Id            = l.Id,
                TransactionNo = l.GeneralLedgerHeader.Id,
                Reference     = l.GeneralLedgerHeader.Description,
                AccountId     = l.AccountId,
                AccountCode   = l.Account.AccountCode.ToString(),
                AccountName   = l.Account.AccountName,
                Date          = l.GeneralLedgerHeader.Date,
                Debit         = drOrCr == DrOrCrSide.Dr ? l.Amount : 0,
                Credit        = drOrCr == DrOrCrSide.Cr ? l.Amount : 0,
            });

            return(masterGeneralLedgers);
        }
Exemple #5
0
        private decimal GetDebitCreditBalance(DrOrCrSide side)
        {
            decimal balance = 0;

            if (side == DrOrCrSide.Dr)
            {
                var dr = from d in GeneralLedgerLines
                         where d.DrCr == DrOrCrSide.Dr
                         select d;

                balance = dr.Sum(d => d.Amount);
            }
            else
            {
                var cr = from d in GeneralLedgerLines
                         where d.DrCr == DrOrCrSide.Cr
                         select d;

                balance = cr.Sum(d => d.Amount);
            }

            return(balance);
        }
Exemple #6
0
        private decimal GetDebitCreditBalance(DrOrCrSide side)
        {
            decimal balance = 0;

            if (side == DrOrCrSide.Dr)
            {
                var dr = from d in GeneralLedgerLines
                         where d.DrCr == DrOrCrSide.Dr
                         select d;

                balance = dr.Sum(d => d.Amount);
            }
            else
            {
                var cr = from d in GeneralLedgerLines
                         where d.DrCr == DrOrCrSide.Cr
                         select d;

                balance = cr.Sum(d => d.Amount);
            }

            return balance;
        }
 public GeneralLedgerLine CreateGeneralLedgerLine(DrOrCrSide DrCr, int accountId, decimal amount)
 {
     var line = new GeneralLedgerLine()
     {
         DrCr = DrCr,
         AccountId = accountId,
         Amount = amount,
     };
     return line;
 }
 private decimal GetDebitCreditBalance(DrOrCrSide side)
 {
     return(side == DrOrCrSide.Dr ?
            GeneralLedgerLines.Where(l => l.DrCr == DrOrCrSide.Dr).Sum(l => l.Amount) :
            GeneralLedgerLines.Where(l => l.DrCr == DrOrCrSide.Cr).Sum(l => l.Amount));
 }