Files
hcs/Hcs.Broker/Api/Request/RequestMultipleResult.cs

53 lines
1.3 KiB
C#

using Hcs.Broker.Api.Request.Adapter;
namespace Hcs.Broker.Api.Request
{
public class RequestMultipleResult<T>
{
public bool Ready { get; set; }
public bool Success { get; set; }
public IEnumerable<T?>? Results { get; set; }
public string? NextResultsGuid { get; set; }
public IErrorMessage? ErrorMessage { get; set; }
public static RequestMultipleResult<T> CreateNotReady()
{
return new RequestMultipleResult<T>
{
Ready = false
};
}
public static RequestMultipleResult<T> CreateSuccessful(IEnumerable<T?>? results)
{
return new RequestMultipleResult<T>
{
Ready = true,
Success = true,
Results = results
};
}
public static RequestMultipleResult<T> CreateFailed(IErrorMessage? errorMessage)
{
return new RequestMultipleResult<T>
{
Ready = true,
Success = false,
ErrorMessage = errorMessage
};
}
public RequestMultipleResult<T> SetNextResultsGuid(string? nextResultsGuid)
{
NextResultsGuid = nextResultsGuid;
return this;
}
}
}