laatzen/LaaProductionWeb/LaaProduction.Services/Models/Result.cs
2024-07-17 13:13:41 +02:00

41 lines
1.0 KiB
C#

namespace LaaProduction.Services.Models
{
using System;
public class Result
{
private readonly Boolean succeeded;
private String message;
private Result(Boolean 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(Boolean succeeded)
=> new Result(succeeded);
public static implicit operator Result(String message)
=> new Result(message);
public static implicit operator Boolean(Result result)
=> result.succeeded;
public static implicit operator String(Result result)
=> result.ToString();
}
}