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))); }
public static CalculadoraDomain Create(CalculadoraCommand command) { return(new CalculadoraDomain(new Calculo(command.Numero1, command.Numero2), command.Operacao)); }