public List <AccountBalance> GetAccountsBalanceListByAccountsYearID(int accountsYearID, int officeID) { return(AccountBalanceIntegration.GetAccountsBalanceListByAccountsYearID(accountsYearID, officeID)); }
public int UpdateFinyearOpeningBalance(AccountBalance theAccountBalance) { return(AccountBalanceIntegration.UpdateFinyearOpeningBalance(theAccountBalance)); }
/// <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 { } }