Add StatusExtensions with HTTP status mapping methods

Added StatusExtensions.cs with extension methods for Status and HttpStatusCode:
- ToHttpStatusCode maps Status to nullable HttpStatusCode if possible.
- IsSuccess checks if a Status or HttpStatusCode represents a successful response.
- Handles both direct Status values and those convertible to HTTP codes.
This commit is contained in:
2026-03-30 10:41:39 +02:00
parent e04e90d8c6
commit 4aeef10ef7

View File

@@ -0,0 +1,32 @@
using System.Net;
namespace ReC.Domain.Constants;
public static class StatusExtensions
{
public static HttpStatusCode? ToHttpStatusCode(this Status status)
{
int code = (int)status;
if (Enum.IsDefined(typeof(HttpStatusCode), code))
{
return (HttpStatusCode)code;
}
return null;
}
public static bool IsSuccess(this HttpStatusCode code)
{
int value = (int)code;
return value >= 200 && value <= 299;
}
public static bool IsSuccess(this Status status)
=> status switch
{
Status.QuerySuccess => true,
Status.QueryFailed => false,
_ => status.ToHttpStatusCode() is HttpStatusCode httpStatus && httpStatus.IsSuccess()
};
}