private async void Init()
 {
     IsReportLoaded = true;
     report         = new BalanceSheetReport();
     LedgerAccounts = new ObservableCollection <LedgerAccount>(await Service.GetAllLedgerAccountsAsync());
     Ledgergenerals = new ObservableCollection <LedgerGeneral>(await Service.GetAllLedgerGeneralsAsync());
 }
Esempio n. 2
0
        public List <BalanceSheetReport> GetBalance(List <GLAccount> glAccounts, string type)
        {
            var   list         = new List <BalanceSheetReport>();
            float balance      = 0;
            float debitAmount  = 0;
            float creditAmount = 0;
            var   accountName  = "";

            if (type.Equals("Liability"))
            {
                var accounts = _context.CustomerAccounts.ToList();
                accountName = "Liability";
                foreach (var account in accounts)
                {
                    balance = balance + account.AccountBalance;
                }

                creditAmount = balance;
            }
            else
            {
                var accounts = glAccounts.Where(c => c.GlCategories.Name.Equals(type)).ToList();
                foreach (var account in accounts)
                {
                    balance = balance + account.AccountBalance;
                }
            }

            if (type == "Cash")
            {
                accountName = "Asset";
                debitAmount = balance;
            }
            else if (type == "Income")
            {
                accountName = "Account Receivable";
                debitAmount = balance;
            }
            else if (type == "Expense")
            {
                accountName  = "Account Payable";
                creditAmount = balance;
            }
            else if (type == "Equity")
            {
                accountName  = "Capital";
                creditAmount = balance;
            }
            var balanceSheet = new BalanceSheetReport()
            {
                AccountName  = accountName,
                CreditAmount = creditAmount,
                DebitAmount  = debitAmount,
                PostingType  = "None"
            };

            list.Add(balanceSheet);
            return(list);
        }
Esempio n. 3
0
        public List <BalanceSheetReport> GetBalanceSheetReports()
        {
            var financialReports  = _context.FinancialReports.ToList();
            var list              = new List <BalanceSheetReport>();
            var customerSCAccount = new BalanceSheetReport()
            {
                AccountName  = "Customer Savings/Current Account",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Teller Posting"
            };
            var customerLoanAccount = new BalanceSheetReport()
            {
                AccountName  = "Customer Loan Account",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Loan Disbursement"
            };

            var accountPayable = new BalanceSheetReport()
            {
                AccountName  = "Account Payable",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Interest Expense"
            };
            var accountReceivable = new BalanceSheetReport()
            {
                AccountName  = "Account Receivable",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Loan Repayment"
            };
            var capitalAccount = new BalanceSheetReport()
            {
                AccountName  = "Capital Account",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "GL Posting"
            };
            var tillAccount = new BalanceSheetReport()
            {
                AccountName  = "Till Account",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "GL Posting"
            };

            foreach (var report in financialReports)
            {
                var creditAccount         = report.CreditAccount;
                var creditAmount          = report.CreditAmount;
                var creditAccountCategory = report.CreditAccountCategory;
                var debitAccount          = report.DebitAccount;
                var debitAmount           = report.DebitAmount;
                var debitAccountCategory  = report.DebitAccountCategory;
                if (creditAccountCategory.Equals("Liability"))
                {
                    var glAccount =
                        _context.GlAccounts.SingleOrDefault(c => c.Name.Equals(creditAccount));

                    if (glAccount == null)
                    {
                        var customerAcc = _context.CustomerAccounts.SingleOrDefault(c => c.Name.Equals(creditAccount));
                        if (customerAcc.AccountTypeId == CBA.LOAN_ACCOUNT_TYPE_ID)
                        {
                            customerLoanAccount.DebitAmount = customerLoanAccount.DebitAmount + creditAmount;
                        }
                        customerSCAccount.CreditAmount = customerSCAccount.CreditAmount + creditAmount;
                    }
                    else
                    {
                        if (glAccount.Name.Equals(CBA.INTEREST_PAYABLE_GL_ACCOUNT))
                        {
                            accountPayable.CreditAmount = accountPayable.CreditAmount + creditAmount;
                        }
                    }
                }
                else if (creditAccountCategory.Equals("Expense"))
                {
                    accountPayable.CreditAmount = accountPayable.CreditAmount + creditAmount;
                }
                else if (creditAccountCategory.Equals("Capital"))// CAPITAL
                {
                    capitalAccount.CreditAmount = capitalAccount.CreditAmount + creditAmount;
                }

                if (debitAccountCategory.Equals("Asset"))
                {
                    var glAccount =
                        _context.GlAccounts.SingleOrDefault(c => c.Name.Equals(debitAccount));
                    if (glAccount == null)
                    {
                        customerLoanAccount.DebitAmount = customerLoanAccount.DebitAmount + debitAmount;
                    }
                    else
                    {
                        if (glAccount.Name.Equals(CBA.INTEREST_RECEIVABLE_ACC_NAME))
                        {
                            accountReceivable.DebitAmount = accountReceivable.DebitAmount + debitAmount;
                        }
                        else
                        {
                            tillAccount.DebitAmount = tillAccount.DebitAmount + debitAmount;
                        }
                    }
                }
                else if (debitAccountCategory.Equals("Income"))
                {
                    accountReceivable.DebitAmount = accountReceivable.DebitAmount + debitAmount;
                }
            }

            list.Add(tillAccount);
            list.Add(customerLoanAccount);
            list.Add(accountReceivable);
            list.Add(customerSCAccount);
            list.Add(accountPayable);
            list.Add(capitalAccount);
            return(list);
        }
