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); } } } } } }
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]); } } } }
public Paginador <Estoque> GetAll() { Paginador <Estoque> paginador = new Paginador <Estoque> { Dados = rep.GetAll() }; return(paginador); }
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()); }
public List <Estoque> ObterTodos() { return(repository.GetAll()); }