39 lines
1.0 KiB
C#
39 lines
1.0 KiB
C#
namespace LaaProduction.Services.Models
|
|
{
|
|
public class Result
|
|
{
|
|
private readonly bool succeeded;
|
|
|
|
private string message;
|
|
|
|
private Result(bool succeeded = true)
|
|
{
|
|
this.succeeded = succeeded;
|
|
this.message = string.Empty;
|
|
}
|
|
|
|
private Result(string message = default(string))
|
|
{
|
|
this.message = message;
|
|
this.succeeded = string.IsNullOrWhiteSpace(message);
|
|
}
|
|
|
|
public void WithMessage(string message)
|
|
=> this.message = message;
|
|
|
|
public override string ToString()
|
|
=> this.message;
|
|
|
|
public static implicit operator Result(bool succeeded)
|
|
=> new Result(succeeded);
|
|
|
|
public static implicit operator Result(string message)
|
|
=> new Result(message);
|
|
|
|
public static implicit operator bool(Result result)
|
|
=> result.succeeded;
|
|
|
|
public static implicit operator string(Result result)
|
|
=> result.ToString();
|
|
}
|
|
} |