コード例 #1
0
        public void Should_Construct_SupplierBankGuaranteeDetail_create()
        {
            SupplierBankGuaranteeDetail supplierBankGuaranteeDetail = new SupplierBankGuaranteeDetail(0, offerId, isBankGuaranteeValid, guaranteeNumber, bankId, amount,
                                                                                                      DateTime.Now.Date, DateTime.Now.Date, guaranteeDays);

            supplierBankGuaranteeDetail.ShouldNotBeNull();
        }
コード例 #2
0
        public void Should_Deactive()
        {
            SupplierBankGuaranteeDetail supplierBankGuaranteeDetail = new SupplierBankGuaranteeDetail(0, offerId, isBankGuaranteeValid, guaranteeNumber, bankId, amount,
                                                                                                      DateTime.Now.Date, DateTime.Now.Date, guaranteeDays);

            supplierBankGuaranteeDetail.DeActive();
            Assert.False(supplierBankGuaranteeDetail.IsActive);
        }
コード例 #3
0
        public void Should_Delete()
        {
            SupplierBankGuaranteeDetail supplierBankGuaranteeDetail = new SupplierBankGuaranteeDetail(0, offerId, isBankGuaranteeValid, guaranteeNumber, bankId, amount,
                                                                                                      DateTime.Now.Date, DateTime.Now.Date, guaranteeDays);

            supplierBankGuaranteeDetail.Delete();
            Assert.Equal(ObjectState.Deleted, supplierBankGuaranteeDetail.State);
        }
コード例 #4
0
        public void Should_Construct_SupplierBankGuaranteeDetail()
        {
            _ = new SupplierBankGuaranteeDetail();
            SupplierBankGuaranteeDetail supplierBankGuaranteeDetail = new SupplierBankGuaranteeDetail(attachmentId, offerId, isBankGuaranteeValid, guaranteeNumber, bankId, amount,
                                                                                                      DateTime.Now.Date, DateTime.Now.Date, guaranteeDays);

            _ = supplierBankGuaranteeDetail.Bank;
            _ = supplierBankGuaranteeDetail.Offer;

            supplierBankGuaranteeDetail.ShouldNotBeNull();
        }
コード例 #5
0
        public async Task <Offer> AddFinancialOfferAttachmentsInVRO(OfferDetailsForCheckingModel m)
        {
            SupplierCombinedDetail details = await _offerQueries.GetCombinedOfferDetailForVRO(Util.Decrypt(m.CombinedIdString));

            if (details == null)
            {
                details = new SupplierCombinedDetail
                {
                    Combined = await _offerQueries.GetCombinedbyId(Util.Decrypt(m.CombinedIdString))
                };
            }
            var offer = details.Combined.Offer;

            if (offer.Tender.TenderStatusId != (int)Enums.TenderStatus.VROOffersFinancialChecking)
            {
                offer.Tender.UpdateTenderStatus(Enums.TenderStatus.VROOffersFinancialChecking, "", _httpContextAccessor.HttpContext.User.UserId(), TenderActions.FinancialCheckingStarted);
            }
            List <SupplierBankGuaranteeDetail> GuaranteesLst     = new List <SupplierBankGuaranteeDetail>();
            List <SupplierSpecificationDetail> SpecificationsLst = new List <SupplierSpecificationDetail>();

            foreach (var item in m.SpecificationsFiles)
            {
                var Specification = new SupplierSpecificationDetail(item.SpecificationId, Util.Decrypt(m.CombinedIdString), item.IsForApplier, item.Degree, item.ConstructionWorkId, item.MaintenanceRunningWorkId);
                SpecificationsLst.Add(Specification);
            }

            foreach (var item in m.BankGuaranteeFiles)
            {
                var BankGuarantee = new SupplierBankGuaranteeDetail(item.BankGuaranteeId, offer.OfferId, item.IsBankGuaranteeValid, item.GuaranteeNumber, item.BankId.Value, item.Amount, item.GuaranteeStartDate, item.GuaranteeEndDate, item.GuaranteeDays);
                GuaranteesLst.Add(BankGuarantee);
            }
            offer.UpdateOfferAttachments(m.IsOfferCopyAttached, m.IsOfferLetterAttached, m.OfferLetterNumber, m.OfferLetterDate, m.IsVisitationAttached, m.IsPurchaseBillAttached, m.IsBankGuaranteeAttached);
            offer.updateBankGurnteeList(GuaranteesLst);
            offer.UpdateVROOfferFinancialWeight(m.FinancialWeight);
            offer.UpdateOpeningDiscountNotes(m.Discount, m.DiscountNotes);

            details.UpdateAttachmentDetails(details.CombinedDetailId, Util.Decrypt(m.CombinedIdString), m.IsChamberJoiningAttached, m.IsChamberJoiningValid,
                                            m.IsCommercialRegisterAttached, m.IsCommercialRegisterValid, m.IsSaudizationAttached, m.IsSaudizationValidDate, m.IsSocialInsuranceAttached,
                                            m.IsSocialInsuranceValidDate, m.IsZakatAttached, m.IsZakatValidDate, m.IsSpecificationAttached, m.IsSpecificationValidDate);
            details.updateAttachmentsList(SpecificationsLst);

            await CalcFinalPrice(offer);

            await _offerCommands.UpdateCombinedDetailAsync(details);

            return(offer);
        }
