diff --git a/Download Faturas/DefaultDateTimeConverter.cs b/Download Faturas/DefaultDateTimeConverter.cs new file mode 100644 index 0000000..952db24 --- /dev/null +++ b/Download Faturas/DefaultDateTimeConverter.cs @@ -0,0 +1,34 @@ +using System; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace Download_Faturas +{ + public class DefaultDateTimeConverter : JsonConverter + { + public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + if (reader.TokenType == JsonTokenType.String) + { + string? str = reader.GetString(); + + if (string.IsNullOrWhiteSpace(str)) + { + return DateTime.MinValue; + } + + if (DateTime.TryParse(str, out var date)) + { + return date; + } + } + + return DateTime.MinValue; + } + + public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) + { + writer.WriteStringValue(value); + } + } +} diff --git a/Download Faturas/Download Faturas.csproj b/Download Faturas/Download Faturas.csproj index 4d2b8a8..92a3fbe 100644 --- a/Download Faturas/Download Faturas.csproj +++ b/Download Faturas/Download Faturas.csproj @@ -9,6 +9,10 @@ AnyCPU + + + + @@ -25,11 +29,6 @@ - - True - True - DataSet1.xsd - True True @@ -44,11 +43,4 @@ - - - MSDataSetGenerator - DataSet1.Designer.cs - - - diff --git a/Download Faturas/Fatura.cs b/Download Faturas/Fatura.cs index 54f1825..46c7829 100644 --- a/Download Faturas/Fatura.cs +++ b/Download Faturas/Fatura.cs @@ -85,8 +85,13 @@ this.faturaParsed.TryGetProperty("json", out a); } - // var val = a.ToString().Contains("\"measured\": ["); - Rootobject parsedResult = JsonSerializer.Deserialize(a) !; + Rootobject parsedResult = JsonSerializer.Deserialize(a)!; + + if (parsedResult.dates.reading.periodUntil == DateTime.MinValue) + { + return; + } + dadosTusd.Mes = int.Parse(parsedResult.dates.reading.periodUntil.AddDays(-15).ToString("yMM")); string uc = new Regex("^0+").Replace(parsedResult.locationNumber, string.Empty).Replace("/", string.Empty).Replace("-", string.Empty).Replace(".", string.Empty); diff --git a/Download Faturas/Rootobject.cs b/Download Faturas/Rootobject.cs index 0922b6a..50822ce 100644 --- a/Download Faturas/Rootobject.cs +++ b/Download Faturas/Rootobject.cs @@ -88,8 +88,10 @@ public class Reading { + [JsonConverter(typeof(DefaultDateTimeConverter))] public DateTime periodFrom { get; set; } + [JsonConverter(typeof(DefaultDateTimeConverter))] public DateTime periodUntil { get; set; } }