public string DeleteBUPlanAdjustment(BUPlanAdjustmentEntity buPlanAdjustment) { const string procedures = @"uspDelete_BUPlanAdjustment"; object[] parms = { "@RefID", buPlanAdjustment.RefId }; return(Db.Delete(procedures, true, parms)); }
/// <summary> /// Adds the account balance for debit. /// </summary> /// <param name="buPlanReceipt">The bu plan receipt.</param> /// <param name="buPlanReceiptDetail">The bu plan receipt detail.</param> /// <returns></returns> public AccountBalanceEntity AddAccountBalanceForDebit(BUPlanAdjustmentEntity buPlanAdjustment, BUPlanAdjustmentDetailEntity buPlanAdjustmentDetail) { return(new AccountBalanceEntity { AccountBalanceId = Guid.NewGuid().ToString(), AccountNumber = buPlanAdjustmentDetail.DebitAccount, // CurrencyCode = buPlanAdjustment.CurrencyCode, //ExchangeRate = buPlanAdjustment.ExchangeRate, BalanceDate = buPlanAdjustment.PostedDate, MovementDebitAmountOC = buPlanAdjustmentDetail.AdjustmentAmount, //MovementDebitAmount = buPlanAdjustmentDetail.Amount, MovementCreditAmountOC = 0, MovementCreditAmount = 0, BudgetSourceId = buPlanAdjustmentDetail.BudgetSourceId, BudgetChapterCode = buPlanAdjustmentDetail.BudgetChapterCode, BudgetKindItemCode = buPlanAdjustmentDetail.BudgetKindItemCode, BudgetSubKindItemCode = buPlanAdjustmentDetail.BudgetSubKindItemCode, BudgetItemCode = buPlanAdjustmentDetail.BudgetItemCode, BudgetSubItemCode = buPlanAdjustmentDetail.BudgetSubItemCode, ProjectId = buPlanAdjustmentDetail.ProjectId, ActivityId = buPlanAdjustmentDetail.ActivityId, BankAccount = buPlanAdjustmentDetail.BankAccount, FundStructureId = buPlanAdjustmentDetail.FundStructureId, BudgetDetailItemCode = buPlanAdjustmentDetail.BudgetDetailItemCode }); }
/// <summary> /// Inserts the account balance. /// </summary> /// <param name="buPlanReceipt">The bu plan receipt.</param> /// <param name="buPlanReceiptDetail">The bu plan receipt detail.</param> public void InsertAccountBalance(BUPlanAdjustmentEntity buPlanAdjustment, BUPlanAdjustmentDetailEntity buPlanAdjustmentDetail) { //insert AccountBalance for debit account var accountBalanceForDebit = AddAccountBalanceForDebit(buPlanAdjustment, buPlanAdjustmentDetail); var accountBalanceForDebitExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceForDebit); if (accountBalanceForDebitExit != null) { UpdateAccountBalance(accountBalanceForDebitExit, accountBalanceForDebit.MovementDebitAmountOC, accountBalanceForDebit.MovementDebitAmount, true, 1); } else { AccountBalanceDao.InsertAccountBalance(accountBalanceForDebit); } }
public List <BUPlanAdjustmentEntity> GetBUPlanAdjustments(string connectionString) { List <BUPlanAdjustmentEntity> buplanadjustments = new List <BUPlanAdjustmentEntity>(); using (var context = new MISAEntity(connectionString)) { var querry = context.BUPlanAdjustmentDetails.ToList(); var projects = context.Projects.ToList(); var currencys = context.CCies.ToList(); var budgetsource = context.BudgetSources.ToList(); var listitems = context.ListItems.ToList(); var fundstructures = context.FundStructures.ToList(); var budgetproviders = context.BudgetProvidences.ToList(); var accountingobject = context.AccountingObjects.ToList(); var projectexpenses = context.ProjectExpenses.ToList(); banks = context.BankInfoes.ToList(); var resultcontext = context.BUPlanAdjustments.ToList(); foreach (var result in resultcontext) { var newresult = new BUPlanAdjustmentEntity(); newresult.RefId = result.RefID.ToString(); newresult.RefType = ConvRefType.ConvRefType(result.RefType); newresult.RefDate = result.RefDate; newresult.PostedDate = result.PostedDate; newresult.RefNo = result.RefNo; newresult.ParalellRefNo = result.ParalellRefNo; newresult.DecisionDate = result.DecisionDate; newresult.DecisionNo = result.DecisionNo; newresult.JournalMemo = result.JournalMemo; newresult.Posted = result.Posted; newresult.TotalPreAdjustmentAmount = result.TotalPreAdjustmentAmount; newresult.TotalAdjustmentAmount = result.TotalAdjustmentAmount; newresult.TotalPostAdjustmentAmount = result.TotalPostAdjustmentAmount; newresult.PostVersion = result.PostVersion ?? 0; newresult.EditVersion = result.EditVersion ?? 0; //newresult.ExchangeRate = result.e; //newresult.TotalAmount = result.TotalAmount; //newresult.CurrencyCode = result.cc; newresult.BUPlanAdjustmentDetails = BUPlanAdjustmentDetails(result.BUPlanAdjustmentDetails.ToList(), newresult.RefId); buplanadjustments.Add(newresult); } } return(buplanadjustments); }
/// <summary> /// Updates the account balance. /// </summary> /// <param name="buPlanReceipt">The bu plan receipt.</param> /// <returns></returns> public string UpdateAccountBalance(BUPlanAdjustmentEntity buPlanAdjustment) { var buPlanAdjustmentDetail = BuPlanAdjustmentDetailDao.GetBUPlanAdjustmentDetailbyRefId(buPlanAdjustment.RefId); foreach (var buPlanAdjustmentDetails in buPlanAdjustmentDetail) { string message; var accountBalanceForDebit = AddAccountBalanceForDebit(buPlanAdjustment, buPlanAdjustmentDetails); var accountBalanceForDebitExit = AccountBalanceDao.GetExitsAccountBalance(accountBalanceForDebit); if (accountBalanceForDebitExit != null) { message = UpdateAccountBalance(accountBalanceForDebitExit, accountBalanceForDebit.MovementDebitAmountOC, accountBalanceForDebit.MovementDebitAmount, false, 1); if (message != null) { return(message); } } } return(null); }
private static object[] Take(BUPlanAdjustmentEntity bUPlanAdjustmentEntity) { return(new object[] { "@RefID", bUPlanAdjustmentEntity.RefId, "@RefType", bUPlanAdjustmentEntity.RefType, "@RefDate", bUPlanAdjustmentEntity.RefDate, "@PostedDate", bUPlanAdjustmentEntity.PostedDate, "@RefNo", bUPlanAdjustmentEntity.RefNo, "@ParalellRefNo", bUPlanAdjustmentEntity.ParalellRefNo, "@DecisionDate", bUPlanAdjustmentEntity.DecisionDate, "@DecisionNo", bUPlanAdjustmentEntity.DecisionNo, "@JournalMemo", bUPlanAdjustmentEntity.JournalMemo, "@Posted", bUPlanAdjustmentEntity.Posted, "@TotalPreAdjustmentAmount", bUPlanAdjustmentEntity.TotalPreAdjustmentAmount, "@TotalAdjustmentAmount", bUPlanAdjustmentEntity.TotalAdjustmentAmount, "@TotalPostAdjustmentAmount", bUPlanAdjustmentEntity.TotalPostAdjustmentAmount, "@PostVersion", bUPlanAdjustmentEntity.PostVersion, "@EditVersion", bUPlanAdjustmentEntity.EditVersion, "@ExchangeRate", bUPlanAdjustmentEntity.ExchangeRate, "@CurrencyCode", bUPlanAdjustmentEntity.CurrencyCode, "@TotalAmount", bUPlanAdjustmentEntity.TotalAmount }); }
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); } }
public string UpdateBUPlanAdjustment(BUPlanAdjustmentEntity buPlanAdjustment) { const string procedures = @"uspUpdate_BUPlanAdjustment"; return(Db.Update(procedures, true, Take(buPlanAdjustment))); }
public string InsertBUPlanAdjustment(BUPlanAdjustmentEntity buPlanAdjustment) { const string procedures = @"uspInsert_BUPlanAdjustment"; return(Db.Insert(procedures, true, Take(buPlanAdjustment))); }