public Models.SiteMetadata GetSitePolices([FromBody] string value) { SiteEditMetadata _metadata = new SiteEditMetadata(); var _request = JsonConvert.DeserializeObject <Models.SiteMetadata>(value); _request.Success = false; _metadata.TenantAdminUrl = _request.TenantAdminUrl; _metadata.Url = _request.Url; try { IMetadataFactory _factory = MetadataFactory.GetInstance(); IMetadataManager _manager = _factory.GetManager(); var _results = _manager.SetSitePolicy(_metadata); _request.Success = true; return(_request); } catch (Exception _ex) { _request.ErrorMessage = _ex.Message; OfficeDevPnP.Core.Diagnostics.Log.Error("MetadataController.GetSiteMetadata", "There was an error processing the request. Exception: {0}", _ex); return(_request); } }
public static SiteEditMetadata ToSiteEditMetadata(SiteMetadata request) { var _newRequest = new SiteEditMetadata(); var _owner = new SiteUser() { Name = request.PrimaryOwnerName, Email = request.PrimaryOwnerEmail }; _newRequest.Url = request.Url; _newRequest.TenantAdminUrl = request.TenantAdminUrl; _newRequest.Title = request.Title; _newRequest.Description = request.Description; _newRequest.TimeZoneId = request.TimeZoneID; _newRequest.Lcid = request.lcid; _newRequest.AppliedSitePolicyName = request.SitePolicyName; _newRequest.SiteOwner = _owner; _newRequest.SitePolicy = request.SitePolicy;; _newRequest.SharePointOnPremises = request.SharePointOnPremises; _newRequest.EnableExternalSharing = request.EnableExternalSharing; _newRequest.BusinessUnit = request.BusinessUnit; _newRequest.Division = request.Division; _newRequest.Function = request.Function; _newRequest.Region = request.Region; return(_newRequest); }
public static SiteMetadata ToSiteMetadata(SiteEditMetadata request) { var _newRequest = new SiteMetadata(); _newRequest.PrimaryOwnerEmail = request.SiteOwner.Email; _newRequest.PrimaryOwnerName = request.SiteOwner.Name; _newRequest.Url = request.Url; _newRequest.TenantAdminUrl = request.TenantAdminUrl; _newRequest.Title = request.Title; _newRequest.Description = request.Description; _newRequest.TimeZoneID = request.TimeZoneId; _newRequest.lcid = request.Lcid; _newRequest.SitePolicy = request.SitePolicy; _newRequest.SitePolicyName = request.AppliedSitePolicyName; _newRequest.SitePolicyExpirationDate = request.AppliedSitePolicyExpirationDate; _newRequest.SharePointOnPremises = request.SharePointOnPremises; _newRequest.EnableExternalSharing = request.EnableExternalSharing; _newRequest.BusinessUnit = request.BusinessUnit; _newRequest.Division = request.Division; _newRequest.Function = request.Function; _newRequest.Region = request.Region; _newRequest.Success = true; return(_newRequest); }
public SiteEditMetadata SetExternalSharing(SiteEditMetadata metadata) { try { if (!metadata.SharePointOnPremises) { string _sharingStatus = string.Empty; ConfigManager _manager = new ConfigManager(); var _tenantAdminUrl = _manager.GetAppSettingsKey("TenantAdminUrl"); AbstractSiteProvisioningService _siteService = new Office365SiteProvisioningService(); _siteService.Authentication = new AppOnlyAuthenticationTenant(); _siteService.Authentication.TenantAdminUrl = _tenantAdminUrl; SiteInformation _srInfo = new SiteInformation(); _srInfo.Url = metadata.Url; if (metadata.EnableExternalSharing) { _srInfo.EnableExternalSharing = true; _sharingStatus = "true"; } else { _srInfo.EnableExternalSharing = false; _sharingStatus = "false"; } _siteService.SetExternalSharing(_srInfo); Uri siteUri = new Uri(metadata.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var clientContext = TokenHelper.GetClientContextWithAccessToken(metadata.Url, accessToken)) { var _web = clientContext.Web; clientContext.Load(_web); //Update property bag as well _web.SetPropertyBagValue(SITE_PROPERTY_EXTERNAL_SHARING, _sharingStatus); metadata.Success = true; }; } } catch (Exception _ex) { var _message = string.Format("There was an error processing the request. {0}", _ex.Message); Log.Error("MetadataController.SetSiteExternalSharingStatus", "There was an error processing the request. Exception: {0}", _ex); metadata.ErrorMessage = _ex.Message; return(metadata); } return(metadata); }
public SiteEditMetadata GetSiteMetadata(SiteEditMetadata metadata) { // Check permissions bool _permsResult = DoesUserHavePermissions(); Uri siteUri = new Uri(metadata.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var clientContext = TokenHelper.GetClientContextWithAccessToken(metadata.Url, accessToken)) { var _web = clientContext.Web; var _site = clientContext.Site; clientContext.Load(clientContext.Site, s => s.Owner.Title); clientContext.ExecuteQuery(); metadata.SiteOwner.Name = _site.Owner.Title; clientContext.Load(clientContext.Site, s => s.Owner.Email); clientContext.ExecuteQuery(); metadata.SiteOwner.Email = _site.Owner.Email; // Get site configuration settings from property bag metadata.SharePointOnPremises = _web.GetPropertyBagValueString(SITE_PROPERTY_ISONPREM, string.Empty).ToBoolean(); metadata.EnableExternalSharing = _web.GetPropertyBagValueString(SITE_PROPERTY_EXTERNAL_SHARING, string.Empty).ToBoolean(); // Get business metadata settings from property bag metadata.Region = _web.GetPropertyBagValueString(SITE_PROPERTY_REGION, string.Empty); metadata.Function = _web.GetPropertyBagValueString(SITE_PROPERTY_FUNCTION, string.Empty); metadata.Division = _web.GetPropertyBagValueString(SITE_PROPERTY_DIVISION, string.Empty); metadata.BusinessUnit = _web.GetPropertyBagValueString(SITE_PROPERTY_BUSINESS, string.Empty); } if (_permsResult) { if (!metadata.SharePointOnPremises) { metadata = CheckTenantSharingCapabilities(metadata); if (metadata.TenantSharingEnabled) { // Get current sharing settings (ON/OFF) metadata = CheckSiteSharingCapabilities(metadata); } } } SetSitePolicy(metadata); return(metadata); }
private SiteEditMetadata CheckSiteSharingCapabilities(SiteEditMetadata metadata) { try { AppOnlyAuthenticationTenant _auth = new AppOnlyAuthenticationTenant(); _auth.TenantAdminUrl = metadata.TenantAdminUrl; var _service = new Office365SiteProvisioningService(); _service.Authentication = _auth; metadata.SiteSharingEnabled = _service.isSiteExternalSharingEnabled(metadata.Url); metadata.Success = true; return(metadata); } catch (Exception _ex) { metadata.ErrorMessage = _ex.Message; OfficeDevPnP.Core.Diagnostics.Log.Error("SPMetadataManager.CheckTenantSharingCapabilities", "There was an error processing the request. Exception: {0}", _ex); return(metadata); } }
public SiteEditMetadata SetSitePolicy(SiteEditMetadata metadata) { AbstractSiteProvisioningService _siteService = new Office365SiteProvisioningService(); var _auth = new AppOnlyAuthenticationSite(); _auth.SiteUrl = metadata.Url; _siteService.Authentication = _auth; var _appliedSitePolicy = _siteService.GetAppliedSitePolicy(); if (_appliedSitePolicy != null) { var _updateSitePolicy = String.Compare(metadata.SitePolicy, _appliedSitePolicy.Name, StringComparison.InvariantCultureIgnoreCase) != 0; if (_updateSitePolicy) { _siteService.SetSitePolicy(metadata.AppliedSitePolicyName); } // Get applied site policy data Uri siteUri = new Uri(metadata.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var ctx = TokenHelper.GetClientContextWithAccessToken(metadata.Url, accessToken)) { var _web = ctx.Web; var _expDate = ctx.Web.GetSiteExpirationDate(); metadata.AppliedSitePolicy = _appliedSitePolicy; metadata.AppliedSitePolicyName = metadata.AppliedSitePolicy.Name; metadata.AppliedSitePolicyExpirationDate = _expDate == DateTime.MinValue ? String.Format("{0}", "None") : String.Format("{0}", _expDate); }; } else { _siteService.SetSitePolicy(metadata.SitePolicy); metadata.AppliedSitePolicyName = metadata.SitePolicy; } return(metadata); }
public SiteEditMetadata SetSiteMetadata(SiteEditMetadata metadata) { // Check permissions bool _permsResult = DoesUserHavePermissions(); Uri siteUri = new Uri(metadata.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var clientContext = TokenHelper.GetClientContextWithAccessToken(metadata.Url, accessToken)) { if (_permsResult) { var _web = clientContext.Web; // Set external sharing value _web.SetPropertyBagValue(SITE_PROPERTY_EXTERNAL_SHARING, metadata.EnableExternalSharing.ToString()); // Set region value _web.SetPropertyBagValue(SITE_PROPERTY_REGION, metadata.Region); // Set function value _web.SetPropertyBagValue(SITE_PROPERTY_FUNCTION, metadata.Function); // Set division value _web.SetPropertyBagValue(SITE_PROPERTY_DIVISION, metadata.Division); // Set business unit value _web.SetPropertyBagValue(SITE_PROPERTY_BUSINESS, metadata.BusinessUnit); metadata = SetSitePolicy(metadata); metadata = SetExternalSharing(metadata); } } return(metadata); }
public SiteEditMetadata SetSiteMetadata(SiteEditMetadata metadata) { // Check permissions bool _permsResult = DoesUserHavePermissions(); Uri siteUri = new Uri(metadata.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var clientContext = TokenHelper.GetClientContextWithAccessToken(metadata.Url, accessToken)) { if (_permsResult) { var _web = clientContext.Web; // Set external sharing value _web.SetPropertyBagValue(SITE_PROPERTY_EXTERNAL_SHARING, metadata.EnableExternalSharing.ToString()); // Set region value _web.SetPropertyBagValue(SITE_PROPERTY_REGION, metadata.Region); // Set function value _web.SetPropertyBagValue(SITE_PROPERTY_FUNCTION, metadata.Function); // Set division value _web.SetPropertyBagValue(SITE_PROPERTY_DIVISION, metadata.Division); // Set business unit value _web.SetPropertyBagValue(SITE_PROPERTY_BUSINESS, metadata.BusinessUnit); metadata = SetSitePolicy(metadata); metadata = SetExternalSharing(metadata); } } return metadata; }
public SiteEditMetadata GetSiteMetadata(SiteEditMetadata metadata) { throw new NotImplementedException(); }
public SiteEditMetadata SetSitePolicy(SiteEditMetadata metadata) { throw new NotImplementedException(); }
public SiteEditMetadata SetSitePolicy(SiteEditMetadata metadata) { AbstractSiteProvisioningService _siteService = new Office365SiteProvisioningService(); var _auth = new AppOnlyAuthenticationSite(); _auth.SiteUrl = metadata.Url; _siteService.Authentication = _auth; var _appliedSitePolicy = _siteService.GetAppliedSitePolicy(); if (_appliedSitePolicy != null) { var _updateSitePolicy = String.Compare(metadata.SitePolicy, _appliedSitePolicy.Name, StringComparison.InvariantCultureIgnoreCase) != 0; if (_updateSitePolicy) { _siteService.SetSitePolicy(metadata.AppliedSitePolicyName); } // Get applied site policy data Uri siteUri = new Uri(metadata.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var ctx = TokenHelper.GetClientContextWithAccessToken(metadata.Url, accessToken)) { var _web = ctx.Web; var _expDate = ctx.Web.GetSiteExpirationDate(); metadata.AppliedSitePolicy = _appliedSitePolicy; metadata.AppliedSitePolicyName = metadata.AppliedSitePolicy.Name; metadata.AppliedSitePolicyExpirationDate = _expDate == DateTime.MinValue ? String.Format("{0}", "None") : String.Format("{0}", _expDate); }; } else { _siteService.SetSitePolicy(metadata.SitePolicy); metadata.AppliedSitePolicyName = metadata.SitePolicy; } return metadata; }
private SiteEditMetadata CheckSiteSharingCapabilities(SiteEditMetadata metadata) { try { AppOnlyAuthenticationTenant _auth = new AppOnlyAuthenticationTenant(); _auth.TenantAdminUrl = metadata.TenantAdminUrl; var _service = new Office365SiteProvisioningService(); _service.Authentication = _auth; metadata.SiteSharingEnabled = _service.isSiteExternalSharingEnabled(metadata.Url); metadata.Success = true; return metadata; } catch (Exception _ex) { metadata.ErrorMessage = _ex.Message; OfficeDevPnP.Core.Diagnostics.Log.Error("SPMetadataManager.CheckTenantSharingCapabilities", "There was an error processing the request. Exception: {0}", _ex); return metadata; } }
public SiteEditMetadata SetExternalSharing(SiteEditMetadata metadata) { try { if (!metadata.SharePointOnPremises) { string _sharingStatus = string.Empty; ConfigManager _manager = new ConfigManager(); var _tenantAdminUrl = _manager.GetAppSettingsKey("TenantAdminUrl"); AbstractSiteProvisioningService _siteService = new Office365SiteProvisioningService(); _siteService.Authentication = new AppOnlyAuthenticationTenant(); _siteService.Authentication.TenantAdminUrl = _tenantAdminUrl; SiteInformation _srInfo = new SiteInformation(); _srInfo.Url = metadata.Url; if (metadata.EnableExternalSharing) { _srInfo.EnableExternalSharing = true; _sharingStatus = "true"; } else { _srInfo.EnableExternalSharing = false; _sharingStatus = "false"; } _siteService.SetExternalSharing(_srInfo); Uri siteUri = new Uri(metadata.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var clientContext = TokenHelper.GetClientContextWithAccessToken(metadata.Url, accessToken)) { var _web = clientContext.Web; clientContext.Load(_web); //Update property bag as well _web.SetPropertyBagValue(SITE_PROPERTY_EXTERNAL_SHARING, _sharingStatus); metadata.Success = true; }; } } catch (Exception _ex) { var _message = string.Format("There was an error processing the request. {0}", _ex.Message); Log.Error("MetadataController.SetSiteExternalSharingStatus", "There was an error processing the request. Exception: {0}", _ex); metadata.ErrorMessage = _ex.Message; return metadata; } return metadata; }
public SiteEditMetadata GetSiteMetadata(SiteEditMetadata metadata) { // Check permissions bool _permsResult = DoesUserHavePermissions(); Uri siteUri = new Uri(metadata.Url); string realm = TokenHelper.GetRealmFromTargetUrl(siteUri); string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken; using (var clientContext = TokenHelper.GetClientContextWithAccessToken(metadata.Url, accessToken)) { var _web = clientContext.Web; var _site = clientContext.Site; clientContext.Load(clientContext.Site, s => s.Owner.Title); clientContext.ExecuteQuery(); metadata.SiteOwner.Name = _site.Owner.Title; clientContext.Load(clientContext.Site, s => s.Owner.Email); clientContext.ExecuteQuery(); metadata.SiteOwner.Email = _site.Owner.Email; // Get site configuration settings from property bag metadata.SharePointOnPremises = _web.GetPropertyBagValueString(SITE_PROPERTY_ISONPREM, string.Empty).ToBoolean(); metadata.EnableExternalSharing = _web.GetPropertyBagValueString(SITE_PROPERTY_EXTERNAL_SHARING, string.Empty).ToBoolean(); // Get business metadata settings from property bag metadata.Region = _web.GetPropertyBagValueString(SITE_PROPERTY_REGION, string.Empty); metadata.Function = _web.GetPropertyBagValueString(SITE_PROPERTY_FUNCTION, string.Empty); metadata.Division = _web.GetPropertyBagValueString(SITE_PROPERTY_DIVISION, string.Empty); metadata.BusinessUnit = _web.GetPropertyBagValueString(SITE_PROPERTY_BUSINESS, string.Empty); } if (_permsResult) { if (!metadata.SharePointOnPremises) { metadata = CheckTenantSharingCapabilities(metadata); if (metadata.TenantSharingEnabled) { // Get current sharing settings (ON/OFF) metadata = CheckSiteSharingCapabilities(metadata); } } } SetSitePolicy(metadata); return metadata; }