protected void Submit_Click(object sender, EventArgs e) { var _spContext = SharePointContextProvider.Current.GetSharePointContext(Context); SiteProfile _profile = new SiteProfile(); _profile.SitePolicy = this.GetSiteClassification(); Dictionary<string, string> _customProps = new Dictionary<string, string>(); _customProps.Add(SiteClassificationKeys.AudienceReachKey, this.GetAudience()); _customProps.Add(SiteClassificationKeys.BusinessImpactKey, _profile.SitePolicy); _profile.CustomProperties = _customProps; using (var _ctx = _spContext.CreateUserClientContextForSPHost()) { ISiteClassificationFactory _factory = SiteClassificationFactory.GetInstance(); ISiteClassificationManager _manager = _factory.GetManager(_ctx); _manager.SaveSiteProperties(_ctx, _profile); AddJsLink(_ctx, _ctx.Web); } Response.Redirect(this.Url.Value); }
protected void SetExpirationDate(SiteProfile profile) { if(profile.ExpirationDate != DateTime.MinValue) { this.lblExpirationDate.Text = String.Format("{0}", profile.ExpirationDate); } else { this.lblExpirationDate.Text = string.Format("{0}", "NO EXPIRATION DATE"); } }
protected void SetSiteClassification(SiteProfile profile) { if(!string.IsNullOrEmpty(profile.SitePolicy)) { this.lblSitePolicy.Text = string.Format("{0}", profile.SitePolicy); } else { this.lblSitePolicy.Text = string.Format("{0}", "None"); } }
protected void SetAvaibleSitePolicies(SiteProfile profile) { List<SitePolicyEntity> policies = _ctx.Web.GetSitePolicies(); foreach(var policy in policies) { this.BusinessImpact.Items.Add(policy.Name); } this.BusinessImpact.SelectedIndex = this.BusinessImpact.Items.IndexOf(this.BusinessImpact.Items.FindByText(profile.SitePolicy)); }