Пример #1
0
        private static void AtualizaCamposDesconectado()
        {
            /*
             *  Quando os dados ainda não estão estanciados.
             *  -> Temos um frontend e o usuário está preenchendo os dados em formulário.
             *  -> Envimos os dados para uma API, e essa API em acesso aos BD.
             *  -> Assim, a api trata essa inserção
             *  -> Recebemos o id do cliente, no caso 1
             *  -> E os dados estão em outro objeto NovoCliente
             *  -> somente alguns campos sofrem alteração
             */
            using var db = new Data.ApplicationContext();

            var cliente = new Cliente
            {
                Id = 1
            };

            var novoCliente = new
            {
                Nome     = "José",
                Telefone = "5187542154"
            };

            db.Attach(cliente);                                     //anexa o cliente
            db.Entry(cliente).CurrentValues.SetValues(novoCliente); //rastreia
        }
Пример #2
0
        private static void InserirDadosEmMassa()
        {
            var produto = new Produto
            {
                Descricao    = "Produto Teste",
                CodigoBarras = "12345678900",
                Valor        = 10m,
                TipoProduto  = TipoProduto.MercadoriaParaRevenda,
                Ativo        = true
            };

            var cliente = new Cliente
            {
                Nome     = "Carlos",
                CEP      = "3158100",
                Cidade   = "Belo Horizonte",
                Estado   = "MG",
                Telefone = "3198998765"
            };

            using var db = new Data.ApplicationContext();
            db.AddRange(produto, cliente);
            var registros = db.SaveChanges();

            Console.WriteLine($"\nTotal Registros: {registros}");
        }
Пример #3
0
        private static void CadastrarPedido()
        {
            using var db = new Data.ApplicationContext();

            var cliente = db.Clientes.FirstOrDefault();
            var produto = db.Produtos.FirstOrDefault();

            var pedido = new Pedido
            {
                ClienteId    = cliente.Id,
                IniciadoEm   = DateTime.Now,
                FinalizadoEm = DateTime.Now,
                Observacao   = "Pedido Teste",
                Status       = StatusPedido.Analise,
                TipoFrete    = TipoFrete.SemFrete,
                Itens        = new List <PedidoItem>
                {
                    new PedidoItem
                    {
                        ProdutoId  = produto.Id,
                        Desconto   = 0,
                        Quantidade = 1,
                        Valor      = 10,
                    }
                }
            };

            db.Pedidos.Add(pedido);

            db.SaveChanges();
        }
Пример #4
0
        private static void AtualizarDados()
        {
            using var db = new Data.ApplicationContext();
            //var cliente = db.Clientes.Find(1);

            var cliente = new Cliente
            {
                Id = 1
            };

            var clienteDesconectado = new
            {
                Nome     = "Cliente desconhecido 2",
                Telefone = "76555698885"
            };

            db.Attach(cliente);
            db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado);

            //cliente.Nome = "Leandro Peres Atualizado";

            //db.Entry(cliente).State = EntityState.Modified;

            //db.Clientes.Update(cliente);
            db.SaveChanges();
        }
Пример #5
0
        private static void InserirDados()
        {
            var produto = new Produto
            {
                Descricao    = "Produto Teste",
                CodigoBarras = "123123123123",
                Valor        = 10m,
                TipoProduto  = TipoProduto.MercadoriaParaRevenda,
                Ativo        = true
            };

            var cliente = new Cliente
            {
                Nome     = "Pedro Grachet",
                CEP      = "74870552",
                Cidade   = "Rondonópolis",
                Estado   = "MT",
                Telefone = "6699976991"
            };

            using var db = new Data.ApplicationContext();
            //Formas de Adicionar Instancia
            //db.Produtos.Add(produto);
            //db.Set<Produto>().Add(produto);
            //db.Entry(produto).State = EntityState.Added;
            //db.Add(produto);

            db.AddRange(produto, cliente);

            var registro = db.SaveChanges();

            Console.WriteLine($"Total de registro(s): {registro}");
        }
Пример #6
0
        private static void InserirDadosEmMassa()
        {
            var produto = new Produto()
            {
                Descricao    = "Produto Teste",
                CodigoBarras = "1234567891231",
                Valor        = 10m,
                TipoProduto  = TipoProduto.MercadoriaParaRevenda,
                Ativo        = true
            };

            var cliente = new Cliente()
            {
                Nome     = "Alessandro Oliveira",
                CEP      = "99999000",
                Cidade   = "Fortaleza",
                Estado   = "CE",
                Telefone = "999990000"
            };

            using var db = new Data.ApplicationContext();
            db.AddRange(produto, cliente);

            var registros = db.SaveChanges();

            Console.WriteLine($"Total Registro(s): {registros}");
        }
