コード例 #1
0
        public IHttpActionResult PutPedidos(int id, Pedidos pedidos)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != pedidos.idPedidos)
            {
                return(BadRequest());
            }

            db.Entry(pedidos).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PedidosExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
コード例 #2
0
        private static void AdicionarRegistros()
        {
            using (var db = new PedidosContext())
            {
                var c1 = new Cliente {
                    ClienteId = "Cliente1", Nome = "Cliente 1", Email = "*****@*****.**"
                };
                var c2 = new Cliente {
                    ClienteId = "Cliente2", Nome = "Cliente 2", Email = "*****@*****.**"
                };

                db.Clientes.AddRange(c1, c2);
                db.SaveChanges();

                var p1 = new Pedido
                {
                    PedidoId = "Pedido1",
                    Numero   = 1,
                    Cliente  = c1,
                    Itens    = new List <PedidoItem>
                    {
                        new PedidoItem {
                            PedidoItemId = "PedidoItem1", PedidoId = "Pedido1", Produto = RetornaProdutoPorId(db, "Produto1"), Quantidade = 5
                        },
                        new PedidoItem {
                            PedidoItemId = "PedidoItem2", PedidoId = "Pedido1", Produto = RetornaProdutoPorId(db, "Produto2"), Quantidade = 4
                        }
                    }
                };

                var p2 = new Pedido
                {
                    PedidoId = "Pedido1",
                    Numero   = 2,
                    Cliente  = c2,
                    Itens    = new List <PedidoItem>
                    {
                        new PedidoItem {
                            PedidoItemId = "PedidoItem3", PedidoId = "Pedido2", Produto = RetornaProdutoPorId(db, "Produto3"), Quantidade = 5
                        },
                        new PedidoItem {
                            PedidoItemId = "PedidoItem4", PedidoId = "Pedido2", Produto = RetornaProdutoPorId(db, "Produto4"), Quantidade = 4
                        },
                        new PedidoItem {
                            PedidoItemId = "PedidoItem5", PedidoId = "Pedido2", Produto = RetornaProdutoPorId(db, "Produto5"), Quantidade = 4
                        }
                    }
                };


                db.Pedidos.AddRange(p1, p2); // mesmo adicionando só pedidos, a tabela itens também é preenchida
                db.SaveChanges();
            }
        }
