public void Should_Construct_SupplierSpecificationDetail()
        {
            _ = new SupplierSpecificationDetail();
            SupplierSpecificationDetail supplierSpecificationDetail = new SupplierSpecificationDetail(id, compinedDetailId, isForApplier, degree, constructionWorkId, maintenanceRunningWorkId);

            _ = supplierSpecificationDetail.ConstructionWork;
            _ = supplierSpecificationDetail.MaintenanceRunningWork;
            _ = supplierSpecificationDetail.SpecificationId;

            supplierSpecificationDetail.ShouldNotBeNull();
        }
Example #2
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);
        }
Example #3
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);
        }
        public void Should_Construct_SupplierSpecificationDetail_create()
        {
            SupplierSpecificationDetail supplierSpecificationDetail = new SupplierSpecificationDetail(0, compinedDetailId, isForApplier, degree, constructionWorkId, maintenanceRunningWorkId);

            supplierSpecificationDetail.ShouldNotBeNull();
        }
        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);
        }