/// <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
     });
 }
Exemplo n.º 4
0
        /// <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);
        }
Exemplo n.º 6
0
 /// <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
     });
 }
Exemplo n.º 8
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)));
        }
Exemplo n.º 9
0
        /// <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)));
        }