コード例 #3
0
 public void Adicionar(Produto produto)
 {
     try
     {
         _ctx.Produtos.Add(produto);
         _ctx.SaveChanges();
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #4
0
        public IActionResult Post([FromBody] PedidoDto pedidoDto)
        {
            var pedido = new Pedido
            {
                Status   = pedidoDto.Status,
                Produtos = pedidoDto.Lines.Select(x => new Produto {
                    Product = x.Product, Quantity = x.Quantity
                }).ToList()
            };

            _context.Pedidos.Add(pedido);

            _context.SaveChanges();

            return(Ok());
        }
コード例 #5
0
        public Pedido Adicionar(List <PedidoItem> pedidosItens)
        {
            try
            {
                Pedido pedido = new Pedido
                {
                    Status    = "Pedido Efetuado",
                    OrderDate = DateTime.Now,
                };


                foreach (var item in pedidosItens)
                {
                    pedido.PedidosItens.Add(new PedidoItem
                    {
                        IdPedido   = pedido.Id,
                        IdProduto  = item.IdProduto,
                        Quantidade = item.Quantidade
                    });
                }

                _ctx.Pedidos.Add(pedido);
                _ctx.SaveChanges();

                return(pedido);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #6
0
        private static void AlterarProduto()
        {
            using (var db = new PedidosContext())
            {
                //var p2 = db.Produtos.Where(x => x.ProdutoId == "Produto2").FirstOrDefault();
                var p2 = (from x in db.Produtos where x.ProdutoId == "Produto2" select x).FirstOrDefault(); // comando sql deixa de ser uma string e passa a ser verificado pelo compilador. Tem boa integração com o LINQ

                p2.Descricao = "Produto 2 (Alterado)";
                db.SaveChanges();
            }
        }
コード例 #7
0
        private static void IncluirProdutos()
        {
            using (var db = new PedidosContext())
            {
                var p1 = new Produto {
                    ProdutoId = "Produto1", Codigo = 1, Descricao = "Produto 1", Preco = 1.11
                };
                var p2 = new Produto {
                    ProdutoId = "Produto2", Codigo = 2, Descricao = "Produto 2", Preco = 2.22
                };
                var p3 = new Produto {
                    ProdutoId = "Produto3", Codigo = 3, Descricao = "Produto 3", Preco = 3.33
                };
                var p4 = new Produto {
                    ProdutoId = "Produto4", Codigo = 4, Descricao = "Produto 4", Preco = 4.44
                };
                var p5 = new Produto {
                    ProdutoId = "Produto5", Codigo = 5, Descricao = "Produto 5", Preco = 5.55
                };

                db.Add(p1); // db é PedidosContext(). Adiciona-se a ele p1, vai para o DbSet<Produto> Produtos
                db.SaveChanges();

                db.Add(p2);
                db.SaveChanges();

                db.Add(p3);
                db.SaveChanges();

                db.Add(p4);
                db.SaveChanges();

                db.Add(p5);
                db.SaveChanges();
            }
        }
コード例 #8
0
        private static void ExcluirProduto()
        {
            using (var db = new PedidosContext())
            {
                var p2 = (from x in db.Produtos where x.ProdutoId == "Produto2" select x).FirstOrDefault();

                if (p2 == null)
                {
                    Console.WriteLine("Produto de id='Produto2' não encontrado");
                }
                else
                {
                    db.Produtos.Remove(p2);
                    db.SaveChanges();
                }
            }
        }
コード例 #9
0
        public static void Initialize(PedidosContext context)
        {
            // context.Database.EnsureCreated();

            // Look for any students.
            if (context.Cliente.Any())
            {
                return;   // DB has been seeded
            }

            var clientes = new Cliente[]
            {
                new Cliente {
                    Nome = "Carson", CPF = "97917191010"
                },
                new Cliente {
                    Nome = "Git", CPF = "23937196013"
                },
                new Cliente {
                    Nome = "Good", CPF = "87442646077"
                },
                new Cliente {
                    Nome = "Adriana", CPF = "94842766018"
                },
                new Cliente {
                    Nome = "Yan", CPF = "47188406006"
                }
            };

            foreach (Cliente s in clientes)
            {
                context.Cliente.Add(s);
            }
            context.SaveChanges();

            var produtos = new Produto[]
            {
                new Produto {
                    Descricao = "Iphone", ValorIndividual = 900.00f
                },
                new Produto {
                    Descricao = "Borracha", ValorIndividual = 0.25f
                },
                new Produto {
                    Descricao = "Papel", ValorIndividual = 0.05f
                },
                new Produto {
                    Descricao = "Coelho", ValorIndividual = 69.95f
                },
                new Produto {
                    Descricao = "Aparador", ValorIndividual = 250.00f
                },
                new Produto {
                    Descricao = "Varal", ValorIndividual = 120.50f
                },
                new Produto {
                    Descricao = "Uno", ValorIndividual = 450.99f
                }
            };

            foreach (Produto c in produtos)
            {
                context.Produto.Add(c);
            }
            context.SaveChanges();

            var pedidos = new Pedido[]
            {
                new Pedido {
                    ClienteID = 1, DataPedido = new DateTime(2017, 1, 18)
                },
                new Pedido {
                    ClienteID = 2, DataPedido = new DateTime(2015, 3, 30)
                },
                new Pedido {
                    ClienteID = 2, DataPedido = new DateTime(2018, 8, 22)
                },
                new Pedido {
                    ClienteID = 5, DataPedido = new DateTime(2018, 8, 25)
                },
                new Pedido {
                    DataPedido = new DateTime(2015, 4, 23)
                },
                new Pedido {
                    DataPedido = new DateTime(2017, 6, 7)
                }
            };

            foreach (Pedido e in pedidos)
            {
                context.Pedido.Add(e);
            }
            context.SaveChanges();
        }