public async Task SaveTwoFileTechnicalCheckingDataAndAttachemntsDetial(OfferCheckingContainer container)
        {
            OfferDetailModel       model          = container.model;
            CheckOfferResultModel  checkingResult = container.checkingResult;
            SupplierCombinedDetail details        = await _offerQueries.GetCombinedOfferDetail(Util.Decrypt(model.CombinedIdString));

            if (details == null)
            {
                details = new SupplierCombinedDetail
                {
                    Combined = await _offerQueries.GetCombinedbyId(Util.Decrypt(model.CombinedIdString))
                };
            }
            await SaveDirectPurchaseAttachment(model, details /*, offer*/);

            if (details.Combined.Offer.Tender.TenderStatusId != (int)Enums.TenderStatus.OffersChecking)
            {
                details.Combined.Offer.Tender.UpdateTenderStatus(Enums.TenderStatus.OffersChecking);
            }
            details.Combined.Offer.UpdateOfferTecknicalCheckingStatus(checkingResult.TechnicalOfferStatusId, checkingResult.RejectionReason, checkingResult.Notes);
            if (checkingResult.TechniciansReportAttachments != null)
            {
                List <TechnicianReportAttachment> technicianReportAttachments = _mapper.Map <List <TechnicianReportAttachment> >(checkingResult.TechniciansReportAttachments);
                details.Combined.Offer.UpdateTechnicianReportAttachments(technicianReportAttachments);
            }
            await _offerCommands.UpdateCombinedDetailAsync(details);
        }
        public async Task SaveDirectPurchaseOneFileCheckingDataAndAttachemntsDetial(OfferCheckingContainer container)
        {
            var localContentSetting = await _offerQueries.GetLocalContentSettingsDate();

            OfferDetailModel       model          = container.model;
            CheckOfferResultModel  checkingResult = container.checkingResult;
            SupplierCombinedDetail details        = await _offerQueries.GetCombinedOfferDetail(Util.Decrypt(model.CombinedIdString));

            if (details == null)
            {
                details = new SupplierCombinedDetail
                {
                    Combined = await _offerQueries.GetCombinedbyId(Util.Decrypt(model.CombinedIdString))
                };
            }
            await SaveDirectPurchaseAttachment(model, details /*, offer*/);
            await CalculateFinalPriceDirectPurchase(details.Combined.Offer);

            if (details.Combined.Offer.Tender.TenderStatusId != (int)Enums.TenderStatus.OffersChecking)
            {
                details.Combined.Offer.Tender.UpdateTenderStatus(Enums.TenderStatus.OffersChecking);
            }
            details.Combined.Offer.UpdateOfferFinantialCheckingStatus(checkingResult.FinantialOfferStatusId, checkingResult.FinantialRejectionReason, checkingResult.FinantialNotes);
            details.Combined.Offer.UpdateOfferTecknicalCheckingStatus(checkingResult.TechnicalOfferStatusId, checkingResult.RejectionReason, checkingResult.Notes);
            if (details.Combined.Offer.Tender.IsValidToApplyOfferLocalContentChanges(localContentSetting.Date.Value) && details.Combined.Offer.OfferlocalContentDetails != null)
            {
                details.Combined.Offer.OfferlocalContentDetails.SetIsBindedToMandatoryList(checkingResult.IsBindedToMandatoryList);
            }
            if (checkingResult.TechniciansReportAttachments != null)
            {
                List <TechnicianReportAttachment> technicianReportAttachments = _mapper.Map <List <TechnicianReportAttachment> >(checkingResult.TechniciansReportAttachments);
                details.Combined.Offer.UpdateTechnicianReportAttachments(technicianReportAttachments);
            }
            await _offerCommands.UpdateCombinedDetailAsync(details);
        }
        public SupplierCombinedDetail BuildSupplierCombinedDetail()
        {
            SupplierCombinedDetail supplierCombinedDetail = new SupplierCombinedDetail();

            supplierCombinedDetail.UpdateAttachmentDetails(1, 1, true, true, true, true, true, true, true, true, true, true, true, true);
            return(supplierCombinedDetail);
        }