Пример #7
0
        private static void AddMultiplesEntrys()
        {
            var produto = new Produto
            {
                Descricao    = "product test2",
                CodigoBarras = "1231567893000",
                Valor        = 100m,
                TipoProduto  = ValueObjects.TipoProduto.MercadoriaParaRevenda,
                Ativo        = true
            };

            var cliente = new Cliente
            {
                Nome     = "cliente1",
                CEP      = "99999900",
                Cidade   = "Curitiba",
                Estado   = "PR",
                Telefone = "61995811111"
            };

            using var db = new Data.ApplicationContext();
            db.AddRange(produto, cliente);

            var records = db.SaveChanges();

            Console.WriteLine($"Total records: {records}");
        }
Пример #8
0
        private static void AtualizarDados()
        {
            using var db = new Data.ApplicationContext();
            // var cliente = db.Clientes.FirstOrDefault(p => p.Id == 1);
            // var cliente = db.Clientes.Find(1); // como você já sabe o ID, pesquise por find
            //cliente.Nome = "Cliente Alterado passo 2";

            var cliente = new Cliente
            {
                Id = 1
            };

            var clienteDesconectado = new
            {
                Nome     = "Cliente Desconectado",
                Telefone = "987786554"
            };

            db.Attach(cliente);
            db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado);

            // db.Entry(cliente).State = EntityState.Modified;
            // db.Clientes.Update(cliente); Sobrescreve todas as propriedades, mesmo aquelas que não foram alteradas
            // Você pode remover essa linha de código
            db.SaveChanges();
        }
Пример #9
0
        public static void CadastraPedido()
        {
            using var db = new Data.ApplicationContext(); //busca instancia do ApplicationContext

            var cliente = db.Clientes.FirstOrDefault();   // vai banco busca o 1º
            var produto = db.Produtos.FirstOrDefault();   // vai banco busca o 1º

            var pedido = new Pedido
            {
                ClienteId    = cliente.Id,
                IniciadoEm   = DateTime.Now,
                FinalizadoEm = DateTime.Now,
                StatusPedido = StatusPedido.Analise,
                TipoFrete    = TipoFrete.SemFrete,
                Items        = new List <PedidoItem> // Cria nova lista de Pedido Item
                {
                    new PedidoItem
                    {
                        ProdutoId  = produto.Id,
                        Desconto   = 0,
                        Quantidade = 10,
                        Valor      = 10
                    }
                }
            };

            db.Pedido.Add(pedido);
            db.SaveChanges();
        }
Пример #10
0
        private static void UpdateEntity()
        {
            using var db = new Data.ApplicationContext();

            //var cliente = db.Clientes.Find(1);
            //cliente.Nome = "cliente updated again";

            var cliente = new Cliente
            {
                Id = 1
            };
            var clienteDTO = new
            {
                Nome     = "cliente updated",
                Telefone = "61985465858"
            };

            // update entry without find
            db.Attach(cliente);
            db.Entry(cliente).CurrentValues.SetValues(clienteDTO);


            //db.Clientes.Update(cliente); // this will update all entity fields
            db.SaveChanges();
        }
Пример #11
0
        private static void UpdateClient()
        {
            using var db = new Data.ApplicationContext();
            var cliente = db.Clientes.Find(2);

            // cliente.Nome = "Cliente Alterado Passo 4";
            cliente.Cidade = "SBO";

            // var cliente = new Cliente { Id = 2 };
            // var clienteDesconectado = new
            // {
            //     Nome = "Cliente Desconectado Passo 3",
            //     Telefone = "19999999966"
            // };

            // db.Attach(cliente);
            // db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado);

            // Atualiza todas as propriedades
            // db.Clientes.Update(cliente);
            // db.Entry(cliente).State = EntityState.Modified;

            // Se apenas chamar SaveChanges(), irá fazer update só nas propriedades que mudaram
            db.SaveChanges();
        }
