コード例 #1
0
 public List <AccountBalance> GetAccountsBalanceListByAccountsYearID(int accountsYearID, int officeID)
 {
     return(AccountBalanceIntegration.GetAccountsBalanceListByAccountsYearID(accountsYearID, officeID));
 }
コード例 #2
0
 public int UpdateFinyearOpeningBalance(AccountBalance theAccountBalance)
 {
     return(AccountBalanceIntegration.UpdateFinyearOpeningBalance(theAccountBalance));
 }
コード例 #3
0
        /// <summary>
        /// Get Opening & Closing Balance
        /// </summary>
        /// <param name="officeID"></param>
        /// <param name="accountID"></param>
        /// <param name="accountYearID"></param>
        /// <param name="fromDate"></param>
        /// <param name="toDate"></param>
        /// <param name="openingBalance"></param>
        /// <param name="closingBalance"></param>
        /// <param name="currentFinYearStartDate"></param>
        public void GetOpeningAndClosingBalance(int officeID, int accountID, int accountYearID, DateTime fromDate, DateTime toDate, out decimal openingBalance, out decimal closingBalance, out DateTime currentFinYearStartDate)
        {
            //OUTPUT PARAMETERS
            openingBalance          = 0;
            closingBalance          = 0;
            currentFinYearStartDate = DateTime.Today;

            try
            {
                decimal TotalDebit     = 0;
                decimal TotalCredit    = 0;
                decimal DebitFromDate  = 0;
                decimal CreditFromDate = 0;

                //Get all the Accounts Balance by Account YearID
                List <AccountBalance> theAccountBalanceList = AccountBalanceIntegration.GetAccountsBalanceListByAccountsYearID(accountYearID, officeID);

                if (theAccountBalanceList.Count > 0)
                {
                    //Get the single Account Balance by AccountID
                    AccountBalance theAccountBalance = theAccountBalanceList.Where(ab => ab.AccountsID == accountID).SingleOrDefault();

                    //Get all valid Posted Accounts Transactions list
                    List <Voucher_BatchPosting> theAccountTransactionList = new List <Voucher_BatchPosting>();
                    theAccountTransactionList = AccountsTransactionManagement.GetInstance.GetValidTransactionsList();

                    var theACTList = new List <Voucher_BatchPosting>();
                    //Get all valid Posted Accounts Transactions list filter By Transaction Date which is -(To Date) - given by the user
                    theACTList = theAccountTransactionList.Where(ac => ac.OfficeID == officeID &&
                                                                 ac.ACC_YEAR_ID == accountYearID &&
                                                                 ac.AccountsID == accountID &&
                                                                 (DateTime.Parse(ac.TranDate) <= toDate)).ToList();


                    TotalDebit  = theACTList.Where(ac => ac.BalanceType.Equals(BalanceTypeDebit) && DateTime.Parse(ac.TranDate) <= toDate).Sum(ac => ac.TranAmount);
                    TotalCredit = theACTList.Where(ac => ac.BalanceType.Equals(BalanceTypeCredit) && DateTime.Parse(ac.TranDate) <= toDate).Sum(ac => ac.TranAmount);


                    ////Total Debit and Credit amount count on (ToDate) -  given by the user
                    DebitFromDate  = theACTList.Where(ac => ac.BalanceType.Equals(BalanceTypeDebit) && DateTime.Parse(ac.TranDate) < fromDate).Sum(ac => ac.TranAmount);
                    CreditFromDate = theACTList.Where(ac => ac.BalanceType.Equals(BalanceTypeCredit) && DateTime.Parse(ac.TranDate) < fromDate).Sum(ac => ac.TranAmount);

                    currentFinYearStartDate = DateTime.Parse(theAccountBalance.FinYearStartDate);
                    //-----------------------------------------------------------------------------
                    // CALCULATING THE CLOSING BALANCE:
                    //-----------------------------------------------------------------------------
                    if (theAccountBalance.FinYearOpeningBalanceType.Equals(BalanceTypeDebit))
                    {
                        openingBalance = (DebitFromDate + theAccountBalance.FinYearOpeningBalance) - CreditFromDate;
                        closingBalance = (TotalDebit + theAccountBalance.FinYearOpeningBalance) - TotalCredit;
                    }
                    else if (theAccountBalance.FinYearOpeningBalanceType.Equals(BalanceTypeCredit))
                    {
                        openingBalance = (CreditFromDate + theAccountBalance.FinYearOpeningBalance) - DebitFromDate;
                        closingBalance = (TotalCredit + theAccountBalance.FinYearOpeningBalance) - TotalDebit;
                    }

                    //-----------------------------------------------------------------------------
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
            }
        }