示例#1
0
        internal static PageMetaDataDescription Deserialize(string serializedData)
        {
            // DataAssociationVisabilityRuleType is here for backwards compatibility - after 1.3 its not used any more
            Dictionary <string, string> dic = StringConversionServices.ParseKeyValueCollection(serializedData);

            if (((dic.ContainsKey("DataAssociationVisabilityRuleType") == false) && (dic.ContainsKey("_PageMetaDataDescriptionType_") == false)) ||
                (dic.ContainsKey("_StartLevel_") == false) ||
                (dic.ContainsKey("_Levels_") == false))
            {
                throw new ArgumentException(string.Format("The serializedData is not a serialized '{0}'", typeof(PageMetaDataDescription)), "serializedData");
            }

            string serializedDataAssociationVisabilityRuleType;

            if (dic.ContainsKey("_PageMetaDataDescriptionType_"))
            {
                serializedDataAssociationVisabilityRuleType = StringConversionServices.DeserializeValueString(dic["_PageMetaDataDescriptionType_"]);
            }
            else
            {
                serializedDataAssociationVisabilityRuleType = StringConversionServices.DeserializeValueString(dic["DataAssociationVisabilityRuleType"]);
            }

            PageMetaDataDescriptionType type = (PageMetaDataDescriptionType)Enum.Parse(typeof(PageMetaDataDescriptionType), serializedDataAssociationVisabilityRuleType);

            string serializedStartLevel = StringConversionServices.DeserializeValueString(dic["_StartLevel_"]);
            string serializedLevels     = StringConversionServices.DeserializeValueString(dic["_Levels_"]);

            int startLevel = int.Parse(serializedStartLevel);
            int levels     = int.Parse(serializedLevels);

            return(new PageMetaDataDescription(type, startLevel, levels));
        }
 internal PageMetaDataDescription(PageMetaDataDescriptionType dataAssociationVisabilityRuleType, int startLevel, int levels)
 {
     this.PageMetaDataDescriptionType = dataAssociationVisabilityRuleType;
     this.StartLevel = startLevel;
     this.Levels = levels;            
 }
 internal PageMetaDataDescription(PageMetaDataDescriptionType dataAssociationVisabilityRuleType)
     : this(dataAssociationVisabilityRuleType, 0, 0)
 {
 }
示例#4
0
 internal PageMetaDataDescription(PageMetaDataDescriptionType dataAssociationVisabilityRuleType, int startLevel, int levels)
 {
     this.PageMetaDataDescriptionType = dataAssociationVisabilityRuleType;
     this.StartLevel = startLevel;
     this.Levels     = levels;
 }
示例#5
0
 internal PageMetaDataDescription(PageMetaDataDescriptionType dataAssociationVisabilityRuleType)
     : this(dataAssociationVisabilityRuleType, 0, 0)
 {
 }