public void ConfigureSiteCollection(int siteCollectionId) { Debug.WriteLine("Fujitsu.AFC.Services.ProvisioningService.cs -> Processing ConfigureSiteCollection."); var prfMonMethod = new PrfMon(); var siteCollectionName = _provisionedSiteCollectionRepository.Single(x => x.Id == siteCollectionId).Name; using (var context = new ClientContext(SiteCollectionUrl(siteCollectionName))) { context.Credentials = Credentials; var searchCentreUrl = _parameterService.GetParameterByNameAndCache <string>(ParameterNames.SearchCentreUrl); var searchCentreResultsPageUrl = _parameterService.GetParameterByNameAndCache <string>(ParameterNames.SearchCentreResultsPageUrl); var model = new SearchResultModel { Inherit = false, ResultsPageAddress = searchCentreResultsPageUrl, ShowNavigation = false }; var jsonSearchSettings = JsonConvert.SerializeObject(model); context.ActivateFeature(InPlaceRecordManagementTypes.InplaceRecordsManagementFeatureId); context.SetPropertyBagValue(InPlaceRecordManagementTypes.EcmSiteRecordDeclarationDefault, true.ToString()); context.SetPropertyBagValue(InPlaceRecordManagementTypes.EcmSiteRecordRestrictions, $"{EcmSiteRecordRestrictions.BlockDelete}, {EcmSiteRecordRestrictions.BlockEdit}"); context.SetPropertyBagValue(InPlaceRecordManagementTypes.EcmSiteRecordDeclarationBy, EcmRecordDeclarationBy.AllListContributors.ToString()); context.SetPropertyBagValue(InPlaceRecordManagementTypes.EcmSiteRecordUndeclarationBy, EcmRecordDeclarationBy.OnlyAdmins.ToString()); context.SetPropertyBagValue(SearchCentreKeyTypes.SearchCentreUrl, searchCentreUrl); context.SetPropertyBagValue(SearchCentreKeyTypes.SearchCentreSite, jsonSearchSettings); var site = context.Site; context.Load(site, s => s.Audit); context.ExecuteQuery(); site.Audit.AuditFlags = AuditMaskType.All; site.Audit.Update(); context.ExecuteQuery(); } Debug.WriteLine("Fujitsu.AFC.Services.ProvisioningService.cs -> Completed Processing ConfigureSiteCollection. Duration: {0:0.000}s", prfMonMethod.Stop()); }