Пример #12
0
        private static void ProductBulkInsert()
        {
            var produto = new Produto
            {
                Descricao    = "Produto Teste",
                CodigoBarras = "01234567891234",
                Valor        = 10m,
                TipoProduto  = TipoProduto.MarcadoriaParaRevenda,
                Ativo        = true
            };

            var cliente = new Cliente
            {
                Nome     = "Vinicius",
                CEP      = "99999999",
                Cidade   = "Americana",
                Estado   = "SP",
                Telefone = "19999999999",
                // Email = "*****@*****.**"
            };

            using var db = new Data.ApplicationContext();
            db.AddRange(produto, cliente);

            var registers = db.SaveChanges();

            Console.WriteLine($"Total: {registers}");
        }
        private static void AtualizarDados()
        {
            var db = new Data.ApplicationContext();

            //var cliente = db.Clientes.Find(1);

            var cliente = new Cliente
            {
                Id = 1
            };

            var clienteDesconectado = new
            {
                Nome     = "Cliente Desconectado 3",
                Telefone = "0101010101"
            };

            db.Attach(cliente);

            db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado);

            //db.Clientes.Update(cliente);

            db.SaveChanges();
        }
Пример #14
0
        private static void InserirDadosEmMassa2()
        {
            var listaClientes = new[]
            {
                new Cliente()
                {
                    Nome     = "Teste 1",
                    CEP      = "11111111",
                    Cidade   = "Cidade Teste 1",
                    Estado   = "SE",
                    Telefone = "222222222"
                },
                new Cliente()
                {
                    Nome     = "Teste 2",
                    CEP      = "33333333",
                    Cidade   = "Cidade Teste 2",
                    Estado   = "PI",
                    Telefone = "4444444444"
                }
            };

            using var db = new Data.ApplicationContext();
            db.Clientes.AddRange(listaClientes);

            var registros = db.SaveChanges();

            Console.WriteLine($"Total Registro(s): {registros}");
        }
Пример #15
0
        private static void InserirDadosEmMassa()
        {
            using var db = new Data.ApplicationContext();

            var produto = new Produto
            {
                Descricao    = "Produto de teste",
                CodigoBarras = "1234567891231",
                Valor        = 10m,
                TipoProduto  = TipoProduto.MercadoriaParaRevenda,
                Ativo        = true
            };

            var cliente = new Cliente
            {
                Nome     = "Thiago Borges Vieira",
                CEP      = "99999999",
                Cidade   = "Valparaíso",
                Estado   = "GO",
                Telefone = "61999999999"
            };

            db.AddRange(produto, cliente);

            var registros = db.SaveChanges();

            Console.WriteLine($"Total de Registro(s): {registros}");
        }
Пример #16
0
        private static void AtualizarDados01()
        {
            using var db = new Data.ApplicationContext();
            var cliente = db.Clientes.Find(1);

            // db.Clientes.Update(cliente); //no banco o set referencia todas as colunas
            db.SaveChanges();
        }
Пример #17
0
        private static void RemoverRegistro()
        {
            using var db = new Data.ApplicationContext();
            var cliente = db.Clientes.Find(2);

            // db.Clientes.Remove(cliente);
            // db.Remove(cliente);
            db.Entry(cliente).State = EntityState.Deleted;
            db.SaveChanges();
        }
Пример #18
0
        private static void ConsultarPedidoCarregamentoAdiantado()
        {
            using var db = new Data.ApplicationContext();
            var pedidos = db.Pedidos
                          .Include(p => p.Itens)
                          .ThenInclude(p => p.Produto) // produto está dentro de Itens, por isso thenInclude
                          .ToList();                   // ou Include("Itens"), inclui a propriedade de navegação

            Console.WriteLine(pedidos.Count);
        }
Пример #19
0
        // Carregamento Adiantado
        private static void GetPedidoEagerLoading()
        {
            using var db = new Data.ApplicationContext();
            var pedidos = db.Pedidos
                          .Include(pedido => pedido.Itens)
                          .ThenInclude(item => item.Produto)
                          .ToList();

            Console.WriteLine(pedidos.Count);
        }
Пример #20
0
        private static void RemoverRegistroDesconectado()
        {
            using var db = new Data.ApplicationContext();
            var cliente = new Cliente {
                Id = 3
            };

            db.Entry(cliente).State = EntityState.Deleted;
            db.SaveChanges();
        }
Пример #21
0
        private static void ConsultarPedidoCarregamentoAdiantado()
        {
            using var db = new Data.ApplicationContext();
            var pedidos = db.Pedidos
                          .Include(p => p.Itens)
                          .ThenInclude(p => p.Produto)
                          .ToList();

            Console.WriteLine(pedidos.Count);
        }
