From 6b2046ee10598e241c2f03e9f3365a38fb6d76bc Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Tue, 25 Feb 2025 15:56:15 +0100 Subject: [PATCH] DateTime nach ISO8601 Norm --- .../ServiceImplementations/AdminServiceImp.cs | 22 +++++++------------ Shared/Core/Utils.cs | 5 +++++ .../AdminService/AdminServiceSumReqDC.cs | 8 +++---- 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/Service/ServiceImplementations/AdminServiceImp.cs b/Service/ServiceImplementations/AdminServiceImp.cs index 7173c2ae4..d9d7490e9 100644 --- a/Service/ServiceImplementations/AdminServiceImp.cs +++ b/Service/ServiceImplementations/AdminServiceImp.cs @@ -1,5 +1,6 @@ using BeWo.Data.Access; using BeWo.Service.ServiceContracts; +using BS.Shared.Core; using BS.Shared.DataContracts.AdminService; using DevExpress.Pdf.Native.BouncyCastle.Ocsp; using System; @@ -28,29 +29,22 @@ namespace BeWo.Service.ServiceImplementations { if (request == null) { - throw new ArgumentException("Request darf nicht null sein"); + throw new ArgumentException("request darf nicht null sein"); } - if(request.Start == default) + if(!Utils.TryParseISO8601(request.Start, out var start)) { - throw new ArgumentException("Start darf nicht default(DateTime) sein"); + throw new ArgumentException("start entspricht nicht ISO8601 Norm."); } - if(request.End == default) + if (!Utils.TryParseISO8601(request.End, out var end)) { - throw new ArgumentException("End darf nicht default(DateTime) sein"); + throw new ArgumentException("end entspricht nicht ISO8601 Norm."); } - var sum = DAOFactory.ScriptDAO.GetGkvSumByDateRange(request.Start, request.End); + var sum = DAOFactory.ScriptDAO.GetGkvSumByDateRange(start, end); - if (sum is decimal s) - { - return sum; - } - else - { - return "Sum ist null"; - }; + return sum?.ToString("0.00"); } } } diff --git a/Shared/Core/Utils.cs b/Shared/Core/Utils.cs index e3ce8f05d..90508005e 100644 --- a/Shared/Core/Utils.cs +++ b/Shared/Core/Utils.cs @@ -1160,6 +1160,11 @@ namespace BS.Shared.Core return age; } + + public static bool TryParseISO8601(string iso8601String, out DateTime date) + { + return DateTime.TryParse(iso8601String, out date); + } } public struct NullCompareResult diff --git a/Shared/DataContracts/AdminService/AdminServiceSumReqDC.cs b/Shared/DataContracts/AdminService/AdminServiceSumReqDC.cs index 553734372..160e5d15a 100644 --- a/Shared/DataContracts/AdminService/AdminServiceSumReqDC.cs +++ b/Shared/DataContracts/AdminService/AdminServiceSumReqDC.cs @@ -11,10 +11,10 @@ namespace BS.Shared.DataContracts.AdminService [DataContract] public class AdminServiceSumReqDC : IAdminServiceDC { - [DataMember(Name = "end")] - public DateTime End { get; set; } + [DataMember(Name = "end", IsRequired = true)] + public string End { get; set; } - [DataMember(Name = "start")] - public DateTime Start { get; set; } + [DataMember(Name = "start", IsRequired = true)] + public string Start { get; set; } } }