public async Task AddEditDescriptionAndConditionsTemplate(EditConditionTemplateEighthSectionModel model, int branchId) { Tender tender = await _tenderQueries.FindTenderWithConditionsTemplateById(Util.Decrypt(model.EncryptedTenderId), branchId); if (tender == null) { throw new UnHandledAccessException(Resources.SharedResources.ErrorMessages.YouHaveNoAccess); } var versionId = await _tenderQueries.GetCurrentTenderActivityVersion(tender.TenderId); IsValidToAddEditDescriptionAndConditionsTemplate(tender, model); if (versionId < (int)Enums.ActivityVersions.Sprint7Activities) { var hasInvitation = ((tender.PreQualificationId != null || tender.TenderTypeId == (int)Enums.TenderType.SecondStageTender || tender.TenderTypeId == (int)Enums.TenderType.NewDirectPurchase || tender.TenderTypeId == (int)Enums.TenderType.ReverseBidding || tender.TenderTypeId == (int)Enums.TenderType.LimitedTender || tender.TenderTypeId == (int)Enums.TenderType.FrameworkAgreement || tender.TenderTypeId == (int)Enums.TenderType.Competition || tender.TenderTypeId == (int)Enums.TenderType.NationalTransformationProjects) && tender.InvitationTypeId == (int)Enums.InvitationType.Specific) || (tender.TenderTypeId == (int)Enums.TenderType.CurrentDirectPurchase && tender.OfferPresentationWayId == (int)Enums.OfferPresentationWayId.TwoSepratedFiles); if (!hasInvitation) { tender.UpdateTenderStatus(Enums.TenderStatus.Established, "", _httpContextAccessor.HttpContext.User.UserId(), TenderActions.CreateTender); } else { tender.UpdateTenderStatus(Enums.TenderStatus.UnderEstablishing); } } var tenderAttachments = new List <TenderAttachment>(); foreach (var item in model.TenderAttachments) { tenderAttachments.Add(new TenderAttachment(item.Name, item.FileNetReferenceId, item.AttachmentTypeId, null, null)); } tender.UpdateAttachments(tenderAttachments, _httpContextAccessor.HttpContext.User.UserId()); var hasMaterialInformation = tender.TenderActivities.Count == 1 && tender.TenderActivities.FirstOrDefault().Activity.ActivityTemplateVersions.Any(t => t.TemplateId == (int)Enums.TenderActivityTamplate.MedicalMaterials); tender.TenderConditionsTemplate.UpdateConditionsTemplateEighthStep(model.WorkforceSpecifications, model.MaterialsSpecifications, model.SpecialConditions, model.Attachments, model.EquipmentsSpecifications, model.ContractBasedOnPerformanceDetails, model.QualitySpecifications, model.SafetySpecifications, model.BasicInformation, model.RequiredDcoumentationBefore, model.Tests, model.IntilizationAndStartWork, model.RequiredDcoumentationAfter, model.Trainging, model.Guarantee, model.Maintanance, model.MachineGuarantee, model.MachineMaintanance, hasMaterialInformation ); await _tenderCommands.UpdateAsync(tender); }