private Quantidade Incrementar(int valor) { if (Quantidade.Criar(valor) is var incrementar && incrementar.IsFailure) { throw new System.Exception(incrementar.Error); } return(Incrementar(incrementar.Value)); }
public static Result <IntervaloQuantidade> Criar(int minima, int maxima) { var minimaResultado = Quantidade.Criar(minima); var maximaResultado = Quantidade.Criar(maxima); var intervaloResultado = Result.FailureIf(() => minima > maxima, "Quantidade mínima deve ser menor que máxima"); var resultado = Result.Combine(minimaResultado, maximaResultado, intervaloResultado); if (resultado.IsFailure) { return(Result.Failure <IntervaloQuantidade>(resultado.Error)); } return(Result.Ok(new IntervaloQuantidade(minimaResultado.Value, maximaResultado.Value))); }