Skip to content
This repository was archived by the owner on Apr 17, 2025. It is now read-only.

Commit cf29c45

Browse files
committed
Implementazione errori custom #9 #10 #11 #12 #13 #14
closes #9 #10 #11 #12 #13 #14
1 parent 007c59a commit cf29c45

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
namespace NET6CustomLibrary.Errors;
2+
3+
public class Result
4+
{
5+
public bool Succeeded { get; set; }
6+
public HttpStatusCode StatusCodes { get; set; }
7+
public int TypeCode { get; set; }
8+
public string Detail { get; set; }
9+
public string InstancePath { get; set; }
10+
public object Message { get; set; }
11+
12+
internal Result(bool succeeded, HttpStatusCode statusCodes, int typeCode, string detail, HttpContext httpContext, object message = default)
13+
{
14+
Succeeded = succeeded;
15+
StatusCodes = statusCodes;
16+
TypeCode = typeCode;
17+
InstancePath = httpContext.Request.Path;
18+
Detail = detail;
19+
Message = message;
20+
}
21+
22+
public static Result Ok(int typeCode, HttpContext httpContext, object message = default, HttpStatusCode statusCodes = HttpStatusCode.OK)
23+
=> new(succeeded: true, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, message);
24+
25+
public static Result Created(int typeCode, HttpContext httpContext, object message = default, HttpStatusCode statusCodes = HttpStatusCode.Created)
26+
=> new(succeeded: true, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, message);
27+
28+
public static Result Accepted(int typeCode, HttpContext httpContext, object message = default, HttpStatusCode statusCodes = HttpStatusCode.Accepted)
29+
=> new(succeeded: true, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, message);
30+
31+
public static Result NoContent(int typeCode, HttpContext httpContext, HttpStatusCode statusCodes = HttpStatusCode.NoContent)
32+
=> new(succeeded: true, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext);
33+
34+
public static Result Failure(int typeCode, HttpContext httpContext, object errors, HttpStatusCode statusCodes = HttpStatusCode.InternalServerError)
35+
=> new(succeeded: false, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, errors);
36+
37+
public static Result BadRequest(int typeCode, HttpContext httpContext, object errors, HttpStatusCode statusCodes = HttpStatusCode.BadRequest)
38+
=> new(succeeded: false, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, errors);
39+
40+
public static Result Unauthorized(int typeCode, HttpContext httpContext, object errors, HttpStatusCode statusCodes = HttpStatusCode.Unauthorized)
41+
=> new(succeeded: false, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, errors);
42+
43+
public static Result NotFound(int typeCode, HttpContext httpContext, object errors, HttpStatusCode statusCodes = HttpStatusCode.NotFound)
44+
=> new(succeeded: false, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, errors);
45+
46+
public static Result Conflict(int typeCode, HttpContext httpContext, object errors, HttpStatusCode statusCodes = HttpStatusCode.Conflict)
47+
=> new(succeeded: false, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, errors);
48+
49+
public static Result UnprocessableEntity(int typeCode, HttpContext httpContext, object errors, HttpStatusCode statusCodes = HttpStatusCode.UnprocessableEntity)
50+
=> new(succeeded: false, statusCodes, typeCode, $"https://httpstatuses.io/{(int)statusCodes}", httpContext, errors);
51+
}

0 commit comments

Comments
 (0)