private PersonalizationDictionary MergeCustomProperties(PersonalizationInfo sharedInfo, PersonalizationInfo userInfo, bool isWebPartManager, WebPart hasDataWebPart, ref PersonalizationDictionary customInitialProperties)
        {
            PersonalizationDictionary dictionary = null;
            bool flag  = (sharedInfo != null) && (sharedInfo._customProperties != null);
            bool flag2 = (userInfo != null) && (userInfo._customProperties != null);

            if (flag && flag2)
            {
                dictionary = new PersonalizationDictionary();
                foreach (DictionaryEntry entry in sharedInfo._customProperties)
                {
                    dictionary[(string)entry.Key] = (PersonalizationEntry)entry.Value;
                }
                foreach (DictionaryEntry entry2 in userInfo._customProperties)
                {
                    dictionary[(string)entry2.Key] = (PersonalizationEntry)entry2.Value;
                }
            }
            else if (flag)
            {
                dictionary = sharedInfo._customProperties;
            }
            else if (flag2)
            {
                dictionary = userInfo._customProperties;
            }
            if ((this.PersonalizationScope == System.Web.UI.WebControls.WebParts.PersonalizationScope.Shared) && flag)
            {
                customInitialProperties = sharedInfo._customProperties;
            }
            else if ((this.PersonalizationScope == System.Web.UI.WebControls.WebParts.PersonalizationScope.User) && flag2)
            {
                customInitialProperties = userInfo._customProperties;
            }
            if (flag && !isWebPartManager)
            {
                hasDataWebPart.SetHasSharedData(true);
            }
            if (flag2 && !isWebPartManager)
            {
                hasDataWebPart.SetHasUserData(true);
            }
            return(dictionary);
        }
 public void SetHasUserData(WebPart webPart, bool hasUserData) {
     webPart.SetHasUserData(hasUserData);
 }
        // Returns a PersonalizationDictionary containing a merged view of the custom properties
        // in both the sharedInfo and the userInfo.
        private PersonalizationDictionary MergeCustomProperties(PersonalizationInfo sharedInfo,
                                                                PersonalizationInfo userInfo,
                                                                bool isWebPartManager, WebPart hasDataWebPart,
                                                                ref PersonalizationDictionary customInitialProperties) {
            PersonalizationDictionary customProperties = null;

            bool hasSharedCustomProperties = (sharedInfo != null && sharedInfo._customProperties != null);
            bool hasUserCustomProperties = (userInfo != null && userInfo._customProperties != null);

            // Fill or set the customProperties dictionary
            if (hasSharedCustomProperties && hasUserCustomProperties) {
                customProperties = new PersonalizationDictionary();
                foreach (DictionaryEntry entry in sharedInfo._customProperties) {
                    customProperties[(string)entry.Key] = (PersonalizationEntry)entry.Value;
                }
                foreach (DictionaryEntry entry in userInfo._customProperties) {
                    customProperties[(string)entry.Key] = (PersonalizationEntry)entry.Value;
                }
            }
            else if (hasSharedCustomProperties) {
                customProperties = sharedInfo._customProperties;
            }
            else if (hasUserCustomProperties) {
                customProperties = userInfo._customProperties;
            }

            // Set the customInitialProperties dictionary
            if (PersonalizationScope == PersonalizationScope.Shared && hasSharedCustomProperties) {
                customInitialProperties = sharedInfo._customProperties;
            }
            else if (PersonalizationScope == PersonalizationScope.User && hasUserCustomProperties) {
                customInitialProperties = userInfo._customProperties;
            }

            // Set the HasSharedData and HasUserData flags
            if (hasSharedCustomProperties && !isWebPartManager) {
                hasDataWebPart.SetHasSharedData(true);
            }
            if (hasUserCustomProperties && !isWebPartManager) {
                hasDataWebPart.SetHasUserData(true);
            }

            return customProperties;
        }
예제 #4
0
 public void SetHasUserData(WebPart webPart, bool hasUserData)
 {
     webPart.SetHasUserData(hasUserData);
 }