Exemplo n.º 4
0
        public async Task <SupplierCombinedDetail> UpdateCombinedDetailAsync(SupplierCombinedDetail details)
        {
            Check.ArgumentNotNull(nameof(details), details);
            _context.SupplierCombinedDetails.Update(details);
            await _context.SaveChangesAsync();

            return(details);
        }
Exemplo n.º 5
0
        public void Should_AddSpecification()
        {
            SupplierCombinedDetail supplierCombinedDetail = new SupplierCombinedDetail();

            supplierCombinedDetail.AddSpecification(new List <SupplierSpecificationDetail>()
            {
                new SupplierSpecificationDetail()
            });

            Assert.NotEmpty(supplierCombinedDetail.SpecificationDetails);
        }
Exemplo n.º 6
0
        public void Should_AddCalssificationAttachments()
        {
            SupplierCombinedDetail supplierCombinedDetail = new SupplierCombinedDetail();

            supplierCombinedDetail.AddCalssificationAttachments(new List <SupplierSpecificationDetail>()
            {
                new SupplierSpecificationDetail()
            });

            supplierCombinedDetail.ShouldNotBeNull();
        }
Exemplo n.º 7
0
        public void Should_updateAttachmentsList()
        {
            SupplierCombinedDetail supplierCombinedDetail = new SupplierCombinedDetail();

            supplierCombinedDetail.updateAttachmentsList(new List <SupplierSpecificationDetail>()
            {
                new SupplierSpecificationDetail()
            });

            supplierCombinedDetail.ShouldNotBeNull();
        }
Exemplo n.º 8
0
        public void Should_UpdateAttachmentDetails()
        {
            SupplierCombinedDetail supplierCombinedDetail = new SupplierCombinedDetail();

            supplierCombinedDetail.UpdateAttachmentDetails(combinedDetailId, combinedId, isChamberJoiningAttached, isChamberJoiningValid, isCommercialRegisterAttached
                                                           , isCommercialRegisterValid, isSaudizationAttached, isSaudizationValidDate, isSocialInsuranceAttached, isSocialInsuranceValidDate, isZakatAttached, isZakatValidDate, isSpecificationAttached, isSpecificationValidDate);

            supplierCombinedDetail.UpdateAttachmentDetails(0, combinedId, isChamberJoiningAttached, isChamberJoiningValid, isCommercialRegisterAttached
                                                           , isCommercialRegisterValid, isSaudizationAttached, isSaudizationValidDate, isSocialInsuranceAttached, isSocialInsuranceValidDate, isZakatAttached, isZakatValidDate, isSpecificationAttached, isSpecificationValidDate);

            supplierCombinedDetail.ShouldNotBeNull();
        }
Exemplo n.º 9
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);
        }
Exemplo n.º 10
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 async Task <SupplierCombinedDetail> SaveDirectPurchaseAttachmentsChecking(OfferDetailModel m)
        {
            SupplierCombinedDetail details = await _offerQueries.GetCombinedOfferDetail(Util.Decrypt(m.CombinedIdString));

            if (details == null)
            {
                details = new SupplierCombinedDetail
                {
                    Combined = await _offerQueries.GetCombinedbyId(Util.Decrypt(m.CombinedIdString))
                };
            }
            /*SupplierCombinedDetail */
            CheckIfUserCanAccessLowBudgetTender(details.Combined.Offer.Tender.IsLowBudgetDirectPurchase, details.Combined.Offer.Tender.DirectPurchaseMemberId, _httpContextAccessor.HttpContext.User.UserId());
            details = await SaveDirectPurchaseAttachment(m, details /*, offer*/);

            details = await _offerCommands.UpdateCombinedDetailAsync(details);

            return(details);
        }
        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);
        }
Exemplo n.º 13
0
        public void Should_Construct_SupplierCombinedDetail()
        {
            SupplierCombinedDetail supplierCombinedDetail = new SupplierCombinedDetail();

            supplierCombinedDetail.ShouldNotBeNull();
        }