public List <SUTransferDetailEntity> SUTransferDetails(List <SUTransferDetail> details, string refid)
        {
            List <SUTransferDetailEntity> lstDetailEntities = new List <SUTransferDetailEntity>();

            foreach (var result in details)
            {
                var newresult = new SUTransferDetailEntity();
                newresult.RefDetailId       = result.RefDetailID.ToString();
                newresult.RefId             = refid;
                newresult.InventoryItemId   = result.InventoryItem == null ? null : result.InventoryItem.InventoryItemID.ToString();
                newresult.Description       = result.Description;
                newresult.FromDepartmentId  = result.Department == null?null: result.Department.DepartmentID.ToString();
                newresult.ToDepartmentId    = result.Department1 == null ? null : result.Department1.DepartmentID.ToString();
                newresult.Unit              = result.Unit;
                newresult.Quantity          = result.Quantity;
                newresult.UnitPrice         = result.UnitPrice;
                newresult.Amount            = result.Amount;
                newresult.ListItemId        = result.ListItem == null ? null : result.ListItem.ListItemID.ToString();
                newresult.SortOrder         = result.SortOrder;
                newresult.CreditAccount     = result.CreditAccount;
                newresult.DebitAccount      = result.DebitAccount;
                newresult.BudgetChapterCode = result.BudgetChapterCode;
                lstDetailEntities.Add(newresult);
            }
            return(lstDetailEntities);
        }
        /// <summary>
        /// Inserts the account balance.
        /// </summary>
        /// <param name="suTransfer">The su transfer.</param>
        /// <param name="suTransferDetail">The su transfer detail.</param>
        public void InsertAccountBalance(SUTransferEntity suTransfer, SUTransferDetailEntity suTransferDetail)
        {
            //insert AccountBalance for debit account
            var accountBalanceForDebit     = AddAccountBalanceForDebit(suTransfer, suTransferDetail);
            var accountBalanceForDebitExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceForDebit);

            if (accountBalanceForDebitExit != null)
            {
                UpdateAccountBalance(accountBalanceForDebitExit, accountBalanceForDebit.MovementDebitAmountOC,
                                     accountBalanceForDebit.MovementDebitAmount, true, 1);
            }
            else
            {
                AccountBalanceDao.InsertAccountBalance(accountBalanceForDebit);
            }

            //insert AccountBalance for credit account
            var accountBalanceForCredit     = AddAccountBalanceForCredit(suTransfer, suTransferDetail);
            var accountBalanceForCreditExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceForCredit);

            if (accountBalanceForCreditExit != null)
            {
                UpdateAccountBalance(accountBalanceForCreditExit, accountBalanceForCredit.MovementCreditAmountOC,
                                     accountBalanceForCredit.MovementCreditAmount, true, 2);
            }
            else
            {
                AccountBalanceDao.InsertAccountBalance(accountBalanceForCredit);
            }
        }
Beispiel #3
0
 /// <summary>
 /// Takes the specified bADeposit.
 /// </summary>
 /// <param name="suTransferDetailEntity">The bADeposit.</param>
 /// <returns></returns>
 private object[] Take(SUTransferDetailEntity suTransferDetailEntity)
 {
     return(new object[]
     {
         "@RefDetailID", suTransferDetailEntity.RefDetailId,
         "@RefID", suTransferDetailEntity.RefId,
         "@InventoryItemID", suTransferDetailEntity.InventoryItemId,
         "@Description", suTransferDetailEntity.Description,
         "@FromDepartmentID", suTransferDetailEntity.FromDepartmentId,
         "@ToDepartmentID", suTransferDetailEntity.ToDepartmentId,
         "@DebitAccount", suTransferDetailEntity.DebitAccount,
         "@CreditAccount", suTransferDetailEntity.CreditAccount,
         "@Quantity", suTransferDetailEntity.Quantity,
         "@UnitPrice", suTransferDetailEntity.UnitPrice,
         "@Amount", suTransferDetailEntity.Amount,
         "@BudgetChapterCode", suTransferDetailEntity.BudgetChapterCode,
         "@ListItemID", suTransferDetailEntity.ListItemId,
         "@SortOrder", suTransferDetailEntity.SortOrder,
         "@Unit", suTransferDetailEntity.Unit
     });
 }
 /// <summary>
 /// Adds the account balance for credit.
 /// </summary>
 /// <param name="suTransfer">The su transfer.</param>
 /// <param name="suTransferDetail">The su transfer detail.</param>
 /// <returns></returns>
 public AccountBalanceEntity AddAccountBalanceForCredit(SUTransferEntity suTransfer, SUTransferDetailEntity suTransferDetail)
 {
     //credit account
     return(new AccountBalanceEntity
     {
         AccountBalanceId = Guid.NewGuid().ToString(),
         AccountNumber = suTransferDetail.CreditAccount,
         CurrencyCode = "VND",
         ExchangeRate = 1,
         BalanceDate = suTransfer.PostedDate,
         MovementDebitAmountOC = 0,
         MovementDebitAmount = 0,
         MovementCreditAmountOC = suTransferDetail.Amount,
         MovementCreditAmount = suTransferDetail.Amount,
         BudgetChapterCode = suTransferDetail.BudgetChapterCode
     });
 }
Beispiel #5
0
        /// <summary>
        /// Inserts the bADeposit detail.
        /// </summary>
        /// <param name="suTransferDetailEntity">The bADeposit detail.</param>
        /// <returns></returns>
        public string InsertSUTransferDetail(SUTransferDetailEntity suTransferDetailEntity)
        {
            const string sql = @"uspInsert_SUTransferDetail";

            return(Db.Insert(sql, true, Take(suTransferDetailEntity)));
        }