Ejemplo n.º 1
0
 private void BaixarDoEstoque(IEnumerable <ItemVenda> itensVenda)
 {
     itensVenda.ForEach(x =>
     {
         var estoque        = _estoqueRepository.ObterPorCodigoProduto(x.ProdutoCodigo);
         estoque.Quantidade = estoque.Quantidade - x.Quantidade;
         _estoqueRepository.Atualizar(estoque);
     });
 }
Ejemplo n.º 2
0
        public Estoque Atualizar(Estoque estoque)
        {
            if (!estoque.EhValido())
            {
                return(estoque);
            }

            _estoqueRepository.Atualizar(estoque);

            return(estoque);
        }
Ejemplo n.º 3
0
 private void AdicionarNoEstoque(IEnumerable <ItemCompra> itensCompra, Compra compra)
 {
     itensCompra.ForEach(x =>
     {
         var estoqueAtual = _estoqueRepository.ObterPorCodigoProduto(x.ProdutoCodigo);
         if (estoqueAtual != null)
         {
             estoqueAtual.Compra            = _compraRepository.ObterPorCodigo(compra.CompraCodigo);
             estoqueAtual.DataUltimaEntrada = DateTime.Now;
             estoqueAtual.Quantidade       += x.Quantidade;
             _estoqueRepository.Atualizar(estoqueAtual);
         }
         else
         {
             _estoqueRepository.Criar(new Estoque
             {
                 DataUltimaEntrada = DateTime.Now,
                 Compra            = _compraRepository.ObterPorCodigo(compra.CompraCodigo),
                 Produto           = _produtoRepository.ObterPorCodigo(x.ProdutoCodigo),
                 Quantidade        = x.Quantidade
             });
         }
     });
 }
Ejemplo n.º 4
0
        public async Task Atualizar(Estoque estoque)
        {
            try
            {
                if (_estoqueRepository.Buscar(f => f.Id != estoque.Id).Result.Any())
                {
                    Notificar("Já existe um estoque informado para este produto.");
                    return;
                }

                await _estoqueRepository.Atualizar(estoque);
            }
            catch (Exception e)
            {
                Notificar("Não foi possível realizar a operação no momento.");
            }
        }