public List <BADepositDetailParallelEntity> BADepositDetailParallels(List <BADepositDetailParallel> details, string refid)
        {
            List <BADepositDetailParallelEntity> lstDetailEntities = new List <BADepositDetailParallelEntity>();

            foreach (var result in details)
            {
                var newresult = new BADepositDetailParallelEntity();
                newresult.RefDetailId           = result.RefDetailID.ToString();
                newresult.RefId                 = refid;
                newresult.Description           = result.Description;
                newresult.DebitAccount          = result.DebitAccount;
                newresult.CreditAccount         = result.CreditAccount;
                newresult.Amount                = result.Amount;
                newresult.AmountOC              = result.AmountOC;
                newresult.BudgetSourceId        = result.BudgetSource == null ? null : result.BudgetSource.BudgetSourceID.ToString();
                newresult.BudgetChapterCode     = result.BudgetChapterCode;
                newresult.BudgetKindItemCode    = result.BudgetKindItemCode;
                newresult.BudgetSubKindItemCode = result.BudgetSubKindItemCode;
                newresult.BudgetItemCode        = result.BudgetItemCode;
                newresult.BudgetSubItemCode     = result.BudgetSubItemCode;
                newresult.BudgetDetailItemCode  = result.BudgetDetailItemCode;
                newresult.MethodDistributeId    = result.MethodDistributeID;
                newresult.CashWithdrawTypeId    = ConvertCash.ConvertCash(result.CashWithdrawTypeID);
                newresult.AccountingObjectId    = result.AccountingObject == null ? null : result.AccountingObject.AccountingObjectID.ToString();
                newresult.ActivityId            = result.Activity == null ? null : result.Activity.ActivityID.ToString();
                newresult.ProjectId             = result.Project == null ? null : result.Project.ProjectID.ToString();
                newresult.FundId                = result.Fund == null ? null : result.Fund.FundID.ToString();
                newresult.TaskId                = result.Task == null ? null : result.Task.TaskID.ToString();
                newresult.ListItemId            = result.ListItem == null ? null : result.ListItem.ListItemID.ToString();
                newresult.SortOrder             = result.SortOrder;
                newresult.OrgRefNo              = result.OrgRefNo;
                newresult.OrgRefDate            = result.OrgRefDate;
                newresult.FundStructureId       = result.FundStructure == null ? null : result.FundStructure.FundStructureID.ToString();
                newresult.BankId                = result.BankAccount == null ? null : banks.FirstOrDefault(x => x.BankAccount == result.BankAccount).BankInfoID.ToString();
                newresult.BudgetProvideCode     = result.BudgetProvidence == null ? null : result.BudgetProvidence.BudgetProvideCode;
                newresult.TopicId               = result.Topic == null ? null : result.Topic.TopicID.ToString();
                newresult.BudgetExpenseId       = result.BudgetExpenseID.ToString();
                newresult.Approved              = result.Approved;
                lstDetailEntities.Add(newresult);
            }
            return(lstDetailEntities);
        }
 /// <summary>
 /// Takes the specified c a payment detail parallel entity.
 /// </summary>
 /// <param name="bADepositDetailParallelEntity">The b a deposit detail parallel entity.</param>
 /// <returns>System.Object[].</returns>
 private static object[] Take(BADepositDetailParallelEntity bADepositDetailParallelEntity)
 {
     return(new object[]
     {
         "@RefDetailID", bADepositDetailParallelEntity.RefDetailId,
         "@RefID", bADepositDetailParallelEntity.RefId,
         "@Description", bADepositDetailParallelEntity.Description,
         "@DebitAccount", bADepositDetailParallelEntity.DebitAccount,
         "@CreditAccount", bADepositDetailParallelEntity.CreditAccount,
         "@Amount", bADepositDetailParallelEntity.Amount,
         "@AmountOC", bADepositDetailParallelEntity.AmountOC,
         "@BudgetSourceID", bADepositDetailParallelEntity.BudgetSourceId,
         "@BudgetChapterCode", bADepositDetailParallelEntity.BudgetChapterCode,
         "@BudgetKindItemCode", bADepositDetailParallelEntity.BudgetKindItemCode,
         "@BudgetSubKindItemCode", bADepositDetailParallelEntity.BudgetSubKindItemCode,
         "@BudgetItemCode", bADepositDetailParallelEntity.BudgetItemCode,
         "@BudgetSubItemCode", bADepositDetailParallelEntity.BudgetSubItemCode,
         "@BudgetDetailItemCode", bADepositDetailParallelEntity.BudgetDetailItemCode,
         "@MethodDistributeID", bADepositDetailParallelEntity.MethodDistributeId,
         "@CashWithdrawTypeID", bADepositDetailParallelEntity.CashWithdrawTypeId,
         "@AccountingObjectID", bADepositDetailParallelEntity.AccountingObjectId,
         "@ActivityID", bADepositDetailParallelEntity.ActivityId,
         "@ProjectID", bADepositDetailParallelEntity.ProjectId,
         "@FundID", bADepositDetailParallelEntity.FundId,
         "@TaskID", bADepositDetailParallelEntity.TaskId,
         "@ListItemID", bADepositDetailParallelEntity.ListItemId,
         "@SortOrder", bADepositDetailParallelEntity.SortOrder,
         "@OrgRefNo", bADepositDetailParallelEntity.OrgRefNo,
         "@OrgRefDate", bADepositDetailParallelEntity.OrgRefDate,
         "@FundStructureID", bADepositDetailParallelEntity.FundStructureId,
         "@BankID", bADepositDetailParallelEntity.BankId,
         "@BudgetProvideCode", bADepositDetailParallelEntity.BudgetProvideCode,
         "@TopicID", bADepositDetailParallelEntity.TopicId,
         "@BudgetExpenseID", bADepositDetailParallelEntity.BudgetExpenseId,
         "@Approved", bADepositDetailParallelEntity.Approved,
         "@ContractID", bADepositDetailParallelEntity.ContractId,
         "@CapitalPlanID", bADepositDetailParallelEntity.CapitalPlanId,
     });
 }
        /// <summary>
        /// Updates the ba deposit detail parallel.
        /// </summary>
        /// <param name="depositDetail">The deposit detail.</param>
        /// <returns>System.String.</returns>
        public string UpdateBADepositDetailParallel(BADepositDetailParallelEntity depositDetail)
        {
            const string procedures = @"uspUpdate_BADepositDetailParallel";

            return(Db.Update(procedures, true, Take(depositDetail)));
        }
        /// <summary>
        /// Inserts the ba deposit detail parallel.
        /// </summary>
        /// <param name="depositDetail">The deposit detail.</param>
        /// <returns>System.String.</returns>
        public string InsertBADepositDetailParallel(BADepositDetailParallelEntity depositDetail)
        {
            const string procedures = @"uspInsert_BADepositDetailParallel";

            return(Db.Insert(procedures, true, Take(depositDetail)));
        }