Пример #22
0
        private static void AtualizarDados()
        {
            using var db = new Data.ApplicationContext();
            var cliente = db.Clientes.Find(1);

            cliente.Nome = "Cliente Alterado Passo 2";

            //db.Clientes.Update(cliente); // Isso irá indicar que eu estou alterando todos os dados do cliente, o que não é verdade
            db.SaveChanges();
        }
        private static void AtualizaDados()
        {
            using var db = new Data.ApplicationContext();
            var cliente = db.Cliente.Find(1);

            cliente.Nome     = "Cliente Alterado passo 1";
            cliente.Telefone = "22229999";

            // db.Cliente.Update(cliente);
            db.SaveChanges();
        }
Пример #24
0
        // Eager loading is the process whereby a query for one type
        // of entity also loads related entities as part of the query
        // https://www.entityframeworktutorial.net/eager-loading-in-entity-framework.aspx
        private static void EagerQuery()
        {
            using var db = new Data.ApplicationContext();

            var pedidos = db
                          .Pedidos
                          .Include(x => x.Itens)
                          .ThenInclude(x => x.Produto)
                          .ToList();

            Console.WriteLine(pedidos.Count);
        }
        private static void ConsultarDados()
        {
            using var db = new Data.ApplicationContext();
            // var ConsultaPorSintaxe = (from c in db.Cliente where c.Id>0 select c).ToList();
            var ConsultaPorMetodo = db.Cliente.Where(p => p.Id > 0).ToList();

            foreach (var cliente in ConsultaPorMetodo)
            {
                Console.WriteLine($"Consultando Cliente: {cliente.Id}");
                db.Cliente.Find(cliente.Id);
            }
        }
Пример #26
0
        private static void DeleteEntity()
        {
            using var db = new Data.ApplicationContext();

            var cliente = db.Clientes.Find(3);

            //var cliente = new Cliente{ Id = 4 }; // delete without find

            //db.Clientes.Remove(cliente);
            db.Entry(cliente).State = EntityState.Deleted;

            db.SaveChanges();
        }
Пример #27
0
        private static void AtualizarDadosDesconectado()
        {
            using var db = new Data.ApplicationContext();
            var cliente             = db.Clientes.Find(1);
            var clienteDesconectado = new
            {
                Nome     = "Cliente Desconectado",
                Telefone = "555555555"
            };

            db.Entry(cliente).CurrentValues.SetValues(clienteDesconectado);
            db.SaveChanges();
        }
Пример #28
0
        private static void InserirDadosEmMassa()
        {
            var produto = new Produto
            {
                Descricao    = "Produto Teste",
                CodigoBarras = "1234567891231",
                Valor        = 10m,
                TipoProduto  = TipoProduto.MercadoriaParaRevenda,
                Ativo        = true
            };

            var cliente = new Cliente
            {
                Nome     = "Rafael Almeida",
                CEP      = "99999000",
                Cidade   = "Itabaiana",
                Estado   = "SE",
                Telefone = "99000001111",
            };

            var listaClientes = new[]
            {
                new Cliente
                {
                    Nome     = "Teste 1",
                    CEP      = "99999000",
                    Cidade   = "Itabaiana",
                    Estado   = "SE",
                    Telefone = "99000001115",
                },
                new Cliente
                {
                    Nome     = "Teste 2",
                    CEP      = "99999000",
                    Cidade   = "Itabaiana",
                    Estado   = "SE",
                    Telefone = "99000001116",
                },
            };


            using var db = new Data.ApplicationContext();
            //db.AddRange(produto, cliente);
            db.Set <Cliente>().AddRange(listaClientes);
            //db.Clientes.AddRange(listaClientes);

            var registros = db.SaveChanges();

            Console.WriteLine($"Total Registro(s): {registros}");
        }
Пример #29
0
        private static void QueryData()
        {
            using var db = new Data.ApplicationContext();
            //var linqQuerySyntax = (from c in db.Clientes where c.Id > 0 select c).ToList();
            var linqMethodSyntax = db.Clientes.AsNoTracking().Where(x => x.Id > 0).ToList();

            foreach (var cliete in linqMethodSyntax)
            {
                Console.WriteLine($"Cliente id: {cliete.Id}");

                // "Find" will search the memory first for tracked entities
                db.Clientes.Find(cliete.Id);
            }
        }
Пример #30
0
        private static void RemoverRegistro()
        {
            using var db = new Data.ApplicationContext();

            var cliente = InserirCliente(db);

            db.Clientes.Remove(cliente);

            //db.SaveChanges();
            //db.Remove(cliente);
            db.Entry(cliente).State = EntityState.Deleted;

            Console.WriteLine($"Cliente {cliente.Id} removido");
        }