Ejemplo n.º 1
0
        private static void IncluirPromocao()
        {
            using (var contexto = new LojaContext())
            {
                //Acionando ao LOGGER !!
                SqlLoggerProvider.LogContext(contexto);

                var promocao = new Promocao();
                promocao.Descricao   = "Queima total Janeiro 2017";
                promocao.DataInicio  = new DateTime(2017, 01, 01);
                promocao.DataTermino = new DateTime(2017, 01, 31);

                var produtos = contexto
                               .Produtos
                               .Where(p => p.Categoria == "Bebidas")
                               .ToList();

                foreach (var item in produtos)
                {
                    promocao.IncluiProduto(item);
                }

                contexto.Promocoes.Add(promocao);
                ExibeEntries(contexto.ChangeTracker.Entries());

                contexto.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            using (var contexto = new LojaContext())
            {
                //Acionando ao LOGGER !!
                SqlLoggerProvider.LogContext(contexto);

                var cliente = contexto
                              .Clientes
                              .Include(c => c.EnderecoDeEntrega)
                              .FirstOrDefault();

                Console.WriteLine($"Endereco de Entrega: {cliente.EnderecoDeEntrega.Logradouro}");

                /////////////////////////////////////////////
                //Pegar as compras de um produto !!
                //var produto = contexto
                //    .Produtos
                //    .Where(p => p.Id == 3002)
                //    .Include(p => p.Compras)
                //    .FirstOrDefault();

                //Console.WriteLine("## Pegar as compras de um produto !!");
                //Console.WriteLine($"Mostrando as Compras do Produto: {produto.Nome}");
                //foreach (var item in produto.Compras)
                //{
                //    Console.WriteLine("\t" + item);
                //}

                /////////////////////////////////////////////
                //Pegar as compras acima de um valor para um produto !!
                var produto2 = contexto
                               .Produtos
                               .Where(p => p.Id == 3002)
                               .FirstOrDefault();

                contexto.Entry(produto2)
                .Collection(p => p.Compras)
                .Query()            //tranforma em IQueryable !!
                .Where(c => c.Preco > 10)
                .Load();

                Console.WriteLine("## Pegar as compras acima de um valor para um produto !!");
                Console.WriteLine($"Mostrando as Compras do Produto: {produto2.Nome}");
                foreach (var item in produto2.Compras)
                {
                    Console.WriteLine("\t" + item);
                }
            }
        }
Ejemplo n.º 3
0
        private static void ExibeProdutosDaPromocao()
        {
            using (var contexto2 = new LojaContext())
            {
                //Acionando ao LOGGER !!
                SqlLoggerProvider.LogContext(contexto2);

                var promocao = contexto2
                               .Promocoes
                               .Include(p => p.Produtos)        //Pega os resultados dentro da Tabela 'PromocaoProduto' com INNER JOIN da tabela 'Promocao'
                               .ThenInclude(pp => pp.Produto)   //Pega os da tabela 'Produtos' relacionados com a tabela 'PromocaoProduto' com INNER JOIN na tabela 'Promocao'
                               .FirstOrDefault();
                Console.WriteLine("\nMostrando os produtos da promoção ...");
                foreach (var item in promocao.Produtos)
                {
                    Console.WriteLine(item.Produto);
                }
            }
        }