diff options
author | crupest <crupest@outlook.com> | 2019-11-20 19:59:06 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-11-20 19:59:06 +0800 |
commit | 8e97f5f1ea501afb27fce1c462bb0966d3a100bb (patch) | |
tree | c6dd5ff348ac2522c92056048670d18ff7d37064 /Timeline/Models | |
parent | ae0fe2a03e04a6d170ac5f05039afe2a9407f255 (diff) | |
download | timeline-8e97f5f1ea501afb27fce1c462bb0966d3a100bb.tar.gz timeline-8e97f5f1ea501afb27fce1c462bb0966d3a100bb.tar.bz2 timeline-8e97f5f1ea501afb27fce1c462bb0966d3a100bb.zip |
Migrate to System.Text.Json . Format enum to string instead of number. Use ISO8601 format for datetime.
Diffstat (limited to 'Timeline/Models')
-rw-r--r-- | Timeline/Models/Converters/JsonDateTimeConverter.cs | 23 | ||||
-rw-r--r-- | Timeline/Models/Http/Common.cs | 4 |
2 files changed, 27 insertions, 0 deletions
diff --git a/Timeline/Models/Converters/JsonDateTimeConverter.cs b/Timeline/Models/Converters/JsonDateTimeConverter.cs new file mode 100644 index 00000000..551bbbaa --- /dev/null +++ b/Timeline/Models/Converters/JsonDateTimeConverter.cs @@ -0,0 +1,23 @@ +using System; +using System.Diagnostics; +using System.Globalization; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace Timeline.Models.Converters +{ + [System.Diagnostics.CodeAnalysis.SuppressMessage("Design", "CA1062:Validate arguments of public methods")] + public class JsonDateTimeConverter : JsonConverter<DateTime> + { + public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) + { + Debug.Assert(typeToConvert == typeof(DateTime)); + return DateTime.Parse(reader.GetString(), CultureInfo.InvariantCulture); + } + + public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) + { + writer.WriteStringValue(value.ToUniversalTime().ToString("s", CultureInfo.InvariantCulture)); + } + } +} diff --git a/Timeline/Models/Http/Common.cs b/Timeline/Models/Http/Common.cs index 2a88b3a3..d1e95397 100644 --- a/Timeline/Models/Http/Common.cs +++ b/Timeline/Models/Http/Common.cs @@ -72,6 +72,8 @@ namespace Timeline.Models.Http {
public class ResponseData
{
+ public ResponseData() { }
+
public ResponseData(bool create)
{
Create = create;
@@ -106,6 +108,8 @@ namespace Timeline.Models.Http {
public class ResponseData
{
+ public ResponseData() { }
+
public ResponseData(bool delete)
{
Delete = delete;
|