예제 #1
0
        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();
        }
예제 #2
0
        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();
                }
            }
        }