From 513fe36ade18a342b90de277828cb04697ec099c Mon Sep 17 00:00:00 2001 From: forsthug <85173816+forsthug@users.noreply.github.com> Date: Mon, 15 May 2023 10:26:12 +0200 Subject: [PATCH 1/2] move errorinfo to object --- .../v1/errors/SSCDErrorInfo.cs | 80 +++++++++++++++++++ .../v1/it/Models/DailyClosingResponse.cs | 5 +- .../v1/it/Models/FiscalReceiptResponse.cs | 5 +- 3 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 src/fiskaltrust.ifPOS/v1/errors/SSCDErrorInfo.cs diff --git a/src/fiskaltrust.ifPOS/v1/errors/SSCDErrorInfo.cs b/src/fiskaltrust.ifPOS/v1/errors/SSCDErrorInfo.cs new file mode 100644 index 0000000..33b83c0 --- /dev/null +++ b/src/fiskaltrust.ifPOS/v1/errors/SSCDErrorInfo.cs @@ -0,0 +1,80 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace fiskaltrust.ifPOS.v1.errors +{ + /// + /// Sale items on a commercial sale document. + /// + [DataContract] + public enum SSCDErrorType + { + /// + /// General Error + /// + [EnumMember] + General = 0, + /// + /// Connection Error + /// + [EnumMember] + Connection = 1, + /// + /// Device Error + /// + [EnumMember] + Device = 2 + } + + /// + /// SSCDErrorInfo + /// + [DataContract] + public class SSCDErrorInfo : Exception + { + /// + /// SSCDErrorType + /// + [DataMember(Order = 10)] + public SSCDErrorType Type { get; private set; } + /// + /// SSCD Error Info + /// + [DataMember(Order = 20)] + public string Info { get; private set; } + + /// + /// SSCDErrorInfo + /// + public SSCDErrorInfo(string errorInfo) + { + Info = errorInfo; + Type = SSCDErrorType.General; + } + + /// + /// SSCDErrorInfo From Connection SSCDErrorType + /// + public static SSCDErrorInfo FromConnection(string errorInfo) + { + return new(errorInfo) + { + Type = SSCDErrorType.Connection + }; + } + + /// + /// SSCDErrorInfo From Device SSCDErrorType + /// + public static SSCDErrorInfo FromDevice(string errorInfo) + { + return new(errorInfo) + { + Type = SSCDErrorType.Device + }; + } + } +} \ No newline at end of file diff --git a/src/fiskaltrust.ifPOS/v1/it/Models/DailyClosingResponse.cs b/src/fiskaltrust.ifPOS/v1/it/Models/DailyClosingResponse.cs index 0012a4c..4c0e1ee 100644 --- a/src/fiskaltrust.ifPOS/v1/it/Models/DailyClosingResponse.cs +++ b/src/fiskaltrust.ifPOS/v1/it/Models/DailyClosingResponse.cs @@ -1,4 +1,5 @@ -using System; +using fiskaltrust.ifPOS.v1.errors; +using System; using System.Runtime.Serialization; namespace fiskaltrust.ifPOS.v1.it @@ -19,7 +20,7 @@ public class DailyClosingResponse /// Information on the error, if any occurred /// [DataMember(Order = 20)] - public string ErrorInfo { get; set; } + public SSCDErrorInfo SSCDErrorInfo { get; set; } /// /// The device's current status diff --git a/src/fiskaltrust.ifPOS/v1/it/Models/FiscalReceiptResponse.cs b/src/fiskaltrust.ifPOS/v1/it/Models/FiscalReceiptResponse.cs index 83c27c8..355f241 100644 --- a/src/fiskaltrust.ifPOS/v1/it/Models/FiscalReceiptResponse.cs +++ b/src/fiskaltrust.ifPOS/v1/it/Models/FiscalReceiptResponse.cs @@ -1,4 +1,5 @@ -using System; +using fiskaltrust.ifPOS.v1.errors; +using System; using System.Runtime.Serialization; namespace fiskaltrust.ifPOS.v1.it @@ -19,7 +20,7 @@ public class FiscalReceiptResponse /// Information on Error /// [DataMember(Order = 20)] - public string ErrorInfo { get; set; } + public SSCDErrorInfo SSCDErrorInfo { get; set; } /// /// Document datetime From 5a7478496c13e032d898a4c45a9fc848af25057b Mon Sep 17 00:00:00 2001 From: forsthug <85173816+forsthug@users.noreply.github.com> Date: Mon, 15 May 2023 12:12:22 +0200 Subject: [PATCH 2/2] update Clients --- .../fiskaltrust.Middleware.Interface.Client.Common.csproj | 2 +- .../fiskaltrust.Middleware.Interface.Client.Grpc.csproj | 2 +- .../fiskaltrust.Middleware.Interface.Client.Http.csproj | 2 +- .../fiskaltrust.Middleware.Interface.Client.Soap.csproj | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/fiskaltrust.Middleware.Interface.Client.Common/fiskaltrust.Middleware.Interface.Client.Common.csproj b/src/fiskaltrust.Middleware.Interface.Client.Common/fiskaltrust.Middleware.Interface.Client.Common.csproj index d3e9c33..d0b1193 100644 --- a/src/fiskaltrust.Middleware.Interface.Client.Common/fiskaltrust.Middleware.Interface.Client.Common.csproj +++ b/src/fiskaltrust.Middleware.Interface.Client.Common/fiskaltrust.Middleware.Interface.Client.Common.csproj @@ -7,6 +7,6 @@ - + diff --git a/src/fiskaltrust.Middleware.Interface.Client.Grpc/fiskaltrust.Middleware.Interface.Client.Grpc.csproj b/src/fiskaltrust.Middleware.Interface.Client.Grpc/fiskaltrust.Middleware.Interface.Client.Grpc.csproj index a099c3d..4cf2f60 100644 --- a/src/fiskaltrust.Middleware.Interface.Client.Grpc/fiskaltrust.Middleware.Interface.Client.Grpc.csproj +++ b/src/fiskaltrust.Middleware.Interface.Client.Grpc/fiskaltrust.Middleware.Interface.Client.Grpc.csproj @@ -5,7 +5,7 @@ - + diff --git a/src/fiskaltrust.Middleware.Interface.Client.Http/fiskaltrust.Middleware.Interface.Client.Http.csproj b/src/fiskaltrust.Middleware.Interface.Client.Http/fiskaltrust.Middleware.Interface.Client.Http.csproj index 82e5c23..8ca5695 100644 --- a/src/fiskaltrust.Middleware.Interface.Client.Http/fiskaltrust.Middleware.Interface.Client.Http.csproj +++ b/src/fiskaltrust.Middleware.Interface.Client.Http/fiskaltrust.Middleware.Interface.Client.Http.csproj @@ -6,7 +6,7 @@ - + diff --git a/src/fiskaltrust.Middleware.Interface.Client.Soap/fiskaltrust.Middleware.Interface.Client.Soap.csproj b/src/fiskaltrust.Middleware.Interface.Client.Soap/fiskaltrust.Middleware.Interface.Client.Soap.csproj index bca360a..01feceb 100644 --- a/src/fiskaltrust.Middleware.Interface.Client.Soap/fiskaltrust.Middleware.Interface.Client.Soap.csproj +++ b/src/fiskaltrust.Middleware.Interface.Client.Soap/fiskaltrust.Middleware.Interface.Client.Soap.csproj @@ -6,7 +6,7 @@ - +