Skip to content

Commit 5dd0fe6

Browse files
committed
Fix #121
1 parent 879e425 commit 5dd0fe6

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using System;
2+
using System.Text.Json;
3+
using System.Text.Json.Serialization;
4+
5+
namespace Majorsoft.Blazor.Components.Notifications
6+
{
7+
internal class EpochTimestampDateTimeConverter : JsonConverter<DateTime>
8+
{
9+
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
10+
{
11+
long ms = reader.GetInt64();
12+
return DateTimeOffset.FromUnixTimeMilliseconds(ms).DateTime;
13+
}
14+
15+
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
16+
{
17+
long ms = new DateTimeOffset(value).ToUnixTimeMilliseconds();
18+
writer.WriteNumberValue(ms);
19+
}
20+
}
21+
}

src/Majorsoft.Blazor.Components.Notifications/HTML5/HtmlNotificationData.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Text.Json.Serialization;
23

34
namespace Majorsoft.Blazor.Components.Notifications
45
{
@@ -71,6 +72,7 @@ public abstract class HtmlNotificationData
7172
/// <summary>
7273
/// Specifies the time at which a notification is created or applicable (past, present, or future).
7374
/// </summary>
75+
[JsonConverter(typeof(EpochTimestampDateTimeConverter))]
7476
public DateTime Timestamp { get; set; } = DateTime.UtcNow;
7577

7678
/// <summary>

0 commit comments

Comments
 (0)