Beispiel #1
0
        public override bool Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
        {
            if (reader.TokenType == System.Text.Json.JsonTokenType.String)
            {
                string test = reader.GetString();
                if (string.IsNullOrEmpty(test))
                {
                    return(false);
                }
                test = test.ToLower();

                if (test == "0" || test == "false")
                {
                    return(false);
                }

                if (test == "1" || test == "true")
                {
                    return(true);
                }
            }
            else if (reader.TokenType == System.Text.Json.JsonTokenType.True)
            {
                return(true);
            }

            return(false);
        }
Beispiel #2
0
        public override MappedGuid Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
        {
            if (reader.Read())
            {
                var guid = Guid.Parse(reader.GetString());
                return(MappedGuidHelpers.Create(guid).Match(s => s, e => throw e));
            }

            throw new Exception("Didn't map guid");
        }
Beispiel #3
0
 public override EnvironmentVariableString Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
 {
     if (reader.TokenType == System.Text.Json.JsonTokenType.String)
     {
         return(new EnvironmentVariableString(reader.GetString()));
     }
     else
     {
         throw new System.Text.Json.JsonException($"Current value  is not a valid {nameof(EnvironmentVariableString)}");
     }
 }
Beispiel #4
0
        public override string Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
        {
            var s = reader.GetString();

            if (s != null)
            {
                return(string.Intern(s));
            }
            else
            {
                return(null);
            }
        }
        public override System.TimeSpan Read(ref System.Text.Json.Utf8JsonReader Utf8JsonReader, System.Type Type, System.Text.Json.JsonSerializerOptions JsonSerializerOptions)
        {
            System.String Value = Utf8JsonReader.GetString();
            if (System.String.IsNullOrWhiteSpace(Value))
            {
                return(System.TimeSpan.Zero);
            }

            System.TimeSpan Result;
            if (!(System.TimeSpan.TryParseExact(Value, Format, null, out Result)))
            {
                throw new System.FormatException("The provided TimeSpan is invalid.");
            }

            return(Result);
        }
Beispiel #6
0
 public override StringId Read(ref System.Text.Json.Utf8JsonReader reader, System.Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
 {
     return(new StringId(reader.GetString()));
 }
Beispiel #7
0
 public override PhoneNumber Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
 {
     if (reader.TokenType == System.Text.Json.JsonTokenType.Null)
     {
         return(null);
     }
     else if (reader.TokenType == System.Text.Json.JsonTokenType.String && PhoneNumber.TryParse(reader.GetString(), out PhoneNumber phoneNumber))
     {
         return(phoneNumber);
     }
     else
     {
         throw new System.Text.Json.JsonException($"Current value  is not a valid {nameof(PhoneNumber)}");
     }
 }
 public override EmailAddress Read(ref System.Text.Json.Utf8JsonReader reader, Type typeToConvert, System.Text.Json.JsonSerializerOptions options)
 {
     if (reader.TokenType == System.Text.Json.JsonTokenType.Null)
     {
         return(null);
     }
     else if (reader.TokenType == System.Text.Json.JsonTokenType.String && EmailAddress.TryParse(reader.GetString(), out EmailAddress address))
     {
         return(address);
     }
     else
     {
         throw new System.Text.Json.JsonException($"Current value  is not a valid {nameof(EmailAddress)}");
     }
 }