public async Task AddEditLocalContentTemplate(LocalContentModel model, int branchId) { IsValidToAddEditLocalContentModel(model); Tender tender = await _tenderQueries.FindTenderWithConditionsTemplateById(Util.Decrypt(model.EncryptedTenderId), branchId); var templates = await _tenderQueries.FindTenderForLocalContentByTenderId(Util.Decrypt(model.EncryptedTenderId), branchId); if (tender == null) { throw new UnHandledAccessException(Resources.SharedResources.ErrorMessages.YouHaveNoAccess); } var versionId = await _tenderQueries.GetCurrentTenderActivityVersion(tender.TenderId); if (tender.TenderLocalContent == null) { tender.CreateTenderLocalContent(); } IsValidToAddEditLocalContent(tender, templates, model); var tenderAttachments = new List <TenderAttachment>(); foreach (var item in model.TenderAttachments) { tenderAttachments.Add(new TenderAttachment(item.Name, item.FileNetReferenceId, item.AttachmentTypeId, null, null)); } if (model.TenderAttachments.Any()) { tender.UpdateLocalContentAttachments(tenderAttachments, _httpContextAccessor.HttpContext.User.UserId()); } 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); } } UpdateTenderConditionTemplateStatusId(tender, Enums.TenderConditoinsStatus.LocalContent); tender.TenderLocalContent.UpdateTenderLocalContent(tender.TenderId, model.LocalContentMechanismIDs, model.IsApplyProvisionsMandatoryList, model.MinimumBaseline, model.MinimumPercentageLocalContentTarget); await _tenderCommands.UpdateAsync(tender); }