namespace MijnBesluit.Application.Models;
/// Uitkomst van een bewerking, met een foutmelding die direct aan de gebruiker getoond mag worden.
public readonly struct Result
{
public bool Succeeded { get; }
public string? Error { get; }
private Result(bool ok, string? error) { Succeeded = ok; Error = error; }
public static Result Ok() => new(true, null);
public static Result Fail(string error) => new(false, error);
}
/// Uitkomst met een waarde erbij.
public readonly struct Result
{
public bool Succeeded { get; }
public string? Error { get; }
public T? Value { get; }
private Result(bool ok, T? value, string? error) { Succeeded = ok; Value = value; Error = error; }
public static Result Ok(T value) => new(true, value, null);
public static Result Fail(string error) => new(false, default, error);
}