From fe0ddb00daa9657a82b8c83b1eb6e72cf86021d4 Mon Sep 17 00:00:00 2001 From: Mikhail Kuznetsov Date: Wed, 25 Oct 2023 10:21:18 +1000 Subject: [PATCH] =?UTF-8?q?feat(esppApi):=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=BB=D0=B5=20Expiratio?= =?UTF-8?q?nDate=20=D0=B2=20=D0=BC=D0=BE=D0=B4=D0=B5=D0=BB=D1=8C=20EsppOrd?= =?UTF-8?q?er?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PARR.EsppApi/Models/EsppOrder.cs | 22 ++++++++++++++++++- PARR.EsppApi/ParrEsppApiInstaller.cs | 1 + .../Settings/EsppUserTimeZoneSettings.cs | 7 ++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 PARR.EsppApi/Settings/EsppUserTimeZoneSettings.cs 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; + } +}