Пример #1
0
 private IProduto MapearNovoProduto(ICadastrarProdutoInput input)
 {
     return(new Produto
     {
         Categoria = input.Categoria,
         Descricao = input.Descricao,
         ValorUnitario = input.ValorUnitario
     });
 }
Пример #2
0
        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)));
            }
        }
Пример #3
0
        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);
        }