Beispiel #1
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static ChaosParametersDictionaryItem GetFromJsonProperties(JsonReader reader)
        {
            var key   = default(string);
            var value = default(ChaosParameters);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("Key", propName, StringComparison.Ordinal) == 0)
                {
                    key = reader.ReadValueAsString();
                }
                else if (string.Compare("Value", propName, StringComparison.Ordinal) == 0)
                {
                    value = ChaosParametersConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new ChaosParametersDictionaryItem(
                       key: key,
                       value: value));
        }
Beispiel #2
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static Chaos GetFromJsonProperties(JsonReader reader)
        {
            var chaosParameters = default(ChaosParameters);
            var status          = default(ChaosStatus?);
            var scheduleStatus  = default(ChaosScheduleStatus?);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("ChaosParameters", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    chaosParameters = ChaosParametersConverter.Deserialize(reader);
                }
                else if (string.Compare("Status", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    status = ChaosStatusConverter.Deserialize(reader);
                }
                else if (string.Compare("ScheduleStatus", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    scheduleStatus = ChaosScheduleStatusConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new Chaos(
                       chaosParameters: chaosParameters,
                       status: status,
                       scheduleStatus: scheduleStatus));
        }
Beispiel #3
0
        /// <summary>
        /// Gets the object from Json properties.
        /// </summary>
        /// <param name="reader">The <see cref="T: Newtonsoft.Json.JsonReader" /> to read from, reader must be placed at first property.</param>
        /// <returns>The object Value.</returns>
        internal static StartedChaosEvent GetFromJsonProperties(JsonReader reader)
        {
            var timeStampUtc    = default(DateTime?);
            var chaosParameters = default(ChaosParameters);

            do
            {
                var propName = reader.ReadPropertyName();
                if (string.Compare("TimeStampUtc", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    timeStampUtc = reader.ReadValueAsDateTime();
                }
                else if (string.Compare("ChaosParameters", propName, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    chaosParameters = ChaosParametersConverter.Deserialize(reader);
                }
                else
                {
                    reader.SkipPropertyValue();
                }
            }while (reader.TokenType != JsonToken.EndObject);

            return(new StartedChaosEvent(
                       timeStampUtc: timeStampUtc,
                       chaosParameters: chaosParameters));
        }