diff --git a/Service/ServiceContracts/IAdminService.cs b/Service/ServiceContracts/IAdminService.cs index c11ee79c9..89fe621ee 100644 --- a/Service/ServiceContracts/IAdminService.cs +++ b/Service/ServiceContracts/IAdminService.cs @@ -1,4 +1,5 @@ using BS.Shared.Attributes; +using BS.Shared.DataContracts.AdminService; using System; using System.Collections.Generic; using System.Linq; @@ -23,7 +24,7 @@ namespace BeWo.Service.ServiceContracts string Echo(string echo); [OperationContract] - [WebInvoke(UriTemplate = "/GetGkvSum?start={start}&end={end}", Method = "POST", ResponseFormat = WebMessageFormat.Json)] - object GetGkvAbrechnungSumme(DateTime start, DateTime end); + [WebInvoke(UriTemplate = "/GetGkvSum", Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)] + object GetGkvAbrechnungSumme(AdminServiceSumReqDC request); } } diff --git a/Service/ServiceImplementations/AdminServiceImp.cs b/Service/ServiceImplementations/AdminServiceImp.cs index e45869410..7173c2ae4 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.DataContracts.AdminService; using DevExpress.Pdf.Native.BouncyCastle.Ocsp; using System; using System.Collections.Generic; @@ -23,19 +24,24 @@ namespace BeWo.Service.ServiceImplementations return echo; } - public object GetGkvAbrechnungSumme(DateTime start, DateTime end) + public object GetGkvAbrechnungSumme(AdminServiceSumReqDC request) { - if(start == default(DateTime)) + if (request == null) { - return "Start darf nicht default(DateTime) sein"; + throw new ArgumentException("Request darf nicht null sein"); } - if(end == default(DateTime)) + if(request.Start == default) { - return "End darf nicht default(DateTime) sein"; + throw new ArgumentException("Start darf nicht default(DateTime) sein"); } - var sum = DAOFactory.ScriptDAO.GetGkvSumByDateRange(start, end); + if(request.End == default) + { + throw new ArgumentException("End darf nicht default(DateTime) sein"); + } + + var sum = DAOFactory.ScriptDAO.GetGkvSumByDateRange(request.Start, request.End); if (sum is decimal s) { diff --git a/Shared/DataContracts/AdminService/AdminServiceSumReqDC.cs b/Shared/DataContracts/AdminService/AdminServiceSumReqDC.cs new file mode 100644 index 000000000..553734372 --- /dev/null +++ b/Shared/DataContracts/AdminService/AdminServiceSumReqDC.cs @@ -0,0 +1,20 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts.AdminService +{ + [DataContract] + public class AdminServiceSumReqDC : IAdminServiceDC + { + [DataMember(Name = "end")] + public DateTime End { get; set; } + + [DataMember(Name = "start")] + public DateTime Start { get; set; } + } +} diff --git a/Shared/DataContracts/AdminService/IAdminServiceDC.cs b/Shared/DataContracts/AdminService/IAdminServiceDC.cs new file mode 100644 index 000000000..a67146897 --- /dev/null +++ b/Shared/DataContracts/AdminService/IAdminServiceDC.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace BS.Shared.DataContracts.AdminService +{ + public interface IAdminServiceDC : IDataContract + { + } +} diff --git a/Shared/Shared.csproj b/Shared/Shared.csproj index 0bb0b2395..4bff5217a 100644 --- a/Shared/Shared.csproj +++ b/Shared/Shared.csproj @@ -170,6 +170,8 @@ + +