예제 #1
0
        public async Task InserirAsync(MovimentacaoSaidaProduto movimentacaoSaidaProduto)
        {
            var validationResult = new NovoMovimentacaoSaidaProdutoValidation().Validate(movimentacaoSaidaProduto);

            if (!validationResult.IsValid)
            {
                _notifications.Add(validationResult);
                return;
            }

            await _movimentacaoSaidaProdutoRepository.InserirAsync(movimentacaoSaidaProduto);

            await _movimentacaoSaidaProdutoRepository.CommitAsync();

            var produto = await _produtoService.BuscarPorIdAsync(movimentacaoSaidaProduto.ProdutoId);

            var quantidadeAtualProduto = produto.BuscarQuantidadeAtual();

            var estoqueProduto = await _estoqueService.BuscarPorIdProdutoAsync(movimentacaoSaidaProduto.ProdutoId);

            if (quantidadeAtualProduto <= estoqueProduto.QuantidadeMinima)
            {
                var response = await _mediator.Send(new QuantidadeMinimaAtingidaCommand
                {
                    NomeProduto = produto.Nome
                });
            }
        }
 public async Task <ProdutoViewModel> Get(int id)
 {
     return(_mapper.Map <ProdutoViewModel>(await _produtoService.BuscarPorIdAsync(id)));
 }