Exemple #1
0
        public static async Task <Result <CalculadoraBase> > Validar(CalculadoraCommand command)
        {
            if (OperacaoEnum.Divisao == command.Operacao && command.Numero2 == 0)
            {
                return(await Task.FromResult(Result <CalculadoraBase> .Falha(command, "Não é possível dividir por zero")));
            }

            if (command.Numero1 <= 0 || command.Numero2 <= 0)
            {
                return(await Task.FromResult(Result <CalculadoraBase> .Falha(command, "Não pode ter numero zero.")));
            }

            return(await Task.FromResult(Result <CalculadoraBase> .Sucesso()));
        }
        public static async Task <Result <CalculadoraBase> > Calcular(CalculadoraCommand command)
        {
            var validar = await CalculadoraService.Validar(command);

            if (!validar.Valido)
            {
                return(await Task.FromResult(validar));
            }

            var domain = CalculadoraFactory.Create(command);

            var model = CalculadoraFactory.Create(domain);

            return(await Task.FromResult(Result <CalculadoraBase> .Sucesso(model)));
        }
Exemple #3
0
 public static CalculadoraDomain Create(CalculadoraCommand command)
 {
     return(new CalculadoraDomain(new Calculo(command.Numero1, command.Numero2), command.Operacao));
 }