private IProduto MapearNovoProduto(ICadastrarProdutoInput input) { return(new Produto { Categoria = input.Categoria, Descricao = input.Descricao, ValorUnitario = input.ValorUnitario }); }
private async Task ValidarInput(ICadastrarProdutoInput input, CancellationToken cancellationToken) { var validador = new CadastrarProdutoValidador(); var validacao = await validador.ValidateAsync(input, cancellationToken); if (!validacao.IsValid) { throw new ArgumentException( JsonConvert.SerializeObject( validacao.Errors.Select(f => f.ErrorMessage))); } }
public async Task <ICadastrarProdutoOutput> Executar(ICadastrarProdutoInput input, CancellationToken cancellationToken = default) { await ValidarInput(input, cancellationToken); var produtoNovo = MapearNovoProduto(input); await this.clienteServico.CadastrarProduto(produtoNovo, cancellationToken); var cadastrarProdutoOutput = new CadastrarProdutoOutput { CodigoProduto = produtoNovo.CodigoProduto }; return(cadastrarProdutoOutput); }