Пример #1
0
        private void SetUXAvailableSitePolicy()
        {
            AbstractSiteProvisioningService _siteService = new Office365SiteProvisioningService();
            var _auth = new AppOnlyAuthenticationSite();

            _auth.SiteUrl = this.Url.Value;
            _siteService.Authentication = _auth;

            var _sitePolicies = _siteService.GetAvailablePolicies();

            foreach (var _sitePolicyEntity in _sitePolicies)
            {
                this.BusinessImpact.Items.Add(_sitePolicyEntity.Name);
            }

            var _appliedSitePolicy = _siteService.GetAppliedSitePolicy();

            if (_appliedSitePolicy != null)
            {
                this.lblSitePolicy.Text = _appliedSitePolicy.Name;
                var _expirationDate = _ctx.Web.GetSiteExpirationDate();
                this.lblExpirationDate.Text = _expirationDate == DateTime.MinValue ? String.Format("{0}", "None") : String.Format("{0}", _expirationDate);
            }
            else
            {
                this.lblSitePolicy.Text     = string.Format("{0}", "None");
                this.lblExpirationDate.Text = String.Format("{0}", "None");
            }
        }
        public ExternalSharingRequest IsExternalSharingEnabled([FromBody] string value)
        {
            var _request = JsonConvert.DeserializeObject <ExternalSharingRequest>(value);

            _request.Success = false;

            try
            {
                AppOnlyAuthenticationTenant _auth = new AppOnlyAuthenticationTenant();
                _auth.TenantAdminUrl = _request.TenantAdminUrl;
                var _service = new Office365SiteProvisioningService();
                _service.Authentication         = _auth;
                _request.ExternalSharingEnabled = _service.IsTenantExternalSharingEnabled(_request.TenantAdminUrl);
                _request.Success = true;
                return(_request);
            }
            catch (Exception _ex)
            {
                _request.ErrorMessage = _ex.Message;
                OfficeDevPnP.Core.Diagnostics.Log.Error("ProvisioningController.IsExternalSharingEnabled",
                                                        "There was an error processing the request. Exception: {0}",
                                                        _ex);
                return(_request);
            }
        }
Пример #3
0
        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);
        }
Пример #4
0
        protected void Submit_Click(object sender, EventArgs e)
        {
            var _web = _ctx.Web;

            var _division       = Request.Form["selectDivision"].ToString();
            var _updateDivision = string.Compare(this.lblDivision.Text, _division, StringComparison.InvariantCultureIgnoreCase) != 0;

            if (_updateDivision)
            {
                _web.SetPropertyBagValue(SITE_PROPERTY_DIVISION, _division);
            }

            var _region       = Request.Form["selectRegions"].ToString();
            var _updateRegion = string.Compare(this.lblRegion.Text, _region, StringComparison.InvariantCultureIgnoreCase) != 0;

            if (_updateRegion)
            {
                _web.SetPropertyBagValue(SITE_PROPERTY_REGION, _region);
            }

            var _function       = Request.Form["selectFunction"].ToString();
            var _updateFunction = string.Compare(this.lblFunction.Text, _function, StringComparison.InvariantCultureIgnoreCase) != 0;

            if (_updateFunction)
            {
                _web.SetPropertyBagValue(SITE_PROPERTY_FUNCTION, _function);
            }

            var _sitePolicyName   = Request.Form["BusinessImpact"].ToString();
            var _updateSitePolicy = String.Compare(this.lblSitePolicy.Text, _sitePolicyName, StringComparison.InvariantCultureIgnoreCase) != 0;

            if (_updateSitePolicy)
            {
                AbstractSiteProvisioningService _siteService = new Office365SiteProvisioningService();
                var _auth = new AppOnlyAuthenticationSite();
                _auth.SiteUrl = this.Url.Value;
                _siteService.Authentication = _auth;
                _siteService.SetSitePolicy(_sitePolicyName);
            }

            Response.Redirect(this.Url.Value);
        }
Пример #5
0
 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 List <SitePolicyResults> GetSitePolicies()
        {
            var           _returnResults = new List <SitePolicyResults>();
            ConfigManager _manager       = new ConfigManager();

            AbstractSiteProvisioningService _siteService = new Office365SiteProvisioningService();
            var _auth = new AppOnlyAuthenticationTenant();

            _auth.SiteUrl = _manager.GetAppSettingsKey("SPHost");

            var _sitePolicies = _siteService.GetAvailablePolicies();

            foreach (var _sitePolicyEntity in _sitePolicies)
            {
                var _policy = new SitePolicyResults();
                _policy.Key   = _sitePolicyEntity.Name;
                _policy.Value = _sitePolicyEntity.Description;
                _returnResults.Add(_policy);
            }
            return(_returnResults);
        }
Пример #7
0
        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);
        }
Пример #8
0
        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;
        }        
Пример #9
0
 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;
     }
 }
Пример #10
0
        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;

        }