示例#1
0
 public void PreencheEstoque(ref List <Produto> produtos)
 {
     for (int i = 0; i < produtos.Count; i++)
     {
         int              id         = produtos[i].Id;
         List <Estoque>   estoque    = new List <Estoque>();
         List <Orcamento> orcamentos = new List <Orcamento>();
         produtos[i].EstoqueComprometido = new List <EstoqueComprometido>();
         orcamentos = repOrcamento.GetAll(x => x.TipoPedido == "Pedido");
         estoque    = repEstoque.GetAll(x => x.ProdutoId == id);
         if (estoque != null && estoque.Count > 0)
         {
             produtos[i].Quantidade = estoque[0].Entrada;
             foreach (var orc in orcamentos)
             {
                 foreach (var orcProd in orc.OrcamentoProduto)
                 {
                     if (orcProd.ProdutoId == produtos[i].Id)
                     {
                         EstoqueComprometido estCmp = new EstoqueComprometido
                         {
                             ProdutoId  = orcProd.ProdutoId,
                             Quantidade = orcProd.Quantidade,
                             DataInicio = orc.DataEntrega,
                             DataFim    = orc.DataDevolucao
                         };
                         produtos[i].EstoqueComprometido.Add(estCmp);
                     }
                 }
             }
         }
     }
 }
示例#2
0
        public void DevolucaoEstoque(Orcamento orcamento)
        {
            foreach (var item in orcamento.OrcamentoProduto)
            {
                Produto prod = new ProdutoBll().Get(item.ProdutoId);

                // Verificando o Tipo do produto para devolução.
                // Só é dado entrada no estoque caso for um Acervo.
                if (!prod.Terceiros && prod.Tipo == Tipo.ACERVO)
                {
                    List <Estoque> estoque = new List <Estoque>();
                    estoque = repEstoque.GetAll(x => x.ProdutoId == item.ProdutoId);
                    if (estoque.Count == 0)
                    {
                        // Fazendo verificação se não existe, mas o normal é existir estoque.
                        throw new Exception("Produto sem estoque para ser devolvido!");
                    }
                    else
                    {
                        estoque[0].Saida -= item.Quantidade;
                        repEstoque.Update(estoque[0]);
                    }
                }
            }
        }
示例#3
0
        public Paginador <Estoque> GetAll()
        {
            Paginador <Estoque> paginador = new Paginador <Estoque>
            {
                Dados = rep.GetAll()
            };

            return(paginador);
        }
示例#4
0
        public void Add(Compra compra)
        {
            if (context.Compra.Count() > 0)
            {
                compra.Id = context.Compra.Max(x => x.Id) + 1;
            }
            else
            {
                compra.Id = 1;
            }

            if (compra.DataCompra == null)
            {
                compra.DataCompra = DateTime.Now;
            }

            foreach (var item in compra.CompraProduto)
            {
                List <Estoque> est = new List <Estoque>();
                est = repEstoque.GetAll(x => x.ProdutoId == item.ProdutoId);

                if (est.Count != 0)
                {
                    est[0].Entrada += item.Quantidade;
                    repEstoque.Update(est[0]);
                }
                else
                {
                    Estoque estoque = new Estoque();

                    if (context.Estoque.Count() == 0)
                    {
                        estoque.Id = 1;
                    }
                    else
                    {
                        estoque.Id = context.Estoque.Max(x => x.Id) + 1;
                    }

                    estoque.ProdutoId = item.ProdutoId;
                    estoque.Entrada   = item.Quantidade;
                    estoque.Saida     = 0;
                    repEstoque.Add(estoque);
                }
            }

            rep.Add(compra);
        }
 public IQueryable <Estoque> GetAll()
 {
     return(_repository.GetAll());
 }
示例#6
0
 public List <Estoque> ObterTodos()
 {
     return(repository.GetAll());
 }