예제 #1
0
 private Quantidade Incrementar(int valor)
 {
     if (Quantidade.Criar(valor) is var incrementar && incrementar.IsFailure)
     {
         throw new System.Exception(incrementar.Error);
     }
     return(Incrementar(incrementar.Value));
 }
예제 #2
0
        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)));
        }