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