/// <summary> /// Updates the account balance. /// </summary> /// <param name="faArmortizationEntity">The fa armortization entity.</param> public string UpdateAccountBalance(FAArmortizationEntity faArmortizationEntity) { var fixedAssetArmortizationDetails = FAArmortizationDetailDao.GetFAArmortizationDetailsByFAArmortization(faArmortizationEntity.RefId); foreach (var fixedAssetArmortizationDetail in fixedAssetArmortizationDetails) { string message; var accountBalanceForDebit = AddAccountBalanceForDebit(faArmortizationEntity, fixedAssetArmortizationDetail); var accountBalanceForDebitExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceForDebit); if (accountBalanceForDebitExit != null) { message = UpdateAccountBalance(accountBalanceForDebitExit, accountBalanceForDebit.MovementDebitAmountOC, accountBalanceForDebit.MovementDebitAmountExchange, false, 1); if (message != null) { return(message); } } var accountBalanceForCredit = AddAccountBalanceForCredit(faArmortizationEntity, fixedAssetArmortizationDetail); var accountBalanceForCreditExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceForCredit); if (accountBalanceForCreditExit != null) { message = UpdateAccountBalance(accountBalanceForCreditExit, accountBalanceForCredit.MovementCreditAmountOC, accountBalanceForCredit.MovementCreditAmountExchange, false, 2); if (message != null) { return(message); } } } return(null); }
/// <summary> /// Inserts the account balance. /// </summary> /// <param name="faArmortizationEntity">The fa armortization entity.</param> /// <param name="faArmortizationDetailEntity">The fa armortization detail entity.</param> public void InsertAccountBalance(FAArmortizationEntity faArmortizationEntity, FAArmortizationDetailEntity faArmortizationDetailEntity) { //insert AccountBalance for debit account var accountBalanceForDebit = AddAccountBalanceForDebit(faArmortizationEntity, faArmortizationDetailEntity); var accountBalanceForDebitExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceForDebit); if (accountBalanceForDebitExit != null) { UpdateAccountBalance(accountBalanceForDebitExit, accountBalanceForDebit.MovementDebitAmountOC, accountBalanceForDebit.MovementDebitAmountExchange, true, 1); } else { AccountBalanceDao.InsertAccountBalance(accountBalanceForDebit); } //insert AccountBalance for credit account var accountBalanceForCredit = AddAccountBalanceForCredit(faArmortizationEntity, faArmortizationDetailEntity); var accountBalanceForCreditExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceForCredit); if (accountBalanceForCreditExit != null) { UpdateAccountBalance(accountBalanceForCreditExit, accountBalanceForCredit.MovementCreditAmountOC, accountBalanceForCredit.MovementCreditAmountExchange, true, 2); } else { AccountBalanceDao.InsertAccountBalance(accountBalanceForCredit); } }
/// <summary> /// Adds the journal entry account. /// </summary> /// <param name="faArmortizationEntity">The fa armortization entity.</param> /// <param name="faArmortizationDetailEntity">The fa armortization detail entity.</param> /// <returns></returns> public JournalEntryAccountEntity AddJournalEntryAccount(FAArmortizationEntity faArmortizationEntity, FAArmortizationDetailEntity faArmortizationDetailEntity) { return(new JournalEntryAccountEntity { RefId = faArmortizationEntity.RefId, RefTypeId = faArmortizationEntity.RefTypeId, RefNo = faArmortizationEntity.RefNo, RefDate = faArmortizationEntity.RefDate, PostedDate = faArmortizationEntity.PostedDate, JournalMemo = faArmortizationEntity.JournalMemo, CurrencyCode = faArmortizationDetailEntity.CurrencyCode, ExchangeRate = (decimal)faArmortizationDetailEntity.ExchangeRate, BankAccount = null, RefDetailId = faArmortizationDetailEntity.RefDetailId, AccountNumber = faArmortizationDetailEntity.AccountNumber, CorrespondingAccountNumber = faArmortizationDetailEntity.CorrespondingAccountNumber, AmountOc = faArmortizationDetailEntity.AmountOC, Description = faArmortizationDetailEntity.Description, AmountExchange = faArmortizationDetailEntity.AmountExchange, BudgetSourceCode = faArmortizationDetailEntity.BudgetSourceCode, BudgetItemCode = faArmortizationDetailEntity.BudgetItemCode, AccountingObjectId = null, MergerFundId = null, VoucherTypeId = faArmortizationDetailEntity.VoucherTypeId, ProjectId = faArmortizationDetailEntity.ProjectId }); }
/// <summary> /// Deletes the fa armortization. /// </summary> /// <param name="fAArmortization">The f a armortization.</param> /// <returns></returns> public string DeleteFAArmortization(FAArmortizationEntity fAArmortization) { const string sql = @"uspDelete_FixedAssetArmortization"; object[] parms = { "@RefID", fAArmortization.RefId }; return(Db.Delete(sql, true, parms)); }
/// <summary> /// Initializes the fixed asset ledgers. /// </summary> /// <param name="fAArmortizationEntity">The f a armortization entity.</param> /// <returns></returns> private static IEnumerable <FixedAssetLedgerEntity> InitFixedAssetLedgers(FAArmortizationEntity fAArmortizationEntity) { var fixedAssetLedgers = new List <FixedAssetLedgerEntity>(); foreach (var fAArmortizationDetail in fAArmortizationEntity.FAArmortizationDetails) { var fixedAssetLedger = new FixedAssetLedgerEntity { RefId = fAArmortizationEntity.RefId, RefTypeId = fAArmortizationEntity.RefTypeId, RefNo = fAArmortizationEntity.RefNo, RefDate = fAArmortizationEntity.RefDate, PostedDate = fAArmortizationEntity.PostedDate, FixedAssetId = fAArmortizationDetail.FixedAssetId, DepartmentId = fAArmortizationDetail.DepartmentId, CurrencyCode = fAArmortizationDetail.CurrencyCode, OrgPriceAccount = "", OrgPriceDebitAmount = 0, OrgPriceCreditAmount = 0, OrgPriceDebitAmountExchange = 0, OrgPriceCreditAmountExchange = 0, DepreciationAccount = "", DepreciationDebitAmount = 0, DepreciationCreditAmount = 0, DepreciationDebitAmountExchange = 0, DepreciationCreditAmountExchange = 0, BudgetSourceAccount = "", BudgetSourcelDebitAmount = 0, BudgetSourceCreditAmount = 0, BudgetSourcelDebitAmountExchange = 0, BudgetSourceCreditAmountExchange = 0, JournalMemo = fAArmortizationEntity.JournalMemo, Description = fAArmortizationDetail.Description, Quantity = fAArmortizationDetail.Quantity }; if (fixedAssetLedgers.Count == 0 || (from item in fixedAssetLedgers where (item.FixedAssetId == fAArmortizationDetail.FixedAssetId) select item).FirstOrDefault() == null) { fixedAssetLedger = AddFixedAssetLedgerEntity(fAArmortizationDetail, fixedAssetLedger); fixedAssetLedgers.Add(fixedAssetLedger); } else { fixedAssetLedger = (from item in fixedAssetLedgers where (item.FixedAssetId == fAArmortizationDetail.FixedAssetId) select item).First(); fixedAssetLedgers.Remove(fixedAssetLedger); fixedAssetLedgers.Add(AddFixedAssetLedgerEntity(fAArmortizationDetail, fixedAssetLedger)); } } return(fixedAssetLedgers); }
/// <summary> /// Takes the specified f a armortization. /// </summary> /// <param name="fAArmortization">The f a armortization.</param> /// <returns></returns> private object[] Take(FAArmortizationEntity fAArmortization) { return(new object[] { @"@RefID", fAArmortization.RefId, @"RefTypeID", fAArmortization.RefTypeId, @"RefNo", fAArmortization.RefNo, @"RefDate", fAArmortization.RefDate, @"PostedDate", fAArmortization.PostedDate, @"TotalAmountExchange", fAArmortization.TotalAmountExchange, @"TotalAmountOC", fAArmortization.TotalAmountOC, @"JournalMemo", fAArmortization.JournalMemo, @"CurrencyCode", fAArmortization.CurrencyCode }); }
/// <summary> /// Adds the account balance for debit. /// </summary> /// <param name="faArmortizationEntity">The fa armortization entity.</param> /// <param name="faArmortizationDetailEntity">The fa armortization detail entity.</param> /// <returns></returns> public AccountBalanceEntity AddAccountBalanceForDebit(FAArmortizationEntity faArmortizationEntity, FAArmortizationDetailEntity faArmortizationDetailEntity) { return(new AccountBalanceEntity { BalanceDate = faArmortizationEntity.PostedDate, CurrencyCode = faArmortizationDetailEntity.CurrencyCode, ExchangeRate = (decimal)faArmortizationDetailEntity.ExchangeRate, AccountNumber = faArmortizationDetailEntity.AccountNumber, MovementDebitAmountOC = faArmortizationDetailEntity.AmountOC, MovementDebitAmountExchange = faArmortizationDetailEntity.AmountExchange, BudgetSourceCode = faArmortizationDetailEntity.BudgetSourceCode, BudgetItemCode = faArmortizationDetailEntity.BudgetItemCode, ProjectId = faArmortizationDetailEntity.ProjectId, MovementCreditAmountOC = 0, MovementCreditAmountExchange = 0 }); }
/// <summary> /// Updates the fa armortization. /// </summary> /// <param name="fAArmortization">The f a armortization.</param> /// <returns></returns> public string UpdateFAArmortization(FAArmortizationEntity fAArmortization) { const string sql = @"uspUpdate_FixedAssetArmortization"; return(Db.Update(sql, true, Take(fAArmortization))); }
/// <summary> /// Inserts the fa armortization. /// </summary> /// <param name="fAArmortization">The f a armortization.</param> /// <returns></returns> public int InsertFAArmortization(FAArmortizationEntity fAArmortization) { const string sql = @"uspInsert_FixedAssetArmortization"; return(Db.Insert(sql, true, Take(fAArmortization))); }