laatzen/LaaProductionWeb/LaaProduction.Services/Models/Result.cs
2023-06-19 15:43:55 +02:00

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();
}
}