using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace gehGassi.LocalNotifications
{
///
/// Erweiterungen
///
public static class Extensions
{
///
/// Millisekunden nach Unix
///
/// Datum
///
public static long GetMilliSecondsSinceEpoch(this DateTime dateTime)
{
var epoch = new DateTime(1970, 1, 1, 0/*h*/, 0/*m*/, 0/*s*/, 0 /*ms*/, DateTimeKind.Utc);
return Convert.ToInt64((dateTime.ToUniversalTime() - epoch).TotalMilliseconds);
}
///
/// In JSON konvertieren
///
/// Objekt das serialisiert werden soll
///
public static string ToJson(this T obj)
{
return JsonSerializer.Serialize(obj);
}
///
/// Von Json in Objekt deserialisieren
///
/// Typ
/// JSON string
/// Objekt
public static T JsonToObject(this string json)
{
return JsonSerializer.Deserialize(json);
}
///
/// Liste von Objekten in JSON serialisieren
///
/// Typ
/// JSON String
/// Liste von Objekten
public static List JsonToListObject(this string json)
{
return JsonSerializer.Deserialize>(json);
}
}
}