public void Devolver(int id) { var pedido = contexto.Pedidos .Include(x => x.Itens.Select(y => y.Produto)) .FirstOrDefault(e => e.Id == id); pedido.DataEntrega = DateTime.Now; var diasDeAtraso = (pedido.DataEntrega.Value - pedido.DataPedido).TotalDays; ProdutoRepositorio produtoRepositorio = new ProdutoRepositorio(); foreach (var item in pedido.Itens) { var produto = produtoRepositorio.ObterPorId(item.Produto.Id); if (produto.Quantidade > 0) { produto.DevolverEstoque(); pedido.ValorTotal += Convert.ToInt32(produto.PrecoDiaria); } produtoRepositorio.Alterar(produto.Id); contexto.SaveChanges(); } pedido.ValorTotal = pedido.ValorTotal * Convert.ToInt32(diasDeAtraso); contexto.Entry(pedido).State = System.Data.Entity.EntityState.Modified; contexto.SaveChanges(); }
private void DescontarQuantidade(Pedido pedido) { ProdutoRepositorio produtoRepositorio = new ProdutoRepositorio(); foreach (var item in pedido.Itens) { var produto = produtoRepositorio.ObterPorId(item.Produto.Id); if (produto.Quantidade > 0) { produto.BaixarEstoque(); produtoRepositorio.Alterar(produto.Id); contexto.SaveChanges(); } } }