/// <summary>
        ///     Deletes the bADeposit.
        /// </summary>
        /// <param name="bADeposit">The bADeposit.</param>
        /// <returns>
        ///     System.String.
        /// </returns>
        public string DeleteBADeposit(BADepositEntity bADeposit)
        {
            const string sql = @"uspDelete_BADeposit";

            object[] parms = { "@RefID", bADeposit.RefId };
            return(Db.Delete(sql, true, parms));
        }
        /// <summary>
        ///     Gets the bADeposit by refdate and reftype.
        /// </summary>
        /// <param name="bBADepositEntity">The ob bADeposit entity.</param>
        /// <returns></returns>
        public BADepositEntity GetBADepositByRefdateAndReftype(BADepositEntity bBADepositEntity)
        {
            const string procedures = @"uspGet_BADeposit_ForSalary";

            object[] parms =
            {
                "@RefType", bBADepositEntity.RefType, "@PostedDate", bBADepositEntity.PostedDate, "@RefNo",
                bBADepositEntity.RefNo
            };
            return(Db.Read(procedures, true, Make, parms));
        }
 /// <summary>
 ///     Takes the specified receipt voucher.
 /// </summary>
 /// <param name="bADeposit">The receipt voucher.</param>
 /// <returns></returns>
 private object[] Take(BADepositEntity bADeposit)
 {
     return(new object[]
     {
         "@RefID", bADeposit.RefId,
         "@RefType", bADeposit.RefType,
         "@RefNo", bADeposit.RefNo,
         "@RefDate", bADeposit.RefDate,
         "@PostedDate", bADeposit.PostedDate,
         "@CurrencyCode", bADeposit.CurrencyCode,
         "@ExchangeRate", bADeposit.ExchangeRate,
         "@ParalellRefNo", bADeposit.ParalellRefNo,
         "@OutwardRefNo", bADeposit.OutwardRefNo,
         "@AccountingObjectID", bADeposit.AccountingObjectId,
         "@BankID", bADeposit.BankId,
         "@InvType", bADeposit.InvType,
         "@InvDate", bADeposit.InvDate,
         "@InvSeries", bADeposit.InvSeries,
         "@InvNo", bADeposit.InvNo,
         "@JournalMemo", bADeposit.JournalMemo,
         "@TotalAmount", bADeposit.TotalAmount,
         "@TotalAmountOC", bADeposit.TotalAmountOC,
         "@TotalTaxAmount", bADeposit.TotalTaxAmount,
         "@TotalOutwardAmount", bADeposit.TotalOutwardAmount,
         "@Reconciled", bADeposit.Reconciled,
         "@Posted", bADeposit.Posted,
         "@PostVersion", bADeposit.PostVersion,
         "@EditVersion", bADeposit.EditVersion,
         "@RefOrder", bADeposit.RefOrder,
         "@InvoiceForm", bADeposit.InvoiceForm,
         "@InvoiceFormNumberID", bADeposit.InvoiceFormNumberId,
         "@InvSeriesPrefix", bADeposit.InvSeriesPrefix,
         "@InvSeriesSuffix", bADeposit.InvSeriesSuffix,
         "@PayForm", bADeposit.PayForm,
         "@ComPanyTaxcode", bADeposit.ComPanyTaxcode,
         "@AccountingObjectContactName", bADeposit.AccountingObjectContactName,
         "@ListNo", bADeposit.ListNo,
         "@ListDate", bADeposit.ListDate,
         "@IsAttachList", bADeposit.IsAttachList,
         "@ListCommonNameInventory", bADeposit.ListCommonNameInventory,
         "@BUCommitmentRequestId", bADeposit.BUCommitmentRequestId,
         "@TotalReceiptAmount", bADeposit.TotalReceiptAmount,
         "@Payer", bADeposit.Payer,
     });
 }
        public List <BADepositEntity> GetBADeposits(string connectionString)
        {
            List <BADepositEntity> buentity = new List <BADepositEntity>();

            using (var context = new MISAEntity(connectionString))
            {
                var querry           = context.BADepositDetails.ToList();
                var projects         = context.Projects.ToList();
                var currencys        = context.CCies.ToList();
                var budgetsource     = context.BudgetSources.ToList();
                var listitems        = context.ListItems.ToList();
                var funds            = context.Funds.ToList();
                var fundstructures   = context.FundStructures.ToList();
                var budgetproviders  = context.BudgetProvidences.ToList();
                var accountingobject = context.AccountingObjects.ToList();
                var projectexpenses  = context.ProjectExpenses.ToList();
                var activity         = context.Activities.ToList();
                var tasks            = context.Tasks.ToList();
                var topics           = context.Topics.ToList();
                banks = context.BankInfoes.ToList();
                var department        = context.Departments.ToList();
                var resultcontext     = context.BADeposits.Where(x => x.RefType != 154).Where(x => x.RefType != 155).ToList();
                var fixedasset        = context.FixedAssets.ToList();
                var inventoryitems    = context.InventoryItems.ToList();
                var stocks            = context.Stocks.ToList();
                var invoiceformnumber = context.InvoiceFormNumbers.ToList();
                //Detail
                var parallel          = context.BADepositDetailParallels.ToList();
                var detailfixedassets = context.BADepositDetailFixedAssets.ToList();
                var sales             = context.BADepositDetailSales.ToList();
                var taxs = context.BADepositDetailTaxes.ToList();
                foreach (var result in resultcontext)
                {
                    var newresult = new BADepositEntity();

                    newresult.RefId                       = result.RefID.ToString();
                    newresult.RefType                     = ConvRefType.ConvRefType(result.RefType);
                    newresult.RefDate                     = result.RefDate;
                    newresult.PostedDate                  = result.PostedDate;
                    newresult.RefNo                       = result.RefNo;
                    newresult.CurrencyCode                = result.CCY == null ? null : result.CCY.CurrencyID;
                    newresult.ExchangeRate                = result.ExchangeRate ?? 0;
                    newresult.ParalellRefNo               = result.ParalellRefNo;
                    newresult.OutwardRefNo                = result.OutwardRefNo;
                    newresult.AccountingObjectId          = result.AccountingObject == null ? null : result.AccountingObject.AccountingObjectID.ToString();
                    newresult.BankId                      = result.BankAccount == null ? null : banks.FirstOrDefault(x => x.BankAccount == result.BankAccount).BankInfoID.ToString();
                    newresult.InvType                     = result.InvType;
                    newresult.InvDate                     = result.InvDate;
                    newresult.InvSeries                   = result.InvSeries;
                    newresult.InvNo                       = result.InvNo;
                    newresult.JournalMemo                 = result.JournalMemo;
                    newresult.TotalAmount                 = result.TotalAmount;
                    newresult.TotalAmountOC               = result.TotalAmountOC;
                    newresult.TotalTaxAmount              = result.TotalTaxAmount;
                    newresult.TotalOutwardAmount          = result.TotalOutwardAmount;
                    newresult.Reconciled                  = result.Reconciled;
                    newresult.Posted                      = result.Posted;
                    newresult.PostVersion                 = result.PostVersion;
                    newresult.EditVersion                 = result.EditVersion;
                    newresult.RefOrder                    = result.RefOrder;
                    newresult.InvoiceForm                 = result.InvoiceForm;
                    newresult.InvoiceFormNumberId         = result.InvoiceFormNumber == null ? null : result.InvoiceFormNumber.InvoiceFormNumberID.ToString();
                    newresult.InvSeriesPrefix             = result.InvSeriesPrefix;
                    newresult.InvSeriesSuffix             = result.InvSeriesSuffix;
                    newresult.PayForm                     = result.PayForm;
                    newresult.ComPanyTaxcode              = result.ComPanyTaxcode;
                    newresult.AccountingObjectContactName = result.AccountingObjectContactName;
                    newresult.ListNo                      = result.ListNo;
                    newresult.ListDate                    = result.ListDate;
                    newresult.IsAttachList                = result.IsAttachList;
                    newresult.ListCommonNameInventory     = result.ListCommonNameInventory;
                    newresult.BUCommitmentRequestId       = result.BUCommitmentRequestID.ToString();
                    newresult.TotalReceiptAmount          = result.TotalReceiptAmount;

                    newresult.BADepositDetails                  = result.BADepositDetails.Count <= 0 ? null : BADepositDetails(result.BADepositDetails.ToList(), result.RefID.ToString());
                    newresult.BADepositDetailParallels          = result.BADepositDetailParallels.Count <= 0 ? null : BADepositDetailParallels(result.BADepositDetailParallels.ToList(), result.RefID.ToString());
                    newresult.BADepositDetailFixedAssetEntities = result.BADepositDetailFixedAssets.Count <= 0 ? null : BADepositDetailFixedAssets(result.BADepositDetailFixedAssets.ToList(), result.RefID.ToString());
                    newresult.BADepositDetailSaleEntities       = result.BADepositDetailSales.Count <= 0 ? null : BADepositDetailSales(result.BADepositDetailSales.ToList(), result.RefID.ToString());
                    newresult.BADepositDetailTaxEntities        = result.BADepositDetailTaxes.Count <= 0 ? null : BADepositDetailTaxes(result.BADepositDetailTaxes.ToList(), result.RefID.ToString());

                    buentity.Add(newresult);
                }
            }
            return(buentity);
        }
        /// <summary>
        ///     Updates the bADeposit.
        /// </summary>
        /// <param name="bADeposit">The bADeposit.</param>
        /// <returns>
        ///     System.String.
        /// </returns>
        /// <exception cref="NotImplementedException"></exception>
        public string UpdateBADeposit(BADepositEntity bADeposit)
        {
            const string sql = @"uspUpdate_BADeposit";

            return(Db.Update(sql, true, Take(bADeposit)));
        }
        /// <summary>
        ///     Inserts the bADeposit.
        /// </summary>
        /// <param name="bADeposit">The bADeposit.</param>
        /// <returns>
        ///     System.Int32.
        /// </returns>
        /// <exception cref="NotImplementedException"></exception>
        public string InsertBADeposit(BADepositEntity bADeposit)
        {
            const string sql = @"uspInsert_BADeposit";

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