Esempio n. 4
0
        public HttpResponseMessage TrialBalance()
        {
            var financialReports  = _context.FinancialReports.ToList();
            var list              = new List <BalanceSheetReport>();
            var customerSCAccount = new BalanceSheetReport()
            {
                AccountName  = "Customer Savings/Current Account",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Teller Posting"
            };
            var customerLoanAccount = new BalanceSheetReport()
            {
                AccountName  = "Customer Loan Account",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Loan Disbursement"
            };

            var accountPayable = new BalanceSheetReport()
            {
                AccountName  = "Account Payable",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Interest Expense"
            };
            var accountReceivable = new BalanceSheetReport()
            {
                AccountName  = "Account Receivable",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Loan Repayment"
            };
            var income = new BalanceSheetReport()
            {
                AccountName  = "Income",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Loan Repayment"
            };
            var expense = new BalanceSheetReport()
            {
                AccountName  = "Expense",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "Loan Repayment"
            };
            var capitalAccount = new BalanceSheetReport()
            {
                AccountName  = "Capital Account",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "GL Posting"
            };
            var tillAccount = new BalanceSheetReport()
            {
                AccountName  = "Cash",
                CreditAmount = 0,
                DebitAmount  = 0,
                PostingType  = "GL Posting"
            };

            foreach (var report in financialReports)
            {
                var creditAccount         = report.CreditAccount;
                var creditAmount          = report.CreditAmount;
                var creditAccountCategory = report.CreditAccountCategory;
                var debitAccount          = report.DebitAccount;
                var debitAmount           = report.DebitAmount;
                var debitAccountCategory  = report.DebitAccountCategory;
                if (creditAccountCategory.Equals("Liability")) // LIABILITY
                {
                    var glAccount =
                        _context.GlAccounts.SingleOrDefault(c => c.Name.Equals(creditAccount));
                    if (glAccount != null && glAccount.Name.Equals(CBA.INTEREST_PAYABLE_GL_ACCOUNT))
                    {
                        accountPayable.CreditAmount = accountPayable.CreditAmount + creditAmount;
                    }
                    else
                    {
                        customerSCAccount.CreditAmount = customerSCAccount.CreditAmount + creditAmount;
                    }
                }

                else if (creditAccountCategory.Equals("Capital")) // CAPITAL
                {
                    capitalAccount.CreditAmount = capitalAccount.CreditAmount + creditAmount;
                }
                else if (creditAccountCategory.Equals("Income"))
                {
                    income.CreditAmount = income.CreditAmount + creditAmount;
                }

                if (debitAccountCategory.Equals("Asset")) // ASSET
                {
                    var glAccount =
                        _context.GlAccounts.SingleOrDefault(c => c.Name.Equals(debitAccount));
                    if (glAccount == null)
                    {
                        customerLoanAccount.DebitAmount = customerLoanAccount.DebitAmount + debitAmount;
                    }
                    else if (glAccount.Name.Equals(CBA.INTEREST_RECEIVABLE_ACC_NAME) || glAccount.Name.Equals(CBA.COT_INCOME_RECEIVABLE_GL_ACC_NAME))
                    {
                        accountReceivable.DebitAmount = accountReceivable.DebitAmount + debitAmount;
                    }

                    else
                    {
                        tillAccount.DebitAmount = tillAccount.DebitAmount + debitAmount;
                    }
                }
                else if (debitAccountCategory.Equals("Expense")) // EXPENSE
                {
                    expense.DebitAmount = expense.DebitAmount + debitAmount;
                }
            }

            list.Add(tillAccount);
            list.Add(accountReceivable);
            list.Add(customerLoanAccount);
            list.Add(customerSCAccount);
            list.Add(accountPayable);
            list.Add(capitalAccount);
            list.Add(income);
            list.Add(expense);

            return(Request.CreateResponse(HttpStatusCode.OK, list));
        }