Ejemplo n.º 1
0
        /// <summary>
        /// Modified State.
        /// </summary>
        private static void Modified()
        {
            var contexto = new LojaContext();
            var produtos = contexto.Produtos.ToList();
            var produto  = produtos.FirstOrDefault();

            if (produto != null)
            {
                produto.Nome = "TV";
            }
            WriteStates(contexto.ChangeTracker.Entries());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Deleted State.
        /// </summary>
        private static void Deleted()
        {
            var contexto = new LojaContext();
            var produto  = contexto.Produtos.FirstOrDefault();

            if (produto != null)
            {
                contexto.Produtos.Remove(produto);
                WriteStates(contexto.ChangeTracker.Entries());
                contexto.SaveChanges();
            }
        }
Ejemplo n.º 3
0
        public static void OneToOne()
        {
            using (var contexto = new LojaContext())
            {
                var clientes = contexto
                               .Clientes
                               .Include(cliente => cliente.EnderecoEntrega)
                               .ToList();

                foreach (var cliente in clientes)
                {
                    Console.WriteLine($"Cliente: {cliente.Nome}, Logradouro: {cliente.EnderecoEntrega.Logradouro}");
                }
            }
        }
Ejemplo n.º 4
0
        public static void UsingLinq()
        {
            using (var contexto = new LojaContext())
            {
                var produtos = (from p in contexto.Produtos
                                join c in contexto.Compras on p.Id equals c.ProdutoId
                                where
                                c.Preco > 2
                                select p).ToList();

                foreach (var p in produtos)
                {
                    Console.WriteLine(p.Nome);
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Added State.
        /// </summary>
        private static void Added()
        {
            var contexto = new LojaContext();

            var novoProduto = new Produtos
            {
                Nome = "Mouse"
            };

            contexto.Produtos.Add(novoProduto);

            WriteStates(contexto.ChangeTracker.Entries());

            contexto.SaveChanges();

            WriteStates(contexto.ChangeTracker.Entries());
        }
Ejemplo n.º 6
0
        public static void OneToMany()
        {
            using (var contexto = new LojaContext())
            {
                var produtos = contexto
                               .Produtos
                               .Include(produto => produto.Compras)
                               .ToList();

                foreach (var produto in produtos)
                {
                    foreach (var compra in produto.Compras)
                    {
                        Console.WriteLine($"Produto: {produto.Nome}, Quantidade da Compra: {compra.Quantidade}, Valor da Compra: {compra.Preco}");
                    }
                }
            }
        }
Ejemplo n.º 7
0
        public static void ManyToMany()
        {
            using (var readContexto = new LojaContext())
            {
                var promocoes = readContexto
                                .Promocoes
                                .Include(promocao => promocao.Produtos)
                                .ThenInclude(promocaoProduto => promocaoProduto.Produto)
                                .ToList();

                foreach (var promocao in promocoes)
                {
                    foreach (var produto in promocao.Produtos)
                    {
                        Console.WriteLine(produto.Produto);
                    }
                }
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// One To One
        /// 1 cliente possui 1 endereço
        /// </summary>
        public static void OneToOne()
        {
            var cliente = new Cliente();

            cliente.Nome            = "Cliente A";
            cliente.EnderecoEntrega = new Endereco
            {
                Numero      = "10",
                Logradouro  = "Rua A",
                Complemento = "Casa 2",
                Bairro      = "Centro",
                Cidade      = "Cidade A"
            };

            using (var contexto = new LojaContext())
            {
                contexto.Clientes.Add(cliente);
                contexto.SaveChanges();
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// One To Many
        /// 1 produto está em N compras
        /// </summary>
        public static void OneToMany()
        {
            // 1 produto
            var pao = new Produtos();

            pao.Nome          = "Pão Francês";
            pao.PrecoUnitario = 0.40;
            pao.Unidade       = "UN";
            pao.Categoria     = "Padaria";

            // N compras
            var compra = new Compra();

            compra.Quantidade = 6;
            compra.Produto    = pao;
            compra.Preco      = pao.PrecoUnitario * compra.Quantidade;

            var contexto = new LojaContext();

            contexto.Compras.Add(compra);
            contexto.SaveChanges();
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Many To Many
        /// 1 promoção possui N produtos
        /// 1 produto está em N promoções
        /// </summary>
        public static void ManyToMany()
        {
            // 1 promoção
            var promocao = new Promocao();

            promocao.Descricao   = "Páscoa Feliz";
            promocao.DataInicio  = DateTime.Now;
            promocao.DataTermino = DateTime.Now.AddMonths(3);

            // N produtos
            promocao.AddProduto(new Produtos
            {
                Nome          = "Suco de Laranja",
                Categoria     = "Bebidas",
                PrecoUnitario = 8.79,
                Unidade       = "Litros"
            });
            promocao.AddProduto(new Produtos
            {
                Nome          = "Café",
                Categoria     = "Bebidas",
                PrecoUnitario = 12.45,
                Unidade       = "Gramas"
            });
            promocao.AddProduto(new Produtos
            {
                Nome          = "Macarrão",
                Categoria     = "Alimentos",
                PrecoUnitario = 4.23,
                Unidade       = "Gramas"
            });

            var contexto = new LojaContext();

            contexto.Promocoes.Add(promocao);
            contexto.SaveChanges();
        }