23 lines
765 B
C#
23 lines
765 B
C#
using System.Net;
|
|||
|
|
|
||
|
|
namespace MeWeb.Shared;
|
||
|
|
|
||
|
|
public class WebResult<T> where T : class
|
||
|
|
{
|
||
|
|
public T Data { get; set; }
|
||
|
|
public ViewRefusal Refusal { get; private set; }
|
||
|
|
public int StatusCode { get; private set; } = (int)HttpStatusCode.OK;
|
||
|
|
public bool IsInvalid => Refusal is not null;
|
||
|
|
public bool IsValid => Refusal is null;
|
||
|
|
|
||
|
|
public WebResult<T> Invalidate(string reason, int statusCode = (int)HttpStatusCode.BadRequest, int retryAfterSeconds = 0) =>
|
||
|
|
Invalidate(new ViewRefusal { Reason = reason, RetryAfterSeconds = retryAfterSeconds }, statusCode);
|
||
|
|
|
||
|
|
public WebResult<T> Invalidate(ViewRefusal refusal, int statusCode = (int)HttpStatusCode.BadRequest)
|
||
|
|
{
|
||
|
|
Data = null;
|
||
|
|
Refusal = refusal;
|
||
|
|
StatusCode = statusCode;
|
||
|
|
return this;
|
||
|
|
}
|
||
|
|
}
|