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