public string DeleteBUPlanAdjustment(BUPlanAdjustmentEntity buPlanAdjustment)
        {
            const string procedures = @"uspDelete_BUPlanAdjustment";

            object[] parms = { "@RefID", buPlanAdjustment.RefId };
            return(Db.Delete(procedures, true, parms));
        }
Esempio n. 2
0
 /// <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
     });
 }
Esempio n. 3
0
        /// <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);
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        /// <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
     });
 }
Esempio n. 7
0
        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)));
        }