From 2b90ba164b2abf8ec733d427e5ffef255f9faee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Wed, 20 Sep 2017 16:12:28 +0300 Subject: [PATCH] Add Remote service error response DTOs. #90. --- .../Volo/Abp/Http/RemoteServiceErrorInfo.cs | 91 +++++++++++++++++++ .../Abp/Http/RemoteServiceErrorResponse.cs | 12 +++ .../Http/RemoteServiceValidationErrorInfo.cs | 60 ++++++++++++ 3 files changed, 163 insertions(+) create mode 100644 src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceErrorInfo.cs create mode 100644 src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceErrorResponse.cs create mode 100644 src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceValidationErrorInfo.cs diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceErrorInfo.cs b/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceErrorInfo.cs new file mode 100644 index 0000000000..bfe6af3aa2 --- /dev/null +++ b/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceErrorInfo.cs @@ -0,0 +1,91 @@ +using System; + +namespace Volo.Abp.Http +{ + /// + /// Used to store information about an error. + /// + [Serializable] + public class RemoteServiceErrorInfo + { + /// + /// Error code. + /// + public int Code { get; set; } + + /// + /// Error message. + /// + public string Message { get; set; } + + /// + /// Error details. + /// + public string Details { get; set; } + + /// + /// Validation errors if exists. + /// + public RemoteServiceValidationErrorInfo[] ValidationErrors { get; set; } + + /// + /// Creates a new instance of . + /// + public RemoteServiceErrorInfo() + { + + } + + /// + /// Creates a new instance of . + /// + /// Error message + public RemoteServiceErrorInfo(string message) + { + Message = message; + } + + /// + /// Creates a new instance of . + /// + /// Error code + public RemoteServiceErrorInfo(int code) + { + Code = code; + } + + /// + /// Creates a new instance of . + /// + /// Error code + /// Error message + public RemoteServiceErrorInfo(int code, string message) + : this(message) + { + Code = code; + } + + /// + /// Creates a new instance of . + /// + /// Error message + /// Error details + public RemoteServiceErrorInfo(string message, string details) + : this(message) + { + Details = details; + } + + /// + /// Creates a new instance of . + /// + /// Error code + /// Error message + /// Error details + public RemoteServiceErrorInfo(int code, string message, string details) + : this(message, details) + { + Code = code; + } + } +} \ No newline at end of file diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceErrorResponse.cs b/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceErrorResponse.cs new file mode 100644 index 0000000000..f2ecd1f591 --- /dev/null +++ b/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceErrorResponse.cs @@ -0,0 +1,12 @@ +namespace Volo.Abp.Http +{ + public abstract class RemoteServiceErrorResponse + { + public RemoteServiceErrorInfo Error { get; set; } + + /// + /// A special signature of ABP. + /// + public bool __abp { get; } = true; + } +} \ No newline at end of file diff --git a/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceValidationErrorInfo.cs b/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceValidationErrorInfo.cs new file mode 100644 index 0000000000..1a84ae2c29 --- /dev/null +++ b/src/Volo.Abp.Http/Volo/Abp/Http/RemoteServiceValidationErrorInfo.cs @@ -0,0 +1,60 @@ +using System; + +namespace Volo.Abp.Http +{ + /// + /// Used to store information about a validation error. + /// + [Serializable] + public class RemoteServiceValidationErrorInfo + { + /// + /// Validation error message. + /// + public string Message { get; set; } + + /// + /// Relate invalid members (fields/properties). + /// + public string[] Members { get; set; } + + /// + /// Creates a new instance of . + /// + public RemoteServiceValidationErrorInfo() + { + + } + + /// + /// Creates a new instance of . + /// + /// Validation error message + public RemoteServiceValidationErrorInfo(string message) + { + Message = message; + } + + /// + /// Creates a new instance of . + /// + /// Validation error message + /// Related invalid members + public RemoteServiceValidationErrorInfo(string message, string[] members) + : this(message) + { + Members = members; + } + + /// + /// Creates a new instance of . + /// + /// Validation error message + /// Related invalid member + public RemoteServiceValidationErrorInfo(string message, string member) + : this(message, new[] { member }) + { + + } + } +} \ No newline at end of file