diff --git a/PARR.EsppApi/Models/EsppOrder.cs b/PARR.EsppApi/Models/EsppOrder.cs index c589af1c..1e1401c6 100644 --- a/PARR.EsppApi/Models/EsppOrder.cs +++ b/PARR.EsppApi/Models/EsppOrder.cs @@ -1,4 +1,5 @@ -using System.ComponentModel.DataAnnotations.Schema; +using PARR.EsppApi.Settings; +using System.Globalization; using System.Text.Json.Serialization; namespace PARR.EsppApi.Models @@ -10,14 +11,33 @@ namespace PARR.EsppApi.Models { [JsonPropertyName("recordid")] public string Number { get; set; } = string.Empty; + [JsonPropertyName("assignment")] public string? WorkGroup { get; set; } + [JsonPropertyName("status")] public string Status { get; set; } = string.Empty; + [JsonPropertyName("title")] public string ShortName { get; set; } = string.Empty; + [JsonPropertyName("templateName")] public string TemplateName { get; set; } = string.Empty; + + [JsonPropertyName("expirationDate")] + public string ExpirationDate { get; set; } = string.Empty; + + public DateTimeOffset ExpirationDateUTC + { + get + { + var dateTime = DateTime.ParseExact(ExpirationDate, "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture); + var utc = dateTime.AddHours(-EsppUserTimeZoneSettings.TimeZone); + + return new DateTimeOffset(utc, new TimeSpan(0)); + } + } + } } diff --git a/PARR.EsppApi/ParrEsppApiInstaller.cs b/PARR.EsppApi/ParrEsppApiInstaller.cs index 1d06db3a..b5a493e1 100644 --- a/PARR.EsppApi/ParrEsppApiInstaller.cs +++ b/PARR.EsppApi/ParrEsppApiInstaller.cs @@ -13,6 +13,7 @@ namespace PARR.EsppApi configuration.GetSection(nameof(EsppOrderSettings)).Bind(esppSettings); services.AddSingleton(esppSettings); + EsppUserTimeZoneSettings.TimeZone = esppSettings.EsppUserTimeZone; services.AddTransient(); diff --git a/PARR.EsppApi/Settings/EsppUserTimeZoneSettings.cs b/PARR.EsppApi/Settings/EsppUserTimeZoneSettings.cs new file mode 100644 index 00000000..db896a4c --- /dev/null +++ b/PARR.EsppApi/Settings/EsppUserTimeZoneSettings.cs @@ -0,0 +1,7 @@ +namespace PARR.EsppApi.Settings +{ + internal static class EsppUserTimeZoneSettings + { + public static int TimeZone = 0; + } +}