Esempio n. 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
                });
            }
        }
Esempio n. 2
0
        public async Task AtualizarAsync(MovimentacaoSaidaProduto movimentacaoSaidaProduto)
        {
            var validationResult = new AtualizacaoMovimentacaoSaidaProdutoValidation().Validate(movimentacaoSaidaProduto);

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

            _movimentacaoSaidaProdutoRepository.AtualizarAsync(movimentacaoSaidaProduto);
            await _movimentacaoSaidaProdutoRepository.CommitAsync();
        }
Esempio n. 3
0
 public async Task AtualizarAsync(MovimentacaoSaidaProduto movimentacaoSaidaProduto)
 {
     _movimentacaoSaidaProdutoRepository.AtualizarAsync(movimentacaoSaidaProduto);
     await _movimentacaoSaidaProdutoRepository.CommitAsync();
 }
Esempio n. 4
0
        public async Task InserirAsync(MovimentacaoSaidaProduto movimentacaoSaidaProduto)
        {
            await _movimentacaoSaidaProdutoRepository.InserirAsync(movimentacaoSaidaProduto);

            await _movimentacaoSaidaProdutoRepository.CommitAsync();
        }