// Helper method used by CopyPersonalizationState() private void ApplyPersonalizationState(Control control, PersonalizationInfo info) { ITrackingPersonalizable trackingPersonalizable = control as ITrackingPersonalizable; IPersonalizable customPersonalizable = control as IPersonalizable; if (trackingPersonalizable != null) { trackingPersonalizable.BeginLoad(); } // If customPersonalizable is null, then info.CustomProperties should also be null Debug.Assert(!(customPersonalizable == null && info.CustomProperties != null)); if (customPersonalizable != null && info.CustomProperties != null && info.CustomProperties.Count > 0) { customPersonalizable.Load(info.CustomProperties); } if (info.Properties != null && info.Properties.Count > 0) { BlobPersonalizationState.SetPersonalizedProperties(control, info.Properties); } if (trackingPersonalizable != null) { trackingPersonalizable.EndLoad(); } }
// Helper method used by CopyPersonalizationState() private PersonalizationInfo ExtractPersonalizationState(Control control) { ITrackingPersonalizable trackingPersonalizable = control as ITrackingPersonalizable; IPersonalizable customPersonalizable = control as IPersonalizable; if (trackingPersonalizable != null) { trackingPersonalizable.BeginSave(); } PersonalizationInfo info = new PersonalizationInfo(); if (customPersonalizable != null) { info.CustomProperties = new PersonalizationDictionary(); customPersonalizable.Save(info.CustomProperties); } info.Properties = BlobPersonalizationState.GetPersonalizedProperties(control, PersonalizationScope.Shared); if (trackingPersonalizable != null) { trackingPersonalizable.EndSave(); } return(info); }
public virtual void SavePersonalizationState(PersonalizationState state) { string str; string str2; if (state == null) { throw new ArgumentNullException("state"); } BlobPersonalizationState state2 = state as BlobPersonalizationState; if (state2 == null) { throw new ArgumentException(System.Web.SR.GetString("PersonalizationProvider_WrongType"), "state"); } WebPartManager webPartManager = state2.WebPartManager; this.GetParameters(webPartManager, out str, out str2); byte[] dataBlob = null; bool isEmpty = state2.IsEmpty; if (!isEmpty) { dataBlob = state2.SaveDataBlob(); isEmpty = (dataBlob == null) || (dataBlob.Length == 0); } if (isEmpty) { this.ResetPersonalizationBlob(webPartManager, str, str2); } else { this.SavePersonalizationBlob(webPartManager, str, str2, dataBlob); } }
/// <devdoc> /// Allows the provider to load personalization data. The specified /// WebPartManager is used to access the current page, which can be used /// to retrieve the path and user information. /// </devdoc> public virtual PersonalizationState LoadPersonalizationState(WebPartManager webPartManager, bool ignoreCurrentUser) { if (webPartManager == null) { throw new ArgumentNullException("webPartManager"); } string path; string userName; GetParameters(webPartManager, out path, out userName); if (ignoreCurrentUser) { userName = null; } byte[] sharedDataBlob = null; byte[] userDataBlob = null; LoadPersonalizationBlobs(webPartManager, path, userName, ref sharedDataBlob, ref userDataBlob); BlobPersonalizationState blobState = new BlobPersonalizationState(webPartManager); blobState.LoadDataBlobs(sharedDataBlob, userDataBlob); return(blobState); }
private void ApplyPersonalizationState(Control control, PersonalizationInfo info) { ITrackingPersonalizable personalizable = control as ITrackingPersonalizable; IPersonalizable personalizable2 = control as IPersonalizable; if (personalizable != null) { personalizable.BeginLoad(); } if (((personalizable2 != null) && (info.CustomProperties != null)) && (info.CustomProperties.Count > 0)) { personalizable2.Load(info.CustomProperties); } if ((info.Properties != null) && (info.Properties.Count > 0)) { BlobPersonalizationState.SetPersonalizedProperties(control, info.Properties); } if (personalizable != null) { personalizable.EndLoad(); } }
public virtual PersonalizationState LoadPersonalizationState(WebPartManager webPartManager, bool ignoreCurrentUser) { string str; string str2; if (webPartManager == null) { throw new ArgumentNullException("webPartManager"); } this.GetParameters(webPartManager, out str, out str2); if (ignoreCurrentUser) { str2 = null; } byte[] sharedDataBlob = null; byte[] userDataBlob = null; this.LoadPersonalizationBlobs(webPartManager, str, str2, ref sharedDataBlob, ref userDataBlob); BlobPersonalizationState state = new BlobPersonalizationState(webPartManager); state.LoadDataBlobs(sharedDataBlob, userDataBlob); return(state); }
/// <devdoc> /// Allows the provider to save personalization data. The specified information /// contains a reference to the WebPartManager, which is used to access the /// current Page, and its path and user information. /// </devdoc> public virtual void SavePersonalizationState(PersonalizationState state) { if (state == null) { throw new ArgumentNullException("state"); } BlobPersonalizationState blobState = state as BlobPersonalizationState; if (blobState == null) { throw new ArgumentException(SR.GetString(SR.PersonalizationProvider_WrongType), "state"); } WebPartManager webPartManager = blobState.WebPartManager; string path; string userName; GetParameters(webPartManager, out path, out userName); byte[] dataBlob = null; bool reset = blobState.IsEmpty; if (reset == false) { dataBlob = blobState.SaveDataBlob(); reset = (dataBlob == null) || (dataBlob.Length == 0); } if (reset) { ResetPersonalizationBlob(webPartManager, path, userName); } else { SavePersonalizationBlob(webPartManager, path, userName, dataBlob); } }
public virtual PersonalizationState LoadPersonalizationState(WebPartManager webPartManager, bool ignoreCurrentUser) { string str; string str2; if (webPartManager == null) { throw new ArgumentNullException("webPartManager"); } this.GetParameters(webPartManager, out str, out str2); if (ignoreCurrentUser) { str2 = null; } byte[] sharedDataBlob = null; byte[] userDataBlob = null; this.LoadPersonalizationBlobs(webPartManager, str, str2, ref sharedDataBlob, ref userDataBlob); BlobPersonalizationState state = new BlobPersonalizationState(webPartManager); state.LoadDataBlobs(sharedDataBlob, userDataBlob); return state; }
/// <devdoc> /// Allows the provider to load personalization data. The specified /// WebPartManager is used to access the current page, which can be used /// to retrieve the path and user information. /// </devdoc> public virtual PersonalizationState LoadPersonalizationState(WebPartManager webPartManager, bool ignoreCurrentUser) { if (webPartManager == null) { throw new ArgumentNullException("webPartManager"); } string path; string userName; GetParameters(webPartManager, out path, out userName); if (ignoreCurrentUser) { userName = null; } byte[] sharedDataBlob = null; byte[] userDataBlob = null; LoadPersonalizationBlobs(webPartManager, path, userName, ref sharedDataBlob, ref userDataBlob); BlobPersonalizationState blobState = new BlobPersonalizationState(webPartManager); blobState.LoadDataBlobs(sharedDataBlob, userDataBlob); return blobState; }