예제 #1
0
        /// <summary>
        /// Deletes the bu commitment request.
        /// </summary>
        /// <param name="refId">The reference identifier.</param>
        /// <returns>BUCommitmentRequestResponse.</returns>
        public BUCommitmentRequestResponse DeleteBUCommitmentRequest(string refId)
        {
            var bUCommitmentRequestResponse = new BUCommitmentRequestResponse {
                Acknowledge = AcknowledgeType.Success
            };

            using (var scope = new TransactionScope())
            {
                //var bUCommitmentRequestEntry = BUCommitmentRequestDao.GetBUCommitmentRequestbyRefId(refId);
                //bUCommitmentRequestResponse.Message = BUCommitmentRequestDao.DeleteBUCommitmentRequest(bUCommitmentRequestEntry);

                var bUCommitmentRequestForDelete = BUCommitmentRequestDao.GetBUCommitmentRequestbyRefId(refId);

                bUCommitmentRequestResponse.Message = BUCommitmentRequestDao.DeleteBUCommitmentRequest(bUCommitmentRequestForDelete);
                if (bUCommitmentRequestResponse.Message != null)
                {
                    bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure;
                    scope.Dispose();
                    return(bUCommitmentRequestResponse);
                }
                bUCommitmentRequestResponse.Message = OriginalGeneralLedgerDao.DeleteOriginalGeneralLedger(bUCommitmentRequestForDelete.RefId);
                if (bUCommitmentRequestResponse.Message != null)
                {
                    bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure;
                    scope.Dispose();
                    return(bUCommitmentRequestResponse);
                }

                scope.Complete();
            }

            return(bUCommitmentRequestResponse);
        }
예제 #2
0
        /// <summary>
        /// Updates the bu commitment request.
        /// </summary>
        /// <param name="bUCommitmentRequest">The b u commitment request.</param>
        /// <returns>BUCommitmentRequestResponse.</returns>
        public BUCommitmentRequestResponse UpdateBUCommitmentRequest(BUCommitmentRequestEntity bUCommitmentRequest)
        {
            var bUCommitmentRequestResponse = new BUCommitmentRequestResponse {
                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 bUCommitmentRequestEntityExited = BUCommitmentRequestDao.GetBUCommitmentRequestByRefNo(bUCommitmentRequest.RefNo.Trim(), bUCommitmentRequest.PostedDate);
                    if (bUCommitmentRequestEntityExited != null && bUCommitmentRequest.RefId != bUCommitmentRequestEntityExited.RefId && bUCommitmentRequestEntityExited.PostedDate.Year == bUCommitmentRequest.PostedDate.Year)
                    {
                        bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure;
                        bUCommitmentRequestResponse.Message     = @"Số chứng từ '" + bUCommitmentRequest.RefNo + @"' đã tồn tại!";
                        return(bUCommitmentRequestResponse);
                    }

                    bUCommitmentRequestResponse.Message = BUCommitmentRequestDao.UpdateBUCommitmentRequest(bUCommitmentRequest);

                    if (!string.IsNullOrEmpty(bUCommitmentRequestResponse.Message))
                    {
                        bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure;
                        return(bUCommitmentRequestResponse);
                    }
                    bUCommitmentRequestResponse.Message = BUCommitmentRequestDetailDao.DeleteBUCommitmentRequestDetail(bUCommitmentRequest.RefId);

                    if (!string.IsNullOrEmpty(bUCommitmentRequestResponse.Message))
                    {
                        bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure;
                        return(bUCommitmentRequestResponse);
                    }
                    bUCommitmentRequestResponse.Message = OriginalGeneralLedgerDao.DeleteOriginalGeneralLedger(bUCommitmentRequest.RefId);
                    if (!string.IsNullOrEmpty(bUCommitmentRequestResponse.Message))
                    {
                        bUCommitmentRequestResponse.Acknowledge = AcknowledgeType.Failure;
                        return(bUCommitmentRequestResponse);
                    }
                    foreach (var bUCommitmentRequestDetail in bUCommitmentRequest.BUCommitmentRequestDetails)
                    {
                        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 =
                            BUCommitmentRequestDetailDao.InsertBUPlanReceiptDetail(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);
            }
        }