41 lines
1.0 KiB
C#
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();
|
|
}
|
|
} |