/// <summary> /// Takes the specified original general ledger entity. /// </summary> /// <param name="originalGeneralLedgerEntity">The original general ledger entity.</param> /// <returns> /// System.Object[]. /// </returns> private object[] Take(OriginalGeneralLedgerEntity originalGeneralLedgerEntity) { return(new object[] { "@OriginalGeneralLedgerID", originalGeneralLedgerEntity.OriginalGeneralLedgerId, "@RefID", originalGeneralLedgerEntity.RefId, "@RefDetailID", originalGeneralLedgerEntity.RefDetailId, "@RefType", originalGeneralLedgerEntity.RefType, "@RefNo", originalGeneralLedgerEntity.RefNo, "@CurrencyCode", originalGeneralLedgerEntity.CurrencyCode, "@ExchangeRate", originalGeneralLedgerEntity.ExchangeRate, "@RefDate", originalGeneralLedgerEntity.RefDate, "@PostedDate", originalGeneralLedgerEntity.PostedDate, "@InvNo", originalGeneralLedgerEntity.InvNo, "@InvDate", originalGeneralLedgerEntity.InvDate, "@DebitAccount", originalGeneralLedgerEntity.DebitAccount, "@CreditAccount", originalGeneralLedgerEntity.CreditAccount, "@AmountOC", originalGeneralLedgerEntity.AmountOC, "@Amount", originalGeneralLedgerEntity.Amount, "@JournalMemo", originalGeneralLedgerEntity.JournalMemo, "@Description", originalGeneralLedgerEntity.Description, "@BudgetSourceID", originalGeneralLedgerEntity.BudgetSourceId, "@BudgetChapterCode", originalGeneralLedgerEntity.BudgetChapterCode, "@BudgetKindItemCode", originalGeneralLedgerEntity.BudgetKindItemCode, "@BudgetSubKindItemCode", originalGeneralLedgerEntity.BudgetSubKindItemCode, "@BudgetItemCode", originalGeneralLedgerEntity.BudgetItemCode, "@BudgetSubItemCode", originalGeneralLedgerEntity.BudgetSubItemCode, "@MethodDistributeID", originalGeneralLedgerEntity.MethodDistributeId, "@CashWithDrawTypeID", originalGeneralLedgerEntity.CashWithDrawTypeId, "@AccountingObjectID", originalGeneralLedgerEntity.AccountingObjectId, "@CreditAccountingObjectID", originalGeneralLedgerEntity.CreditAccountingObjectId, "@ActivityID", originalGeneralLedgerEntity.ActivityId, "@ProjectID", originalGeneralLedgerEntity.ProjectId, "@ProjectActivityID", originalGeneralLedgerEntity.ProjectActivityId, "@ProjectExpenseID", originalGeneralLedgerEntity.ProjectExpenseId, "@ListItemID", originalGeneralLedgerEntity.ListItemId, "@PurchasePurposeID", originalGeneralLedgerEntity.PurchasePurposeId, "@PurchasePurposeCode", originalGeneralLedgerEntity.PurchasePurposeCode, "@OrgPrice", originalGeneralLedgerEntity.OrgPrice, "@BankID", originalGeneralLedgerEntity.BankId, "@BankName", originalGeneralLedgerEntity.BankName, "@ToBankID", originalGeneralLedgerEntity.ToBankId, "@Approved", originalGeneralLedgerEntity.Approved, "@InvType", originalGeneralLedgerEntity.InvType, "@TaxAccount", originalGeneralLedgerEntity.TaxAccount, "@TaxAmount", originalGeneralLedgerEntity.TaxAmount, "@BudgetDetailItemCode", originalGeneralLedgerEntity.BudgetDetailItemCode, "@SortOrder", originalGeneralLedgerEntity.SortOrder, "@OrgRefNo", originalGeneralLedgerEntity.OrgRefNo, "@OrgRefDate", originalGeneralLedgerEntity.OrgRefDate, "@FundStructureID", originalGeneralLedgerEntity.FundStructureId, "@BudgetProvideCode", originalGeneralLedgerEntity.BudgetProvideCode, "@BudgetExpenseID", originalGeneralLedgerEntity.BudgetExpenseId, "@ContractID", originalGeneralLedgerEntity.ContractId }); }
/// <summary> /// Inserts the bu commitment request. /// </summary> /// <param name="bUCommitmentRequest">The b u commitment request.</param> /// <returns>BUCommitmentAdjustmentResponse.</returns> public BUCommitmentAdjustmentResponse InsertBUCommitmentAdjustment(BUCommitmentAdjustmentEntity bUCommitmentRequest) { var bUCommitmentRequestResponse = new BUCommitmentAdjustmentResponse { Acknowledge = AcknowledgeType.Success }; if (bUCommitmentRequest != null && !bUCommitmentRequest.Validate()) { foreach (var error in bUCommitmentRequest.ValidationErrors) { bUCommitmentRequestResponse.Message += error + Environment.NewLine; } bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure; return(bUCommitmentRequestResponse); } using (var scope = new TransactionScope()) { if (bUCommitmentRequest != null) { var bUCommitmentAdjust = BUCommitmentAdjustmentDao.GetBUCommitmentAdjustmentsByRefNo(bUCommitmentRequest.RefNo, bUCommitmentRequest.PostedDate); if (bUCommitmentAdjust != null && bUCommitmentAdjust.PostedDate.Year == bUCommitmentRequest.PostedDate.Year) { bUCommitmentRequestResponse.Message = string.Format("Số phiếu điều chỉnh \'{0}\' đã tồn tại!", bUCommitmentRequest.RefNo); bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure; return(bUCommitmentRequestResponse); } bUCommitmentRequest.RefId = Guid.NewGuid().ToString(); bUCommitmentRequestResponse.Message = BUCommitmentAdjustmentDao.InsertBUCommitmentAdjustment(bUCommitmentRequest); if (!string.IsNullOrEmpty(bUCommitmentRequestResponse.Message)) { bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure; return(bUCommitmentRequestResponse); } foreach (var bUCommitmentRequestDetail in bUCommitmentRequest.BUCommitmentAdjustmentDetails) { bUCommitmentRequestDetail.RefId = bUCommitmentRequest.RefId; bUCommitmentRequestDetail.RefDetailId = Guid.NewGuid().ToString(); if (!bUCommitmentRequestDetail.Validate()) { foreach (var error in bUCommitmentRequestDetail.ValidationErrors) { bUCommitmentRequestResponse.Message += error + Environment.NewLine; } bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure; return(bUCommitmentRequestResponse); } bUCommitmentRequestResponse.Message = BUCommitmentAdjustmentDetailDao.InsertBUCommitmentAdjustmenttDetail(bUCommitmentRequestDetail); if (!string.IsNullOrEmpty(bUCommitmentRequestResponse.Message)) { bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure; return(bUCommitmentRequestResponse); } #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = bUCommitmentRequest.RefType, RefId = bUCommitmentRequest.RefId, RefDetailId = bUCommitmentRequestDetail.RefDetailId, RefDate = bUCommitmentRequest.RefDate, RefNo = bUCommitmentRequest.RefNo, Amount = bUCommitmentRequestDetail.Amount, AmountOC = bUCommitmentRequestDetail.AmountOC, BudgetChapterCode = bUCommitmentRequestDetail.BudgetChapterCode, BudgetDetailItemCode = bUCommitmentRequestDetail.BudgetDetailItemCode, BudgetItemCode = bUCommitmentRequestDetail.BudgetItemCode, BudgetKindItemCode = bUCommitmentRequestDetail.BudgetKindItemCode, BudgetSourceId = bUCommitmentRequestDetail.BudgetSourceId, BudgetSubItemCode = bUCommitmentRequestDetail.BudgetSubItemCode, BudgetSubKindItemCode = bUCommitmentRequestDetail.BudgetSubKindItemCode, Description = bUCommitmentRequestDetail.Description, FundStructureId = bUCommitmentRequestDetail.FundStructureId, ProjectId = bUCommitmentRequestDetail.ProjectId, PostedDate = bUCommitmentRequest.PostedDate, CurrencyCode = bUCommitmentRequest.CurrencyCode, //ExchangeRate = bUCommitmentRequest.ExchangeRate, ContractId = bUCommitmentRequestDetail.ContractId, }; bUCommitmentRequestResponse.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(bUCommitmentRequestResponse.Message)) { bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure; return(bUCommitmentRequestResponse); } #endregion } if (bUCommitmentRequestResponse.Message != null) { bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(bUCommitmentRequestResponse); } bUCommitmentRequestResponse.RefId = bUCommitmentRequest.RefId; scope.Complete(); } return(bUCommitmentRequestResponse); } }
/// <summary> /// Inserts the general ledger. /// </summary> /// <param name="generalLedgerEntity">The general ledger entity.</param> /// <returns> /// System.Int32. /// </returns> public string InsertOriginalGeneralLedger(OriginalGeneralLedgerEntity generalLedgerEntity) { const string procedures = @"uspInsert_OriginalGeneralLedger"; return(Db.Insert(procedures, true, Take(generalLedgerEntity))); }
/// <summary> /// Updates the ca planWithdraw. /// </summary> /// <param name="planWithdrawEntity">The planWithdraw entity.</param> /// <returns>BUPlanWithdrawResponse.</returns> public BUPlanWithdrawResponse UpdateBUPlanWithdraw(BUPlanWithdrawEntity planWithdrawEntity) { var planWithdrawResponse = new BUPlanWithdrawResponse { Acknowledge = AcknowledgeType.Success }; try { if (planWithdrawEntity != null && !planWithdrawEntity.Validate()) { foreach (var error in planWithdrawEntity.ValidationErrors) { planWithdrawResponse.Message += error + Environment.NewLine; } planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } using (var scope = new TransactionScope()) { // Trừ số tiền khi mà update xử lý Bảng cân đối tài khoản//////////////////////////////////// //accountBalances.Clear(); if (planWithdrawEntity != null) { //accountBalances = GetListAccountBalanceOlder(planWithdrawEntity.RefId); //foreach (var accountBalanceEntity in accountBalances) //{ // var obAccoutBalanceExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceEntity); // if (obAccoutBalanceExit != null) // { // obAccoutBalanceExit.CurrencyCode = accountBalanceEntity.CurrencyCode; // // cập nhật bên TK nợ // if (accountBalanceEntity.MovementCreditAmountOC == 0) // { // obAccoutBalanceExit.ExchangeRate = accountBalanceEntity.ExchangeRate; // obAccoutBalanceExit.MovementDebitAmountExchange = // obAccoutBalanceExit.MovementDebitAmountExchange - accountBalanceEntity.MovementDebitAmountExchange; // obAccoutBalanceExit.MovementDebitAmountOC = // obAccoutBalanceExit.MovementDebitAmountOC - accountBalanceEntity.MovementDebitAmountOC; // AccountBalanceDao.UpdateAccountBalance(obAccoutBalanceExit); // } // else // { // obAccoutBalanceExit.ExchangeRate = accountBalanceEntity.ExchangeRate; // obAccoutBalanceExit.MovementCreditAmountExchange = // obAccoutBalanceExit.MovementCreditAmountExchange - accountBalanceEntity.MovementCreditAmountExchange; // obAccoutBalanceExit.MovementCreditAmountOC = // obAccoutBalanceExit.MovementCreditAmountOC - accountBalanceEntity.MovementCreditAmountOC; // AccountBalanceDao.UpdateAccountBalance(obAccoutBalanceExit); // } // } //} // Cập nhật lại dữ liệu vào bảng cân đối tài khoản //accountBalances.Clear(); //accountBalances = GetListAccountBalance(planWithdrawEntity); //foreach (var accountBalanceEntity in accountBalances) //{ // var obAccoutBalanceExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceEntity); // if (obAccoutBalanceExit != null) // { // obAccoutBalanceExit.CurrencyCode = accountBalanceEntity.CurrencyCode; // // cập nhật bên TK nợ // if (accountBalanceEntity.MovementCreditAmountOC == 0) // { // obAccoutBalanceExit.ExchangeRate = accountBalanceEntity.ExchangeRate; // obAccoutBalanceExit.MovementDebitAmountExchange = // obAccoutBalanceExit.MovementDebitAmountExchange + accountBalanceEntity.MovementDebitAmountExchange; // obAccoutBalanceExit.MovementDebitAmountOC = // obAccoutBalanceExit.MovementDebitAmountOC + accountBalanceEntity.MovementDebitAmountOC; // AccountBalanceDao.UpdateAccountBalance(obAccoutBalanceExit); // } // else // { // obAccoutBalanceExit.ExchangeRate = accountBalanceEntity.ExchangeRate; // obAccoutBalanceExit.MovementCreditAmountExchange = // obAccoutBalanceExit.MovementCreditAmountExchange + accountBalanceEntity.MovementCreditAmountExchange; // obAccoutBalanceExit.MovementCreditAmountOC = // obAccoutBalanceExit.MovementCreditAmountOC + accountBalanceEntity.MovementCreditAmountOC; // AccountBalanceDao.UpdateAccountBalance(obAccoutBalanceExit); // } // } // else // { // AccountBalanceDao.InsertAccountBalance(accountBalanceEntity); // } //} // Xóa dữ liệu trống trong bảng Cân đối tài khoản //AccountBalanceDao.DeleteAccountBalance(); //check ma trung var planWithdrawEntityExisted = BUPlanWithdrawDao.GetBUPlanWithdrawByRefNoRefType(planWithdrawEntity.RefNo.Trim(), planWithdrawEntity.RefType, planWithdrawEntity.PostedDate); if (planWithdrawEntityExisted != null && planWithdrawEntityExisted.RefId != planWithdrawEntity.RefId && planWithdrawEntityExisted.PostedDate.Year == planWithdrawEntity.PostedDate.Year) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; planWithdrawResponse.Message = @"Số chứng từ '" + planWithdrawEntity.RefNo + @"' đã tồn tại!"; return(planWithdrawResponse); } planWithdrawResponse.Message = BUPlanWithdrawDetailDao.DeleteBUPlanWithdrawDetailByRefId(planWithdrawEntity.RefId); if (planWithdrawResponse.Message != null) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(planWithdrawResponse); } #region Delete OriginalGeneralLedger if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } planWithdrawResponse.Message = OriginalGeneralLedgerDao.DeleteOriginalGeneralLedger(planWithdrawEntity.RefId); #endregion //if (planWithdrawEntity.RefTypeId == 600) //{ // //Update Lại các mục Khoản lương // //Lấy lại số chứng từ cũ thay the số chứng từ mới // var objBUPlanWithdraw = BUPlanWithdrawDao.GetBUPlanWithdraw(planWithdrawEntity.RefId); // planWithdrawResponse.Message = BUPlanWithdrawDao.UpdateEmployeePayroll(objBUPlanWithdraw.RefNo, planWithdrawEntity.RefNo, planWithdrawEntity.PostedDate.Month + "/" + planWithdrawEntity.PostedDate.Day + "/" + planWithdrawEntity.PostedDate.Year); //} planWithdrawResponse.Message = BUPlanWithdrawDao.UpdateBUPlanWithdraw(planWithdrawEntity); if (planWithdrawResponse.Message != null) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(planWithdrawResponse); } //var jourentryAccount = journalEntryAccounts[0]; //planWithdrawResponse.Message = JournalEntryAccountDao.DeleteJournalEntryAccount(jourentryAccount); //if (planWithdrawResponse.Message != null) //{ // planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; // scope.Dispose(); // return planWithdrawResponse; //} foreach (var planWithdrawDetail in planWithdrawEntity.BUPlanWithdrawDetails) { planWithdrawDetail.RefId = planWithdrawEntity.RefId; planWithdrawDetail.RefDetailId = Guid.NewGuid().ToString(); if (!planWithdrawDetail.Validate()) { foreach (string error in planWithdrawDetail.ValidationErrors) { planWithdrawResponse.Message += error + Environment.NewLine; } planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } planWithdrawResponse.Message = BUPlanWithdrawDetailDao.InsertBUPlanWithdrawDetail(planWithdrawDetail); if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = planWithdrawEntity.RefType, RefId = planWithdrawEntity.RefId, RefDetailId = planWithdrawDetail.RefDetailId, OrgRefDate = planWithdrawDetail.OrgRefDate, OrgRefNo = planWithdrawDetail.OrgRefNo, RefDate = planWithdrawEntity.RefDate, RefNo = planWithdrawEntity.RefNo, Amount = planWithdrawDetail.Amount, AmountOC = planWithdrawDetail.AmountOC, BudgetChapterCode = planWithdrawDetail.BudgetChapterCode, BudgetDetailItemCode = planWithdrawDetail.BudgetDetailItemCode, BudgetItemCode = planWithdrawDetail.BudgetItemCode, BudgetKindItemCode = planWithdrawDetail.BudgetKindItemCode, BudgetSourceId = planWithdrawDetail.BudgetSourceId, BudgetSubItemCode = planWithdrawDetail.BudgetSubItemCode, BudgetSubKindItemCode = planWithdrawDetail.BudgetSubKindItemCode, CreditAccount = planWithdrawDetail.CreditAccount, Description = planWithdrawDetail.Description, FundStructureId = planWithdrawDetail.FundStructureId, // TaxAmount = planWithdrawDetail.TaxAmount, JournalMemo = planWithdrawEntity.JournalMemo, ProjectId = planWithdrawDetail.ProjectId, PostedDate = planWithdrawEntity.PostedDate, CurrencyCode = planWithdrawEntity.CurrencyCode, ExchangeRate = planWithdrawEntity.ExchangeRate, }; planWithdrawResponse.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } #endregion //// Insert into JourentryAcocunt //jourentryAccount = journalEntryAccounts[i]; //jourentryAccount.RefId = planWithdrawDetail.RefId; //jourentryAccount.RefDetailId = planWithdrawDetail.RefDetailId; //#region " jourentryAccount: thay đổi thông tin theo đối tượng Master" //int accountingObjectType = planWithdrawEntity.AccountingObjectType == null ? 0 : int.Parse(planWithdrawEntity.AccountingObjectType.ToString()); //switch (accountingObjectType) //{ // case 0: // jourentryAccount.VendorId = planWithdrawEntity.VendorId; // break; // case 1: // jourentryAccount.EmployeeId = planWithdrawEntity.EmployeeId; // break; // case 2: // jourentryAccount.AccountingObjectId = planWithdrawEntity.AccountingObjectId; // break; // case 3: // jourentryAccount.CustomerId = planWithdrawEntity.CustomerId; // break; //} //#endregion //if (!jourentryAccount.Validate()) //{ // foreach (string error in jourentryAccount.ValidationErrors) // planWithdrawResponse.Message += error + Environment.NewLine; // planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; // return planWithdrawResponse; //} //JournalEntryAccountDao.InsertDoubleJournalEntryAccount(jourentryAccount); //i = i + 1; } //foreach (var buPlanDrawDetail in planWithdrawEntity.BUPlanWithdrawDetails) //{ // var generalLedgerEntity = new GeneralLedgerEntity // { // RefType = planWithdrawEntity.RefType, // RefNo = planWithdrawEntity.RefNo, // // AccountingObjectId = buPlanReceiptEntity.AccountingObjectId, // //BankId = buPlanReceiptEntity.BankId, // // BudgetChapterCode = buPlanReceiptDetail.BudgetChapterCode, // ProjectId = buPlanDrawDetail.ProjectId, // BudgetSourceId = buPlanDrawDetail.BudgetSourceId, // Description = buPlanDrawDetail.Description, // RefDetailId = buPlanDrawDetail.RefDetailId, // ExchangeRate = planWithdrawEntity.ExchangeRate, // // ActivityId = buPlanReceiptDetail.ActivityId, // BudgetSubKindItemCode = buPlanDrawDetail.BudgetSubKindItemCode, // CurrencyCode = planWithdrawEntity.CurrencyCode, // BudgetKindItemCode = buPlanDrawDetail.BudgetKindItemCode, // RefId = planWithdrawEntity.RefId, // PostedDate = planWithdrawEntity.PostedDate, // //MethodDistributeId = buPlanReceiptDetail.MethodDistributeId, // //OrgRefNo = buPlanReceiptDetail.OrgRefNo, // // OrgRefDate = buPlanReceiptDetail.OrgRefDate, // BudgetItemCode = buPlanDrawDetail.BudgetItemCode, // ListItemId = buPlanDrawDetail.ListItemId, // BudgetSubItemCode = buPlanDrawDetail.BudgetSubItemCode, // BudgetDetailItemCode = buPlanDrawDetail.BudgetDetailItemCode, // //CashWithDrawTypeId = buPlanReceiptDetail.CashWithDrawTypeId, // //AccountNumber = buPlanDrawDetail.DebitAccount, // CorrespondingAccountNumber = buPlanDrawDetail.CreditAccount, // DebitAmount = buPlanDrawDetail.Amount, // DebitAmountOC = buPlanDrawDetail.AmountOC, // CreditAmount = 0, // CreditAmountOC = 0, // FundStructureId = buPlanDrawDetail.FundStructureId, // GeneralLedgerId = Guid.NewGuid().ToString(), // JournalMemo = planWithdrawEntity.JournalMemo, // RefDate = planWithdrawEntity.RefDate // }; // planWithdrawResponse.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); // if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) // { // planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; // return planWithdrawResponse; // } ////insert lan 2 //generalLedgerEntity.GeneralLedgerId = Guid.NewGuid().ToString(); //generalLedgerEntity.AccountNumber = buPlanDrawDetail.CreditAccount; ////generalLedgerEntity.CorrespondingAccountNumber = buPlanDrawDetail.DebitAccount; //generalLedgerEntity.DebitAmount = 0; //generalLedgerEntity.DebitAmountOC = 0; //generalLedgerEntity.CreditAmount = buPlanDrawDetail.Amount; //generalLedgerEntity.CreditAmountOC = buPlanDrawDetail.AmountOC; //planWithdrawResponse.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } //} planWithdrawResponse.RefId = planWithdrawEntity.RefId; } if (planWithdrawResponse.Message != null) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(planWithdrawResponse); } scope.Complete(); } return(planWithdrawResponse); } catch (Exception ex) { planWithdrawResponse.Message = ex.Message; return(planWithdrawResponse); } }
public BUPlanAdjustmentResponse InsertBuPlanAdjustment(BUPlanAdjustmentEntity buPlanAdjustment) { var buPlanAdjustmentResponse = new BUPlanAdjustmentResponse { Acknowledge = AcknowledgeType.Success }; if (buPlanAdjustment != null && !buPlanAdjustment.Validate()) { foreach (var error in buPlanAdjustment.ValidationErrors) { buPlanAdjustmentResponse.Message += error + Environment.NewLine; } buPlanAdjustmentResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanAdjustmentResponse); } using (var scope = new TransactionScope()) { if (buPlanAdjustment != null) { var buPlanReceiptForExisting = BuPlanAdjustmentDao.GetBuPlanAdjustmentEntitybyRefNo(buPlanAdjustment.RefNo.Trim(), buPlanAdjustment.PostedDate); if (buPlanReceiptForExisting != null && buPlanReceiptForExisting.PostedDate.Year == buPlanAdjustment.PostedDate.Year) { buPlanAdjustmentResponse.Acknowledge = AcknowledgeType.Failure; buPlanAdjustmentResponse.Message = @"Số chứng từ '" + buPlanAdjustment.RefNo.Trim() + @"' đã tồn tại!"; return(buPlanAdjustmentResponse); } buPlanAdjustment.RefId = Guid.NewGuid().ToString(); buPlanAdjustmentResponse.Message = BuPlanAdjustmentDao.InsertBUPlanAdjustment(buPlanAdjustment); if (!string.IsNullOrEmpty(buPlanAdjustmentResponse.Message)) { buPlanAdjustmentResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanAdjustmentResponse); } foreach (var buPlanAdjustmentDetail in buPlanAdjustment.BUPlanAdjustmentDetails) { buPlanAdjustmentDetail.RefId = buPlanAdjustment.RefId; buPlanAdjustmentDetail.RefDetailId = Guid.NewGuid().ToString(); if (!buPlanAdjustmentDetail.Validate()) { foreach (var error in buPlanAdjustmentDetail.ValidationErrors) { buPlanAdjustmentResponse.Message += error + Environment.NewLine; } buPlanAdjustmentResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanAdjustmentResponse); } buPlanAdjustmentResponse.Message = BuPlanAdjustmentDetailDao.InsertBUPlanAdjustmentDetail(buPlanAdjustmentDetail); if (!string.IsNullOrEmpty(buPlanAdjustmentResponse.Message)) { buPlanAdjustmentResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanAdjustmentResponse); } #region Insert to AccountBalance InsertAccountBalance(buPlanAdjustment, buPlanAdjustmentDetail); #endregion #region Insert into GeneralLedger if (buPlanAdjustmentDetail.DebitAccount != null) { var generalLedgerEntity = new GeneralLedgerEntity { RefType = buPlanAdjustment.RefType, RefNo = buPlanAdjustment.RefNo, ProjectId = buPlanAdjustmentDetail.ProjectId, ActivityId = buPlanAdjustmentDetail.ActivityId, BudgetSourceId = buPlanAdjustmentDetail.BudgetSourceId, Description = buPlanAdjustmentDetail.ItemName, RefDetailId = buPlanAdjustmentDetail.RefDetailId, ExchangeRate = buPlanAdjustment.ExchangeRate, BudgetSubKindItemCode = buPlanAdjustmentDetail.BudgetSubKindItemCode, CurrencyCode = buPlanAdjustment.CurrencyCode, BudgetKindItemCode = buPlanAdjustmentDetail.BudgetKindItemCode, RefId = buPlanAdjustment.RefId, PostedDate = buPlanAdjustment.PostedDate, BudgetItemCode = buPlanAdjustmentDetail.BudgetItemCode, ListItemId = buPlanAdjustmentDetail.ListItemId, BudgetSubItemCode = buPlanAdjustmentDetail.BudgetSubItemCode, BudgetDetailItemCode = buPlanAdjustmentDetail.BudgetDetailItemCode, AccountNumber = buPlanAdjustmentDetail.DebitAccount, DebitAmount = (buPlanAdjustmentDetail.DebitAccount == null ? 0 : buPlanAdjustmentDetail.AdjustmentAmount) / (buPlanAdjustment.ExchangeRate == null || buPlanAdjustment.ExchangeRate == 0 ? 1 : buPlanAdjustment.ExchangeRate), DebitAmountOC = buPlanAdjustmentDetail.DebitAccount == null ? 0 : buPlanAdjustmentDetail.AdjustmentAmount, CreditAmount = 0, CreditAmountOC = 0, FundStructureId = buPlanAdjustmentDetail.FundStructureId, GeneralLedgerId = Guid.NewGuid().ToString(), JournalMemo = buPlanAdjustment.JournalMemo, RefDate = buPlanAdjustment.RefDate, SortOrder = buPlanAdjustmentDetail.SortOrder, CashWithDrawTypeId = 28, ContractId = buPlanAdjustmentDetail.ContractId, CapitalPlanId = buPlanAdjustmentDetail.CapitalPlanId, BudgetChapterCode = buPlanAdjustmentDetail.BudgetChapterCode }; buPlanAdjustmentResponse.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); if (!string.IsNullOrEmpty(buPlanAdjustmentResponse.Message)) { buPlanAdjustmentResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanAdjustmentResponse); } } #endregion #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = buPlanAdjustment.RefType, RefId = buPlanAdjustment.RefId, RefDetailId = buPlanAdjustmentDetail.RefDetailId, RefDate = buPlanAdjustment.RefDate, RefNo = buPlanAdjustment.RefNo, Amount = buPlanAdjustmentDetail.AdjustmentAmount, AmountOC = buPlanAdjustmentDetail.AdjustmentAmount, BankId = buPlanAdjustmentDetail.BankAccount, BudgetChapterCode = buPlanAdjustmentDetail.BudgetChapterCode, BudgetDetailItemCode = buPlanAdjustmentDetail.BudgetDetailItemCode, BudgetItemCode = buPlanAdjustmentDetail.BudgetItemCode, BudgetKindItemCode = buPlanAdjustmentDetail.BudgetKindItemCode, BudgetSourceId = buPlanAdjustmentDetail.BudgetSourceId, BudgetSubItemCode = buPlanAdjustmentDetail.BudgetSubItemCode, BudgetSubKindItemCode = buPlanAdjustmentDetail.BudgetSubKindItemCode, DebitAccount = buPlanAdjustmentDetail.DebitAccount, Description = buPlanAdjustmentDetail.ItemName, FundStructureId = buPlanAdjustmentDetail.FundStructureId, JournalMemo = buPlanAdjustment.JournalMemo, ProjectId = buPlanAdjustmentDetail.ProjectId, ActivityId = buPlanAdjustmentDetail.ActivityId, //ToBankId = buPlanAdjustmentDetail.BankAccount, SortOrder = buPlanAdjustmentDetail.SortOrder, PostedDate = buPlanAdjustment.PostedDate, CurrencyCode = buPlanAdjustment.CurrencyCode, ExchangeRate = buPlanAdjustment.ExchangeRate, CashWithDrawTypeId = 28, ContractId = buPlanAdjustmentDetail.ContractId, }; buPlanAdjustmentResponse.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(buPlanAdjustmentResponse.Message)) { buPlanAdjustmentResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanAdjustmentResponse); } #endregion } if (buPlanAdjustmentResponse.Message != null) { buPlanAdjustmentResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(buPlanAdjustmentResponse); } buPlanAdjustmentResponse.RefId = buPlanAdjustment.RefId; scope.Complete(); } return(buPlanAdjustmentResponse); } }
/// <summary> /// Inserts the ca planWithdraw. /// </summary> /// <param name="planWithdrawEntity">The planWithdraw entity.</param> /// <returns>BUPlanWithdrawResponse.</returns> public BUPlanWithdrawResponse InsertBUPlanWithdraw(BUPlanWithdrawEntity planWithdrawEntity) { var planWithdrawResponse = new BUPlanWithdrawResponse { Acknowledge = AcknowledgeType.Success }; try { if (planWithdrawEntity != null && !planWithdrawEntity.Validate()) { foreach (var error in planWithdrawEntity.ValidationErrors) { planWithdrawResponse.Message += error + Environment.NewLine; } planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } using (var scope = new TransactionScope()) { if (planWithdrawEntity != null) { //check ma trung var planWithdrawEntityExisted = BUPlanWithdrawDao.GetBUPlanWithdrawByRefNoRefType(planWithdrawEntity.RefNo.Trim(), planWithdrawEntity.RefType, planWithdrawEntity.PostedDate); if (planWithdrawEntityExisted != null && planWithdrawEntityExisted.PostedDate.Year == planWithdrawEntity.PostedDate.Year) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; planWithdrawResponse.Message = @"Số chứng từ '" + planWithdrawEntity.RefNo + @"' đã tồn tại!"; return(planWithdrawResponse); } planWithdrawEntity.RefId = Guid.NewGuid().ToString(); planWithdrawResponse.Message = BUPlanWithdrawDao.InsertBUPlanWithdraw(planWithdrawEntity); if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } foreach (var planWithdrawDetail in planWithdrawEntity.BUPlanWithdrawDetails) { planWithdrawDetail.RefId = planWithdrawEntity.RefId; planWithdrawDetail.RefDetailId = Guid.NewGuid().ToString(); if (!planWithdrawDetail.Validate()) { foreach (var error in planWithdrawDetail.ValidationErrors) { planWithdrawResponse.Message += error + Environment.NewLine; } planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } planWithdrawResponse.Message = BUPlanWithdrawDetailDao.InsertBUPlanWithdrawDetail(planWithdrawDetail); if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = planWithdrawEntity.RefType, RefId = planWithdrawEntity.RefId, RefDetailId = planWithdrawDetail.RefDetailId, OrgRefDate = planWithdrawDetail.OrgRefDate, OrgRefNo = planWithdrawDetail.OrgRefNo, RefDate = planWithdrawEntity.RefDate, RefNo = planWithdrawEntity.RefNo, Amount = planWithdrawDetail.Amount, AmountOC = planWithdrawDetail.AmountOC, BudgetChapterCode = planWithdrawDetail.BudgetChapterCode, BudgetDetailItemCode = planWithdrawDetail.BudgetDetailItemCode, BudgetItemCode = planWithdrawDetail.BudgetItemCode, BudgetKindItemCode = planWithdrawDetail.BudgetKindItemCode, BudgetSourceId = planWithdrawDetail.BudgetSourceId, BudgetSubItemCode = planWithdrawDetail.BudgetSubItemCode, BudgetSubKindItemCode = planWithdrawDetail.BudgetSubKindItemCode, CreditAccount = planWithdrawDetail.CreditAccount, Description = planWithdrawDetail.Description, FundStructureId = planWithdrawDetail.FundStructureId, // TaxAmount = planWithdrawDetail.TaxAmount, JournalMemo = planWithdrawEntity.JournalMemo, ProjectId = planWithdrawDetail.ProjectId, PostedDate = planWithdrawEntity.PostedDate, CurrencyCode = planWithdrawEntity.CurrencyCode, ExchangeRate = planWithdrawEntity.ExchangeRate, }; planWithdrawResponse.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; return(planWithdrawResponse); } #endregion //// insert bang JourentryAccount //var jourentryAccount = journalEntryAccounts[i]; //jourentryAccount.RefId = planWithdrawDetail.RefId; //jourentryAccount.RefDetailId = iBUPlanWithdrawDetailId; //#region " jourentryAccount: thay đổi thông tin theo đối tượng Master" //int accountingObjectType = planWithdrawEntity.AccountingObjectType == null ? 0 : int.Parse(planWithdrawEntity.AccountingObjectType.ToString()); //switch (accountingObjectType) //{ // case 0: // jourentryAccount.VendorId = planWithdrawEntity.VendorId; // break; // case 1: // jourentryAccount.EmployeeId = planWithdrawEntity.EmployeeId; // break; // case 2: // jourentryAccount.AccountingObjectId = planWithdrawEntity.AccountingObjectId; // break; // case 3: // jourentryAccount.CustomerId = planWithdrawEntity.CustomerId; // break; //} ////LinhMC bổ sung trường hợp người dùng chọn đối tượng khác ở phần chi tiết mà không chọn ở phần thông tin chung. //if (jourentryAccount.AccountingObjectId == null) //{ // jourentryAccount.AccountingObjectId = planWithdrawDetail.AccountingObjectId; //} //#endregion //if (!jourentryAccount.Validate()) //{ // foreach (string error in jourentryAccount.ValidationErrors) // planWithdrawResponse.Message += error + Environment.NewLine; // planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; // return planWithdrawResponse; //} //JournalEntryAccountDao.InsertDoubleJournalEntryAccount(jourentryAccount); //i = i + 1; } //foreach (var buPlanDrawDetail in planWithdrawEntity.BUPlanWithdrawDetails) //{ // var generalLedgerEntity = new GeneralLedgerEntity // { // RefType = planWithdrawEntity.RefType, // RefNo = planWithdrawEntity.RefNo, // // AccountingObjectId = buPlanReceiptEntity.AccountingObjectId, // //BankId = buPlanReceiptEntity.BankId, // // BudgetChapterCode = buPlanReceiptDetail.BudgetChapterCode, // ProjectId = buPlanDrawDetail.ProjectId, // BudgetSourceId = buPlanDrawDetail.BudgetSourceId, // Description = buPlanDrawDetail.Description, // RefDetailId = buPlanDrawDetail.RefDetailId, // ExchangeRate = planWithdrawEntity.ExchangeRate, // // ActivityId = buPlanReceiptDetail.ActivityId, // BudgetSubKindItemCode = buPlanDrawDetail.BudgetSubKindItemCode, // CurrencyCode = planWithdrawEntity.CurrencyCode, // BudgetKindItemCode = buPlanDrawDetail.BudgetKindItemCode, // RefId = planWithdrawEntity.RefId, // PostedDate = planWithdrawEntity.PostedDate, // //MethodDistributeId = buPlanReceiptDetail.MethodDistributeId, // //OrgRefNo = buPlanReceiptDetail.OrgRefNo, // // OrgRefDate = buPlanReceiptDetail.OrgRefDate, // BudgetItemCode = buPlanDrawDetail.BudgetItemCode, // ListItemId = buPlanDrawDetail.ListItemId, // BudgetSubItemCode = buPlanDrawDetail.BudgetSubItemCode, // BudgetDetailItemCode = buPlanDrawDetail.BudgetDetailItemCode, // //CashWithDrawTypeId = buPlanReceiptDetail.CashWithDrawTypeId, // //AccountNumber = buPlanDrawDetail.DebitAccount, // CorrespondingAccountNumber = buPlanDrawDetail.CreditAccount, // DebitAmount = buPlanDrawDetail.Amount, // DebitAmountOC = buPlanDrawDetail.AmountOC, // CreditAmount = 0, // CreditAmountOC = 0, // FundStructureId = buPlanDrawDetail.FundStructureId, // GeneralLedgerId = Guid.NewGuid().ToString(), // JournalMemo = planWithdrawEntity.JournalMemo, // RefDate = planWithdrawEntity.RefDate // }; // planWithdrawResponse.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); // if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) // { // planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; // return planWithdrawResponse; // } // //insert lan 2 // generalLedgerEntity.GeneralLedgerId = Guid.NewGuid().ToString(); // generalLedgerEntity.AccountNumber = buPlanDrawDetail.CreditAccount; // //generalLedgerEntity.CorrespondingAccountNumber = buPlanDrawDetail.DebitAccount; // generalLedgerEntity.DebitAmount = 0; // generalLedgerEntity.DebitAmountOC = 0; // generalLedgerEntity.CreditAmount = buPlanDrawDetail.Amount; // generalLedgerEntity.CreditAmountOC = buPlanDrawDetail.AmountOC; // planWithdrawResponse.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); // if (!string.IsNullOrEmpty(planWithdrawResponse.Message)) // { // planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; // return planWithdrawResponse; // } //} planWithdrawResponse.RefId = planWithdrawEntity.RefId; // Kiểm tra đã tồn tại trong bảng Account Balance //foreach (var accountBalanceEntity in accountBalances) //{ // var obAccoutBalanceExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceEntity); // if (obAccoutBalanceExit != null) // { // // cập nhật bên TK nợ // if (accountBalanceEntity.MovementCreditAmountOC == 0) // { // obAccoutBalanceExit.ExchangeRate = accountBalanceEntity.ExchangeRate; // obAccoutBalanceExit.MovementDebitAmountExchange = // obAccoutBalanceExit.MovementDebitAmountExchange + // accountBalanceEntity.MovementDebitAmountExchange; // obAccoutBalanceExit.MovementDebitAmountOC = // obAccoutBalanceExit.MovementDebitAmountOC + // accountBalanceEntity.MovementDebitAmountOC; // AccountBalanceDao.UpdateAccountBalance(obAccoutBalanceExit); // } // else // { // obAccoutBalanceExit.ExchangeRate = accountBalanceEntity.ExchangeRate; // obAccoutBalanceExit.MovementCreditAmountExchange = // obAccoutBalanceExit.MovementCreditAmountExchange + // accountBalanceEntity.MovementCreditAmountExchange; // obAccoutBalanceExit.MovementCreditAmountOC = // obAccoutBalanceExit.MovementCreditAmountOC + // accountBalanceEntity.MovementCreditAmountOC; // AccountBalanceDao.UpdateAccountBalance(obAccoutBalanceExit); // } // } // else // { // AccountBalanceDao.InsertAccountBalance(accountBalanceEntity); // } //} //var autoNumber = AutoNumberDao.GetAutoNumberByRefType(planWithdrawEntity.RefType); //autoNumber.Value += 1; //if (planWithdrawEntity.RefType != 600)//Khong cap nhat khi la chung tu luong //{ // planWithdrawResponse.Message = AutoNumberDao.UpdateAutoNumber(autoNumber); //} } if (planWithdrawResponse.Message != null) { planWithdrawResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(planWithdrawResponse); } scope.Complete(); } return(planWithdrawResponse); } catch (Exception ex) { planWithdrawResponse.Message = ex.Message; return(planWithdrawResponse); } }
/// <summary> /// Updates the ba deposit. /// </summary> /// <param name="suTransferEntity">The su transfer entity.</param> /// <returns></returns> public SUTransferResponse UpdateSUTransfer(SUTransferEntity suTransferEntity) { var response = new SUTransferResponse { Acknowledge = AcknowledgeType.Success }; try { if (!suTransferEntity.Validate()) { foreach (var error in suTransferEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } using (var scope = new TransactionScope()) { var suTransfer = SUTransferDao.GetSUTransfer(suTransferEntity.RefNo.Trim(), suTransferEntity.PostedDate); if (suTransfer != null && suTransfer.PostedDate.Year == suTransferEntity.PostedDate.Year) { if (suTransfer.RefId != suTransferEntity.RefId) { response.Acknowledge = AcknowledgeType.Failure; response.Message = @"Số chứng từ " + suTransferEntity.RefNo + @" đã tồn tại !"; return(response); } } response.Message = SUTransferDao.UpdateSUTransfer(suTransferEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region Update account balance //Trừ đi số tiền của chứng từ cũ trước khi cộng thêm số tiền mới UpdateAccountBalance(suTransferEntity); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } #endregion #region Delete detail and insert detail // Xóa bảng SUTransferDetail response.Message = SUTransferDetailDao.DeleteSUTransferDetailByRefId(suTransferEntity.RefId); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } // Xóa bảng OriginalGeneralLedger response.Message = OriginalGeneralLedgerDao.DeleteOriginalGeneralLedger(suTransferEntity.RefId); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } // Xóa bảng SupplyLedger response.Message = SupplyLedgerDao.DeleteSupplyLedgerByRefId(suTransferEntity.RefId, suTransferEntity.RefType); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } if (suTransferEntity.SUTransferDetails != null) { foreach (var suTransferDetail in suTransferEntity.SUTransferDetails) { if (suTransferEntity.RefType == (int)BuCA.Enum.RefType.SUTransfer) { AutoMapper(GetUnitsInDepartment(suTransferDetail.InventoryItemId, suTransferDetail.FromDepartmentId, suTransferDetail.Quantity, suTransferDetail.Description), response); if (response.Acknowledge == AcknowledgeType.Failure) { return(response); } } suTransferDetail.RefDetailId = Guid.NewGuid().ToString(); suTransferDetail.RefId = suTransferEntity.RefId; response.Message = SUTransferDetailDao.InsertSUTransferDetail(suTransferDetail); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region Insert into AccountBalance // Cộng thêm số tiền mới sau khi sửa chứng từ InsertAccountBalance(suTransferEntity, suTransferDetail); if (response.Message != null) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } #endregion #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = suTransferEntity.RefType, RefId = suTransferEntity.RefId, RefDetailId = suTransferDetail.RefDetailId, RefDate = suTransferEntity.RefDate, RefNo = suTransferEntity.RefNo, Amount = suTransferDetail.Amount, BudgetChapterCode = suTransferDetail.BudgetChapterCode, CreditAccount = suTransferDetail.CreditAccount, DebitAccount = suTransferDetail.DebitAccount, Description = suTransferDetail.Description, JournalMemo = suTransferEntity.JournalMemo, SortOrder = suTransferDetail.SortOrder, PostedDate = suTransferEntity.PostedDate, // Không có Currency trong db : mặc định VNĐ và 1 CurrencyCode = "VND", ExchangeRate = 1, }; response.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #endregion #region Insert SupplyLedger if (suTransferDetail.InventoryItemId != null) { var supplyLedgerEntity = new SupplyLedgerEntity { SupplyLedgerId = Guid.NewGuid().ToString(), RefId = suTransferEntity.RefId, RefType = suTransferEntity.RefType, RefNo = suTransferEntity.RefNo, RefDate = suTransferEntity.RefDate, PostedDate = suTransferEntity.PostedDate, DepartmentId = suTransferDetail.FromDepartmentId, InventoryItemId = suTransferDetail.InventoryItemId, Unit = suTransferDetail.Unit, UnitPrice = suTransferDetail.UnitPrice, IncrementQuantity = 0, DecrementQuantity = suTransferDetail.Quantity, IncrementAmount = 0, DecrementAmount = suTransferDetail.Amount, JournalMemo = suTransferEntity.JournalMemo, Description = suTransferDetail.Description, AccountNumber = suTransferDetail.DebitAccount, RefDetailId = suTransferDetail.RefDetailId }; response.Message = SupplyLedgerDao.InsertSupplyLedger(supplyLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } //insert lan 2 supplyLedgerEntity.SupplyLedgerId = Guid.NewGuid().ToString(); supplyLedgerEntity.AccountNumber = suTransferDetail.CreditAccount; supplyLedgerEntity.DepartmentId = suTransferDetail.ToDepartmentId; supplyLedgerEntity.IncrementQuantity = suTransferDetail.Quantity; supplyLedgerEntity.DecrementQuantity = 0; supplyLedgerEntity.IncrementAmount = suTransferDetail.Amount; supplyLedgerEntity.DecrementAmount = 0; response.Message = SupplyLedgerDao.InsertSupplyLedger(supplyLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } } #endregion } } #endregion scope.Complete(); } response.RefId = suTransferEntity.RefId; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }
/// <summary> /// Inserts the ba deposit. /// </summary> /// <param name="fAIncrementDecrementEntity">The b a deposit entity.</param> /// <returns></returns> public FAIncrementDecrementResponse InsertFAIncrementDecrement( FAIncrementDecrementEntity fAIncrementDecrementEntity) { var response = new FAIncrementDecrementResponse { Acknowledge = AcknowledgeType.Success }; try { if (!fAIncrementDecrementEntity.Validate()) { foreach (var error in fAIncrementDecrementEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } using (var scope = new TransactionScope()) { var fAIncrementDecrementByRefNo = FAIncrementDecrementDao.GetFAIncrementDecrementByRefNo(fAIncrementDecrementEntity.RefNo, fAIncrementDecrementEntity.PostedDate); if (fAIncrementDecrementByRefNo != null && fAIncrementDecrementByRefNo.PostedDate.Year == fAIncrementDecrementEntity.PostedDate.Year) { response.Acknowledge = AcknowledgeType.Failure; response.Message = "Mã chứng từ đã tồn tại!"; return(response); } fAIncrementDecrementEntity.RefId = Guid.NewGuid().ToString(); response.Message = FAIncrementDecrementDao.InsertFAIncrementDecrement(fAIncrementDecrementEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region insert FAIncrementDecrementDetails //Tạo biến để xác định tài sản đã có không insert vào FixedAssetLedger entity thành dòng mới var fixedAssetId = ""; if (fAIncrementDecrementEntity.FAIncrementDecrementDetails != null) { foreach (var fAIncrementDecrementDetailEntity in fAIncrementDecrementEntity.FAIncrementDecrementDetails) { fAIncrementDecrementDetailEntity.RefDetailId = Guid.NewGuid().ToString(); fAIncrementDecrementDetailEntity.RefId = fAIncrementDecrementEntity.RefId; response.Message = FAIncrementDecrementDetailDao.InsertFAIncrementDecrementDetail(fAIncrementDecrementDetailEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region insert bang GeneralLedger if (fAIncrementDecrementDetailEntity.DebitAccount != null && fAIncrementDecrementDetailEntity.CreditAccount != null) { var generalLedgerEntity = new GeneralLedgerEntity { RefType = fAIncrementDecrementEntity.RefType, RefNo = fAIncrementDecrementEntity.RefNo, ProjectId = fAIncrementDecrementDetailEntity.ProjectId, BudgetSourceId = fAIncrementDecrementDetailEntity.BudgetSourceId, Description = fAIncrementDecrementDetailEntity.Description, RefDetailId = fAIncrementDecrementDetailEntity.RefDetailId, ExchangeRate = 1, BudgetSubKindItemCode = fAIncrementDecrementDetailEntity.BudgetSubKindItemCode, CurrencyCode = "VND", BudgetKindItemCode = fAIncrementDecrementDetailEntity.BudgetKindItemCode, RefId = fAIncrementDecrementEntity.RefId, PostedDate = fAIncrementDecrementEntity.PostedDate, BudgetItemCode = fAIncrementDecrementDetailEntity.BudgetItemCode, ListItemId = fAIncrementDecrementDetailEntity.ListItemId, BudgetSubItemCode = fAIncrementDecrementDetailEntity.BudgetSubItemCode, BudgetDetailItemCode = fAIncrementDecrementDetailEntity.BudgetDetailItemCode, AccountNumber = fAIncrementDecrementDetailEntity.DebitAccount, CorrespondingAccountNumber = fAIncrementDecrementDetailEntity.CreditAccount, DebitAmount = fAIncrementDecrementDetailEntity.DebitAccount == null ? 0 : fAIncrementDecrementDetailEntity.Amount, DebitAmountOC = fAIncrementDecrementDetailEntity.DebitAccount == null ? 0 : fAIncrementDecrementDetailEntity.Amount, CreditAmount = 0, CreditAmountOC = 0, FundStructureId = fAIncrementDecrementDetailEntity.FundStructureId, GeneralLedgerId = Guid.NewGuid().ToString(), JournalMemo = fAIncrementDecrementEntity.JournalMemo, RefDate = fAIncrementDecrementEntity.RefDate, SortOrder = fAIncrementDecrementDetailEntity.SortOrder, AccountingObjectId = fAIncrementDecrementDetailEntity.AccountingObjectId, }; response.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } generalLedgerEntity.GeneralLedgerId = Guid.NewGuid().ToString(); generalLedgerEntity.AccountNumber = fAIncrementDecrementDetailEntity.CreditAccount; generalLedgerEntity.CorrespondingAccountNumber = fAIncrementDecrementDetailEntity.DebitAccount; generalLedgerEntity.DebitAmount = 0; generalLedgerEntity.DebitAmountOC = 0; generalLedgerEntity.CreditAmount = fAIncrementDecrementDetailEntity.Amount; generalLedgerEntity.CreditAmountOC = fAIncrementDecrementDetailEntity.Amount; response.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } } else { var generalLedgerEntity = new GeneralLedgerEntity { RefType = fAIncrementDecrementEntity.RefType, RefNo = fAIncrementDecrementEntity.RefNo, ProjectId = fAIncrementDecrementDetailEntity.ProjectId, BudgetSourceId = fAIncrementDecrementDetailEntity.BudgetSourceId, Description = fAIncrementDecrementDetailEntity.Description, RefDetailId = fAIncrementDecrementDetailEntity.RefDetailId, ExchangeRate = 1, BudgetSubKindItemCode = fAIncrementDecrementDetailEntity.BudgetSubKindItemCode, CurrencyCode = "VND", BudgetKindItemCode = fAIncrementDecrementDetailEntity.BudgetKindItemCode, RefId = fAIncrementDecrementEntity.RefId, PostedDate = fAIncrementDecrementEntity.PostedDate, BudgetItemCode = fAIncrementDecrementDetailEntity.BudgetItemCode, ListItemId = fAIncrementDecrementDetailEntity.ListItemId, BudgetSubItemCode = fAIncrementDecrementDetailEntity.BudgetSubItemCode, BudgetDetailItemCode = fAIncrementDecrementDetailEntity.BudgetDetailItemCode, AccountNumber = fAIncrementDecrementDetailEntity.DebitAccount ?? fAIncrementDecrementDetailEntity.CreditAccount, DebitAmount = fAIncrementDecrementDetailEntity.DebitAccount == null ? 0 : fAIncrementDecrementDetailEntity.Amount, DebitAmountOC = fAIncrementDecrementDetailEntity.DebitAccount == null ? 0 : fAIncrementDecrementDetailEntity.Amount, CreditAmount = 0, CreditAmountOC = 0, FundStructureId = fAIncrementDecrementDetailEntity.FundStructureId, GeneralLedgerId = Guid.NewGuid().ToString(), JournalMemo = fAIncrementDecrementEntity.JournalMemo, RefDate = fAIncrementDecrementEntity.RefDate, SortOrder = fAIncrementDecrementDetailEntity.SortOrder }; response.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } } #endregion #region Insert FixedAssetLedger // insert bang GeneralLedger //1 tài sản lưu thành 1 dòng, số tiền = tổng số tiền của các dòng cùng tài sản if (fAIncrementDecrementDetailEntity.FixedAssetId != null) { var totalAmount = (from f in fAIncrementDecrementEntity.FAIncrementDecrementDetails where f.FixedAssetId == fAIncrementDecrementDetailEntity.FixedAssetId select f).ToList(); if (fixedAssetId != fAIncrementDecrementDetailEntity.FixedAssetId) { //get fixedAssetInfo var fixedAssetEntity = FixedAssetDao.GetFixedAssetById(fAIncrementDecrementDetailEntity.FixedAssetId); var fixedAssetLedgerEntity = new FixedAssetLedgerEntity { FixedAssetLedgerId = Guid.NewGuid().ToString(), RefId = fAIncrementDecrementEntity.RefId, RefType = fAIncrementDecrementEntity.RefType, RefNo = fAIncrementDecrementEntity.RefNo, RefDate = fAIncrementDecrementEntity.RefDate, PostedDate = fAIncrementDecrementEntity.PostedDate, FixedAssetId = fAIncrementDecrementDetailEntity.FixedAssetId, DepartmentId = fAIncrementDecrementDetailEntity.DepartmentId, LifeTime = fixedAssetEntity.LifeTime, AnnualDepreciationRate = fixedAssetEntity.DepreciationRate, AnnualDepreciationAmount = fixedAssetEntity.PeriodDepreciationAmount, OrgPriceAccount = null, OrgPriceDebitAmount = fAIncrementDecrementDetailEntity.DebitAccount.StartsWith("211") || fAIncrementDecrementDetailEntity.DebitAccount.StartsWith("213") ? totalAmount.Select(c => c.Amount).Sum() : 0, OrgPriceCreditAmount = fAIncrementDecrementDetailEntity.DebitAccount.StartsWith("211") || fAIncrementDecrementDetailEntity.DebitAccount.StartsWith("213") ? 0 : totalAmount.Select(c => c.Amount).Sum(), DepreciationAccount = null, DepreciationDebitAmount = fAIncrementDecrementDetailEntity.DebitAccount.StartsWith("214") ? fixedAssetEntity.AccumDepreciationAmount + fixedAssetEntity.AccumDevaluationAmount : 0, DepreciationCreditAmount = fAIncrementDecrementDetailEntity.DebitAccount.StartsWith("214") ? 0 : fixedAssetEntity.AccumDepreciationAmount + fixedAssetEntity.AccumDevaluationAmount, CapitalAccount = fixedAssetEntity.CapitalAccount, CapitalDebitAmount = 0, CapitalCreditAmount = 0, Quantity = (decimal)fAIncrementDecrementDetailEntity.Quantity,// fixedAssetEntity.Quantity, //Quantity = fixedAssetEntity.Quantity, JournalMemo = fAIncrementDecrementEntity.JournalMemo, Description = fAIncrementDecrementDetailEntity.Description, RemainingLifeTime = fixedAssetEntity.RemainingLifeTime, EndYear = fixedAssetEntity.EndYear, DevaluationAmount = fixedAssetEntity.DevaluationAmount, DevaluationPeriod = fixedAssetEntity.DevaluationPeriod, EndDevaluationDate = fixedAssetEntity.EndDevaluationDate == new DateTime(0001, 01, 01) ? fixedAssetEntity.DevaluationDate.AddMonths((int)fixedAssetEntity.DevaluationLifeTime) : fixedAssetEntity.EndDevaluationDate, PeriodDevaluationAmount = fixedAssetEntity.PeriodDevaluationAmount }; response.Message = FixedAssetLedgerDao.InsertFixedAssetLedger(fixedAssetLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } fixedAssetId = fAIncrementDecrementDetailEntity.FixedAssetId; } } #endregion #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = fAIncrementDecrementEntity.RefType, RefId = fAIncrementDecrementEntity.RefId, JournalMemo = fAIncrementDecrementEntity.JournalMemo, RefDate = fAIncrementDecrementEntity.RefDate, RefNo = fAIncrementDecrementEntity.RefNo, RefDetailId = fAIncrementDecrementDetailEntity.RefDetailId, OrgRefDate = null, OrgRefNo = null, AccountingObjectId = fAIncrementDecrementDetailEntity.AccountingObjectId, ActivityId = fAIncrementDecrementDetailEntity.ActivityId, Amount = fAIncrementDecrementDetailEntity.Amount, AmountOC = fAIncrementDecrementDetailEntity.Amount, Approved = true, BankId = null, BudgetChapterCode = fAIncrementDecrementDetailEntity.BudgetChapterCode, BudgetDetailItemCode = fAIncrementDecrementDetailEntity.BudgetDetailItemCode, BudgetItemCode = fAIncrementDecrementDetailEntity.BudgetItemCode, BudgetKindItemCode = fAIncrementDecrementDetailEntity.BudgetKindItemCode, BudgetSourceId = fAIncrementDecrementDetailEntity.BudgetSourceId, BudgetSubItemCode = fAIncrementDecrementDetailEntity.BudgetSubItemCode, BudgetSubKindItemCode = fAIncrementDecrementDetailEntity.BudgetSubKindItemCode, CashWithDrawTypeId = fAIncrementDecrementDetailEntity.CashWithDrawTypeId, CreditAccount = fAIncrementDecrementDetailEntity.CreditAccount, DebitAccount = fAIncrementDecrementDetailEntity.DebitAccount, Description = fAIncrementDecrementDetailEntity.Description, FundStructureId = fAIncrementDecrementDetailEntity.FundStructureId, ProjectActivityId = fAIncrementDecrementDetailEntity.ProjectActivityId, MethodDistributeId = fAIncrementDecrementDetailEntity.MethodDistributeId, ProjectId = fAIncrementDecrementDetailEntity.ProjectId, ToBankId = null, SortOrder = fAIncrementDecrementDetailEntity.SortOrder, PostedDate = fAIncrementDecrementEntity.PostedDate, // Không có Currency trong db : mặc định VNĐ và 1 CurrencyCode = "VND", ExchangeRate = 1, }; response.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #endregion } } #endregion scope.Complete(); } response.RefId = fAIncrementDecrementEntity.RefId; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }
/// <summary> /// Updates the ca payment. /// </summary> /// <param name="buPlanReceiptEntity">The bu plan receipt entity.</param> /// <returns> /// CAPaymentResponse. /// </returns> public BUBudgetReserveResponse UpdateBUBudgetReservet(BUBudgetReserveEntity buPlanReceiptEntity) { var buPlanReceiptResponse = new BUBudgetReserveResponse { Acknowledge = AcknowledgeType.Success }; try { if (buPlanReceiptEntity != null && !buPlanReceiptEntity.Validate()) { foreach (var error in buPlanReceiptEntity.ValidationErrors) { buPlanReceiptResponse.Message += error + Environment.NewLine; } buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanReceiptResponse); } using (var scope = new TransactionScope()) { if (buPlanReceiptEntity != null) { var buPlanReceiptForExisting = BUBudgetReserveDao.GetBUBudgetReserve(buPlanReceiptEntity.RefNo.Trim(), buPlanReceiptEntity.PostedDate); if (buPlanReceiptForExisting != null && buPlanReceiptForExisting.PostedDate.Year == buPlanReceiptEntity.PostedDate.Year) { if (buPlanReceiptForExisting.RefId != buPlanReceiptEntity.RefId) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; buPlanReceiptResponse.Message = @"Số chứng từ '" + buPlanReceiptEntity.RefNo.Trim() + @"' đã tồn tại!"; return(buPlanReceiptResponse); } } buPlanReceiptResponse.Message = BUBudgetReserveDao.UpdateBUBudgetReserve(buPlanReceiptEntity); if (buPlanReceiptResponse.Message != null) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(buPlanReceiptResponse); } #region Update account balance //Trừ đi số tiền của chứng từ cũ trước khi cộng thêm số tiền mới UpdateAccountBalance(buPlanReceiptEntity); if (buPlanReceiptResponse.Message != null) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(buPlanReceiptResponse); } #endregion // Xóa bảng BUBudgetReservetDetail buPlanReceiptResponse.Message = BUBudgetReserveDetailDao.DeleteBUBudgetReserveDetail(buPlanReceiptEntity.RefId); if (buPlanReceiptResponse.Message != null) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(buPlanReceiptResponse); } // Xóa bảng GeneralLedger buPlanReceiptResponse.Message = GeneralLedgerDao.DeleteGeneralLedger(buPlanReceiptEntity.RefId); if (buPlanReceiptResponse.Message != null) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(buPlanReceiptResponse); } // Xóa bảng OriginalGeneralLedger buPlanReceiptResponse.Message = OriginalGeneralLedgerDao.DeleteOriginalGeneralLedger(buPlanReceiptEntity.RefId); if (buPlanReceiptResponse.Message != null) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(buPlanReceiptResponse); } foreach (var buPlanReceiptDetail in buPlanReceiptEntity.BudgetReserveDetails) { buPlanReceiptDetail.RefId = buPlanReceiptEntity.RefId; buPlanReceiptDetail.RefDetailId = Guid.NewGuid().ToString(); if (!buPlanReceiptDetail.Validate()) { foreach (string error in buPlanReceiptDetail.ValidationErrors) { buPlanReceiptResponse.Message += error + Environment.NewLine; } buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanReceiptResponse); } buPlanReceiptResponse.Message = BUBudgetReserveDetailDao.InsertBUBudgetReserveDetail(buPlanReceiptDetail); if (!string.IsNullOrEmpty(buPlanReceiptResponse.Message)) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanReceiptResponse); } #region Insert into AccountBalance // Cộng thêm số tiền mới sau khi sửa chứng từ InsertAccountBalance(buPlanReceiptEntity, buPlanReceiptDetail); if (buPlanReceiptResponse.Message != null) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(buPlanReceiptResponse); } #endregion #region Insert into GeneralLedger if (buPlanReceiptDetail.BankAccount != null) { var generalLedgerEntity = new GeneralLedgerEntity { RefType = buPlanReceiptEntity.RefType, RefNo = buPlanReceiptEntity.RefNo, ProjectId = buPlanReceiptDetail.ProjectId, BudgetSourceId = buPlanReceiptDetail.BudgetSourceId, Description = buPlanReceiptDetail.Description, RefDetailId = buPlanReceiptDetail.RefDetailId, ExchangeRate = buPlanReceiptEntity.ExchangeRate, BudgetSubKindItemCode = buPlanReceiptDetail.BudgetSubKindItemCode, CurrencyCode = buPlanReceiptEntity.CurrencyCode, BudgetKindItemCode = buPlanReceiptDetail.BudgetKindItemCode, RefId = buPlanReceiptEntity.RefId, PostedDate = buPlanReceiptEntity.PostedDate, BudgetItemCode = buPlanReceiptDetail.BudgetItemCode, ListItemId = buPlanReceiptDetail.ListItemId, BudgetSubItemCode = buPlanReceiptDetail.BudgetSubItemCode, BudgetDetailItemCode = buPlanReceiptDetail.BudgetDetailItemCode, //AccountNumber = buPlanReceiptDetail.DebitAccount, //DebitAmount = buPlanReceiptDetail.DebitAccount == null ? 0 : buPlanReceiptDetail.Amount, //DebitAmountOC = buPlanReceiptDetail.DebitAccount == null ? 0 : buPlanReceiptDetail.AmountOC, CreditAmount = 0, CreditAmountOC = 0, FundStructureId = buPlanReceiptDetail.FundStructureId, GeneralLedgerId = Guid.NewGuid().ToString(), JournalMemo = buPlanReceiptEntity.JournalMemo, RefDate = buPlanReceiptEntity.RefDate, SortOrder = buPlanReceiptDetail.SortOrder }; buPlanReceiptResponse.Message = GeneralLedgerDao.InsertGeneralLedger(generalLedgerEntity); if (!string.IsNullOrEmpty(buPlanReceiptResponse.Message)) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanReceiptResponse); } } #endregion #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = buPlanReceiptEntity.RefType, RefId = buPlanReceiptEntity.RefId, RefDetailId = buPlanReceiptDetail.RefDetailId, RefDate = buPlanReceiptEntity.RefDate, RefNo = buPlanReceiptEntity.RefNo, Amount = buPlanReceiptDetail.Amount, AmountOC = buPlanReceiptDetail.AmountOC, //BankId = buPlanReceiptDetail.BankId, BudgetChapterCode = buPlanReceiptEntity.BudgetChapterCode, BudgetDetailItemCode = buPlanReceiptDetail.BudgetDetailItemCode, BudgetItemCode = buPlanReceiptDetail.BudgetItemCode, BudgetKindItemCode = buPlanReceiptDetail.BudgetKindItemCode, BudgetSourceId = buPlanReceiptDetail.BudgetSourceId, BudgetSubItemCode = buPlanReceiptDetail.BudgetSubItemCode, BudgetSubKindItemCode = buPlanReceiptDetail.BudgetSubKindItemCode, //DebitAccount = buPlanReceiptDetail.DebitAccount, Description = buPlanReceiptDetail.Description, FundStructureId = buPlanReceiptDetail.FundStructureId, JournalMemo = buPlanReceiptEntity.JournalMemo, ProjectId = buPlanReceiptDetail.ProjectId, //ToBankId = buPlanReceiptDetail.BankId, SortOrder = buPlanReceiptDetail.SortOrder, PostedDate = buPlanReceiptEntity.PostedDate, CurrencyCode = buPlanReceiptEntity.CurrencyCode, ExchangeRate = buPlanReceiptEntity.ExchangeRate, }; buPlanReceiptResponse.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(buPlanReceiptResponse.Message)) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; return(buPlanReceiptResponse); } #endregion } if (buPlanReceiptResponse.Message != null) { buPlanReceiptResponse.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(buPlanReceiptResponse); } buPlanReceiptResponse.RefId = buPlanReceiptEntity.RefId; } scope.Complete(); } return(buPlanReceiptResponse); } catch (Exception ex) { buPlanReceiptResponse.Message = ex.Message; return(buPlanReceiptResponse); } }
/// <summary> /// Inserts the ba deposit. /// </summary> /// <param name="sUIncrementDecrementEntity">The b a deposit entity.</param> /// <returns></returns> public SUIncrementDecrementResponse InsertSUIncrementDecrement(SUIncrementDecrementEntity sUIncrementDecrementEntity, bool isconvertDB) { var response = new SUIncrementDecrementResponse { Acknowledge = AcknowledgeType.Success }; try { if (!sUIncrementDecrementEntity.Validate()) { foreach (var error in sUIncrementDecrementEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } using (var scope = new TransactionScope()) { var sUIncrementDecrementByRefNo = SUIncrementDecrementDao.GetSUIncrementDecrementByRefNo(sUIncrementDecrementEntity.RefNo, sUIncrementDecrementEntity.PostedDate); if (sUIncrementDecrementByRefNo != null && sUIncrementDecrementByRefNo.PostedDate.Year == sUIncrementDecrementEntity.PostedDate.Year) { response.Acknowledge = AcknowledgeType.Failure; response.Message = "Mã chứng từ đã tồn tại!"; return(response); } sUIncrementDecrementEntity.RefId = Guid.NewGuid().ToString(); response.Message = SUIncrementDecrementDao.InsertSUIncrementDecrement(sUIncrementDecrementEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region insert SUIncrementDecrementDetails if (sUIncrementDecrementEntity.SUIncrementDecrementDetails != null) { foreach (var sUIncrementDecrementDetailEntity in sUIncrementDecrementEntity.SUIncrementDecrementDetails) { if (!isconvertDB)//AnhNT: Nếu không phải convert dữ liệu thì mới check số lượng tồn { if (sUIncrementDecrementEntity.RefType == (int)BuCA.Enum.RefType.SUDecrement) { AutoMapper( GetUnitsInDepartment(sUIncrementDecrementDetailEntity.InventoryItemId, sUIncrementDecrementDetailEntity.DepartmentId, sUIncrementDecrementDetailEntity.Quantity, sUIncrementDecrementDetailEntity.Description), response); if (response.Acknowledge == AcknowledgeType.Failure) { return(response); } } } sUIncrementDecrementDetailEntity.RefDetailId = Guid.NewGuid().ToString(); sUIncrementDecrementDetailEntity.RefId = sUIncrementDecrementEntity.RefId; response.Message = SUIncrementDecrementDetailDao.InsertSUIncrementDecrementDetail(sUIncrementDecrementDetailEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #region Insert to AccountBalance InsertAccountBalance(sUIncrementDecrementEntity, sUIncrementDecrementDetailEntity); #endregion #region Insert OriginalGeneralLedger var originalGeneralLedgerEntity = new OriginalGeneralLedgerEntity { OriginalGeneralLedgerId = Guid.NewGuid().ToString(), RefType = sUIncrementDecrementEntity.RefType, RefId = sUIncrementDecrementEntity.RefId, RefDetailId = sUIncrementDecrementDetailEntity.RefDetailId, RefDate = sUIncrementDecrementEntity.RefDate, RefNo = sUIncrementDecrementEntity.RefNo, Amount = sUIncrementDecrementDetailEntity.Amount, BudgetChapterCode = sUIncrementDecrementDetailEntity.BudgetChapterCode, CreditAccount = sUIncrementDecrementDetailEntity.CreditAccount, DebitAccount = sUIncrementDecrementDetailEntity.DebitAccount, Description = sUIncrementDecrementDetailEntity.Description, JournalMemo = sUIncrementDecrementEntity.JournalMemo, SortOrder = sUIncrementDecrementDetailEntity.SortOrder, PostedDate = sUIncrementDecrementEntity.PostedDate, // Không có Currency trong db : mặc định VNĐ và 1 CurrencyCode = "VND", ExchangeRate = 1, }; response.Message = OriginalGeneralLedgerDao.InsertOriginalGeneralLedger(originalGeneralLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } #endregion if (sUIncrementDecrementEntity.RefType == 205 || sUIncrementDecrementEntity.RefType == 206) { #region Insert SupplyLedger if (sUIncrementDecrementDetailEntity.InventoryItemId != null) { var supplyLedgerEntity = new SupplyLedgerEntity { SupplyLedgerId = Guid.NewGuid().ToString(), RefId = sUIncrementDecrementEntity.RefId, RefType = sUIncrementDecrementEntity.RefType, RefNo = sUIncrementDecrementEntity.RefNo, RefDate = sUIncrementDecrementEntity.RefDate, PostedDate = sUIncrementDecrementEntity.PostedDate, DepartmentId = sUIncrementDecrementDetailEntity.DepartmentId, InventoryItemId = sUIncrementDecrementDetailEntity.InventoryItemId, Unit = null, UnitPrice = sUIncrementDecrementDetailEntity.UnitPrice, IncrementQuantity = sUIncrementDecrementEntity.RefType == 205 ? sUIncrementDecrementDetailEntity.Quantity : 0, DecrementQuantity = sUIncrementDecrementEntity.RefType == 205 ? 0 : sUIncrementDecrementDetailEntity.Quantity, IncrementAmount = sUIncrementDecrementEntity.RefType == 205 ? sUIncrementDecrementDetailEntity.Amount : 0, DecrementAmount = sUIncrementDecrementEntity.RefType == 205 ? 0 : sUIncrementDecrementDetailEntity.Amount, JournalMemo = sUIncrementDecrementEntity.JournalMemo, Description = sUIncrementDecrementDetailEntity.Description, AccountNumber = sUIncrementDecrementDetailEntity.DebitAccount, RefDetailId = sUIncrementDecrementDetailEntity.RefDetailId }; response.Message = SupplyLedgerDao.InsertSupplyLedger(supplyLedgerEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } } #endregion } } } #endregion scope.Complete(); } response.RefId = sUIncrementDecrementEntity.RefId; return(response); } catch (Exception ex) { response.Message = ex.Message; return(response); } }