예제 #1
0
        public static DscPublicSettings DeserializePublicSettings(string publicSettingsString)
        {
            DscPublicSettings publicSettings = null;

            try
            {
                publicSettings = string.IsNullOrEmpty(publicSettingsString)
                                     ? null
                                     : JsonConvert.DeserializeObject <DscPublicSettings>(publicSettingsString);
            }
            catch (JsonException)
            {
                // Try deserialize as version 1.0
                try
                {
                    DscPublicSettings.Version1 publicSettingsV1 =
                        JsonConvert.DeserializeObject <DscPublicSettings.Version1>(publicSettingsString);
                    publicSettings = publicSettingsV1.ToCurrentVersion();
                }
                catch (JsonException)
                {
                    throw;
                }
            }
            return(publicSettings);
        }
예제 #2
0
        /// <summary>
        /// Helper function for tests.
        /// </summary>
        /// <param name="configurationArguments"></param>
        /// <param name="privateSettings"></param>
        /// <returns></returns>
        private static DscPublicSettings GetPublicPrivateAfterDeseriazlization(
            Hashtable configurationArguments,
            out DscPrivateSettings privateSettings)
        {
            Tuple <DscPublicSettings.Property[], Hashtable> separatedSettings =
                DscSettingsSerializer.SeparatePrivateItems(configurationArguments);
            DscPublicSettings publicSettings = new DscPublicSettings();

            privateSettings           = new DscPrivateSettings();
            publicSettings.Properties = separatedSettings.Item1;
            privateSettings.Items     = separatedSettings.Item2;

            string serializedPublic  = DscSettingsSerializer.SerializePublicSettings(publicSettings);
            string serializedPrivate = DscSettingsSerializer.SerializePrivateSettings(privateSettings);

            publicSettings  = DscSettingsSerializer.DeserializePublicSettings(serializedPublic);
            privateSettings = DeserializePrivateSettings(serializedPrivate);
            return(publicSettings);
        }
 /// <summary>
 /// Serialize DscPublicSettings to string.
 /// </summary>
 /// <param name="publicSettings"></param>
 /// <returns></returns>
 public static string SerializePublicSettings(DscPublicSettings publicSettings)
 {
     return JsonConvert.SerializeObject(publicSettings);
 }
예제 #4
0
 /// <summary>
 /// Serialize DscPublicSettings to string.
 /// </summary>
 /// <param name="publicSettings"></param>
 /// <returns></returns>
 public static string SerializePublicSettings(DscPublicSettings publicSettings)
 {
     return(JsonConvert.SerializeObject(publicSettings));
 }