コード例 #6
0
        public async Task <ApiResponseObject <string> > UpdateBankGuaranteeFile(BankGuaranteeFileDto bankGuarantee)
        {
            var checkData = CheckValidData(bankGuarantee);

            if (!checkData.success)
            {
                return(checkData);
            }
            var offer = await _bankGuaranteeQueries.GetOfferDetailsByTenderNumberAndCr(bankGuarantee.Tender_number, bankGuarantee.CR_number);

            if (offer == null)
            {
                return new ApiResponseObject <string>("")
                       {
                           success = false, data = "", message = "خطا في البيانات"
                       }
            }
            ;

            List <SupplierBankGuaranteeDetail> guaranteesLst = new List <SupplierBankGuaranteeDetail>();
            var offerBankGuarantee = new SupplierBankGuaranteeDetail(0, offer.OfferId, true, bankGuarantee.Guarantee_number, bankGuarantee.Bank_identity, bankGuarantee.Guarantee_value, bankGuarantee.Guarantee_start_date, bankGuarantee.Guarantee_end_date, int.Parse(bankGuarantee.GuaranteeDays.ToString()));

            guaranteesLst.Add(offerBankGuarantee);
            offer.UpdateBankGurnteesDetails(guaranteesLst);
            var updatedOffer = await _offerCommands.UpdateAsync(offer);

            var response = new ApiResponseObject <string>("");

            if (updatedOffer == null)
            {
                response = new ApiResponseObject <string>("")
                {
                    success = false, data = "", message = "خطا في البيانات"
                }
            }
            ;
            else
            {
                response = new ApiResponseObject <string>("")
                {
                    success = true, data = "", message = "تم استلام ملف الضمان البنكي بنجاح"
                }
            };

            return(response);
        }
コード例 #7
0
        public async Task <SupplierCombinedDetail> SaveCombinedTechnicalDetailsVRO(OfferDetailModel m)
        {
            bool  isBankGuaranteeAttached = false;
            Offer offer = await _offerQueries.GetOfferById(Util.Decrypt(m.OfferIdString));

            SupplierCombinedDetail details = await _offerQueries.GetCombinedOfferDetail(Util.Decrypt(m.CombinedIdString));

            if (details == null)
            {
                details = new SupplierCombinedDetail();
            }
            List <SupplierBankGuaranteeDetail> GuaranteesLst     = new List <SupplierBankGuaranteeDetail>();
            List <SupplierSpecificationDetail> SpecificationsLst = new List <SupplierSpecificationDetail>();

            foreach (var item in m.BankGuaranteeFiles)
            {
                var BankGuarantee = new SupplierBankGuaranteeDetail(item.BankGuaranteeId, offer.OfferId, item.IsBankGuaranteeValid, item.GuaranteeNumber, item.BankId.Value, item.Amount, item.GuaranteeStartDate, item.GuaranteeEndDate, item.GuaranteeDays);
                GuaranteesLst.Add(BankGuarantee);
            }
            isBankGuaranteeAttached = true;

            offer.UpdateOfferFinantialCheckingDetails(m.IsFinaintialOfferLetterAttached, m.FinantialOfferLetterNumber, m.FinantialOfferLetterDate, m.IsFinantialOfferLetterCopyAttached, isBankGuaranteeAttached);

            foreach (var item in m.SpecificationsFiles)
            {
                var Specification = new SupplierSpecificationDetail(item.SpecificationId, Util.Decrypt(m.CombinedIdString), item.IsForApplier, item.Degree, item.ConstructionWorkId, item.MaintenanceRunningWorkId);
                SpecificationsLst.Add(Specification);
            }
            if (m.CombinedOwner == true)
            {
                offer.UpdateOfferAttachments(m.IsOfferCopyAttached, m.IsOfferLetterAttached, m.OfferLetterNumber, m.OfferLetterDate, m.IsVisitationAttached, m.IsPurchaseBillAttached, m.IsBankGuaranteeAttached);
                offer.UpdateOfferFinancialAttachments(m.IsFinaintialOfferLetterAttached, m.IsFinantialOfferLetterCopyAttached);
                offer.UpdateBankGurnteesDetails(GuaranteesLst);
            }
            details.UpdateAttachmentDetails(details.CombinedDetailId, Util.Decrypt(m.CombinedIdString), m.IsChamberJoiningAttached, m.IsChamberJoiningValid,
                                            m.IsCommercialRegisterAttached, m.IsCommercialRegisterValid, m.IsSaudizationAttached, m.IsSaudizationValidDate, m.IsSocialInsuranceAttached,
                                            m.IsSocialInsuranceValidDate, m.IsZakatAttached, m.IsZakatValidDate, m.IsSpecificationAttached, m.IsSpecificationValidDate);
            details.updateAttachmentsList(SpecificationsLst);

            offer = await _offerCommands.UpdateAsync(offer);

            details = await _offerCommands.UpdateCombinedDetailAsync(details);

            return(details);
        }
