Files
laatzen/LaaProductionWeb/LaaProductionWeb.Services/Models/Result.cs
T
Stoyan Zlatev cf9dfe1915 Production Approvals,
sql client refactoring
2023-04-14 16:45:41 +02:00

39 lines
1.0 KiB
C#

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