Seenginx/Seenginx.Models/Result.cs

31 lines
632 B
C#

using System;
namespace Seenginx.Models
{
public class Result<D>
{
public bool AllOk { get; private set; } = true;
public string ErrorMessage { get; private set; }
public Exception Exception { get; private set; } = null;
public D Data { get; private set; }
public Result() { }
public Result(D data)
{
Data = data;
}
public Result<D> Invalidate(string errorMessage, Exception exception = null)
{
AllOk = false;
ErrorMessage = errorMessage;
if (exception != null)
Exception = exception;
return this;
}
public void SetData(D data) => Data = data;
}
}