コード例 #8
0
        private async Task <SupplierCombinedDetail> SaveDirectPurchaseAttachment(OfferDetailModel model, SupplierCombinedDetail details /*, Offer offer*/)
        {
            var  statuses = GetOfferDirectPurchaseStatuses(details.Combined.Offer);
            bool isOneFile = statuses.Item1, isTechnical = statuses.Item2, isFinancial = statuses.Item3;
            List <SupplierSpecificationDetail> SpecificationsLst = new List <SupplierSpecificationDetail>();

            if ((isOneFile || isTechnical) && model.CombinedOwner)
            {
                details.Combined.Offer.UpdateOfferAttachments(model.IsOfferCopyAttached,
                                                              model.IsOfferLetterAttached,
                                                              model.OfferLetterNumber,
                                                              model.OfferLetterDate,
                                                              model.IsVisitationAttached,
                                                              model.IsPurchaseBillAttached,
                                                              model.IsBankGuaranteeAttached);
            }
            if ((isOneFile || isFinancial) && model.CombinedOwner)
            {
                List <SupplierBankGuaranteeDetail> GuaranteesLst = new List <SupplierBankGuaranteeDetail>();
                foreach (var item in model.BankGuaranteeFiles)
                {
                    var BankGuarantee = new SupplierBankGuaranteeDetail(item.BankGuaranteeId, details.Combined.Offer.OfferId, item.IsBankGuaranteeValid, item.GuaranteeNumber, item.BankId.Value, item.Amount, item.GuaranteeStartDate, item.GuaranteeEndDate, item.GuaranteeDays);
                    GuaranteesLst.Add(BankGuarantee);
                }
                details.Combined.Offer.UpdateBankGurnteesDetails(GuaranteesLst);
                details.Combined.Offer.UpdateOfferFinantialCheckingDetails(model.IsFinaintialOfferLetterAttached,
                                                                           model.FinantialOfferLetterNumber,
                                                                           model.FinantialOfferLetterDate,
                                                                           model.IsFinantialOfferLetterCopyAttached,
                                                                           model.IsBankGuaranteeAttached);
            }
            if (isOneFile || isTechnical)
            {
                foreach (var item in model.SpecificationsFiles)
                {
                    var Specification = new SupplierSpecificationDetail(item.SpecificationId, Util.Decrypt(model.CombinedIdString), item.IsForApplier, item.Degree, item.ConstructionWorkId, item.MaintenanceRunningWorkId);
                    SpecificationsLst.Add(Specification);
                }
                details.updateAttachmentsList(SpecificationsLst);
                details.UpdateAttachmentDetails(details.CombinedDetailId,
                                                Util.Decrypt(model.CombinedIdString),
                                                model.IsChamberJoiningAttached,
                                                model.IsChamberJoiningValid,
                                                model.IsCommercialRegisterAttached,
                                                model.IsCommercialRegisterValid,
                                                model.IsSaudizationAttached,
                                                model.IsSaudizationValidDate,
                                                model.IsSocialInsuranceAttached,
                                                model.IsSocialInsuranceValidDate,
                                                model.IsZakatAttached,
                                                model.IsZakatValidDate,
                                                model.IsSpecificationAttached,
                                                model.IsSpecificationValidDate);

                if (details.Combined.Offer.Tender.TenderStatusId != (int)Enums.TenderStatus.OffersChecking)
                {
                    details.Combined.Offer.Tender.UpdateTenderStatus(Enums.TenderStatus.OffersChecking);
                }
            }
            if (isFinancial && details.Combined.Offer.Tender.TenderStatusId != (int)Enums.TenderStatus.OffersFinancialChecking)
            {
                details.Combined.Offer.Tender.UpdateTenderStatus(Enums.TenderStatus.OffersFinancialChecking);
            }
            return(details);
        }