private static void BaixaEstoque(ISession session, Mercearia pedido) { foreach (ProdutoPedido prods in pedido.Produtos) { if (prods.Produto.Ippt == Ippt.Propria) { if (prods.Produto.Receitas.Count > 0) { foreach (Receita itemReceita in prods.Produto.Receitas) { decimal qtd = itemReceita.Quantidade * (prods.Quantidade * prods.Produto.UnidadeVenda.Quantidade); ProdutoRepository.BaixarQuantidadeProduto(itemReceita.MateriaPrima, qtd); } } else { ProdutoRepository.BaixarQuantidadeProduto(prods.Produto, prods.Quantidade); } } else { ProdutoRepository.BaixarQuantidadeProduto(prods.Produto, prods.Quantidade); } } }
private static void BaixaEstoque(ISession session, PedidoRestaurante pedido) { // Entra dentro dos produtos. foreach (ComposicaoProduto prods in pedido.Produtos) { // Entra dentro das composições do produto. // Observação: os produtos são baixados por meio de sua composição nos pedidos de restaurante, // sejam eles produção própria ou de terceiros. foreach (ProdutoPedido composicao in prods.Composicao) { if (composicao.Produto.Ippt == Ippt.Propria) { if (composicao.Produto.Receitas.Count > 0) { foreach (Receita itemReceita in composicao.Produto.Receitas) { decimal qtd = itemReceita.Quantidade * (composicao.Quantidade * composicao.Produto.UnidadeVenda.Quantidade); ProdutoRepository.BaixarQuantidadeProduto(itemReceita.MateriaPrima, qtd); } } else { decimal qtd = (composicao.Quantidade * composicao.Produto.UnidadeVenda.Quantidade); ProdutoRepository.BaixarQuantidadeProduto(composicao.Produto, qtd); } } else { decimal qtd = (composicao.Quantidade * composicao.Produto.UnidadeVenda.Quantidade); ProdutoRepository.BaixarQuantidadeProduto(composicao.Produto, qtd); } } } }