Example #1
0
        public void Executar()
        {
            Titulo.Exibir("IENUMERABLE");

            List <Vendedor> vendedores = Vendedor.ObterTodos().ToList();

            var consultaSql = from v in vendedores
                              where v.Sexo == "M"
                              select v;

            var consultaLinq = (from v in vendedores
                                where v.Sexo == "M"
                                select v).ToList();

            vendedores.Add(new Vendedor()
            {
                Id               = 8,
                PrimeiroNome     = "Joselito",
                UltimoNome       = "Santos",
                Sexo             = "M",
                VendasSemestrais = 700
            });

            Titulo.ExibirSub("Consuta SQL");
            foreach (var item in consultaSql)
            {
                Console.WriteLine(item.PrimeiroNome);
            }

            Titulo.ExibirSub("Consuta LINQ");
            foreach (var item in consultaLinq)
            {
                Console.WriteLine(item.PrimeiroNome);
            }
        }
Example #2
0
        public void Executar()
        {
            Titulo.Exibir("SELECTMANY");

            var estudantes = Estudante.ObterEstudantes();

            Titulo.ExibirSub("Select");

            IEnumerable <List <string> > materias = estudantes.Select(x => x.Materias);

            foreach (var item in materias)
            {
                foreach (var m in item)
                {
                    Console.WriteLine(m);
                }
            }

            Titulo.ExibirSub("SelectMany");

            IEnumerable <string> materiasDistinct = estudantes.SelectMany(x => x.Materias).Distinct();

            foreach (var item in materiasDistinct)
            {
                Console.WriteLine(item);
            }
        }
Example #3
0
        public void Executar()
        {
            Titulo.Exibir("SELECT");

            Titulo.ExibirSub("IDs");
            var vendedores = Vendedor.ObterTodos();
            var ids        = vendedores.Select(x => x.Id);

            foreach (var item in ids)
            {
                Console.WriteLine(item);
            }

            Titulo.ExibirSub("Anônimo");
            var objetoAnonimo = vendedores.Select(x => new { Nome = x.PrimeiroNome, Sexo = x.Sexo, Id = x.Id });

            foreach (var item in objetoAnonimo)
            {
                Console.WriteLine($"{item.Id} \t {item.Nome} \t {item.Sexo}");
            }

            Titulo.ExibirSub("Vendas Mensais");
            var vendasMensais = vendedores.Where(x => x.VendasSemestrais > 1500).Select(x => new {
                Nome   = x.PrimeiroNome + "" + x.UltimoNome,
                Vendas = x.VendasSemestrais / 6,
                Id     = x.Id
            });

            foreach (var item in vendasMensais)
            {
                Console.WriteLine(item);
            }

            Console.ReadKey();
        }
Example #4
0
        public void Executar()
        {
            Titulo.Exibir("WHERE");

            #region Linq

            Titulo.ExibirSub("LINQ");

            var paresLinq = numeros.Where(x => x % 2 == 0);

            foreach (var item in paresLinq)
            {
                Console.WriteLine(item);
            }

            #endregion

            #region Sql

            Titulo.ExibirSub("SQL");
            var paresSql = from pares in numeros
                           where pares % 2 == 0
                           select pares;

            foreach (var item in paresSql)
            {
                Console.WriteLine(item);
            }

            #endregion
        }
Example #5
0
        public void Executar()
        {
            Titulo.Exibir("ORDER_BY");

            List <Estudante> estudantes = Estudante.ObterEstudantes();

            #region Linq

            Titulo.ExibirSub("LINQ");
            var ordenarLinq = estudantes
                              .OrderBy(x => x.Sexo)
                              .ThenByDescending(x => x.Materias.Count)
                              .ThenBy(x => x.Nome);

            foreach (var item in ordenarLinq)
            {
                Console.WriteLine($"{item.Nome} \t {item.Sexo} \t {item.Materias.Count}");
            }

            #endregion

            #region Sql

            Titulo.ExibirSub("SQL");
            var ordenarSql = (from e in estudantes
                              orderby e.Sexo, e.Materias.Count descending
                              select e).ThenBy(x => x.Nome);

            foreach (var item in ordenarSql)
            {
                Console.WriteLine($"{item.Nome} \t {item.Sexo} \t {item.Materias.Count}");
            }

            #endregion
        }
Example #6
0
        public void Executar()
        {
            Titulo.Exibir("INNER_JOIN");

            #region Linq

            Titulo.ExibirSub("LINQ");

            List <Vendedor> vendedores = Vendedor.ObterTodos().ToList();

            vendedores.Add(new Vendedor {
                Id = 20, PrimeiroNome = "Carlos", UltimoNome = "Silva", VendasSemestrais = 800
            });
            vendedores.Add(new Vendedor {
                Id = 21, PrimeiroNome = "Sandro", UltimoNome = "Silva", VendasSemestrais = 800, RegiaoId = 5
            });
            vendedores.Add(new Vendedor {
                Id = 22, PrimeiroNome = "Antonio", UltimoNome = "Silva", VendasSemestrais = 800, RegiaoId = 8
            });

            var grupo = vendedores
                        .Join(Regiao.ObterTodos(),
                              v => v.RegiaoId,
                              r => r.Id,
                              (v, r) => new
            {
                Vendedor = $"{v.PrimeiroNome} {v.UltimoNome}",
                Regiao   = r.Nome
            });

            foreach (var item in grupo)
            {
                Console.WriteLine($"{item.Vendedor} - {item.Regiao}");
            }

            #endregion

            #region Sql

            Titulo.ExibirSub("SQL");

            var grupoSql = from v in Vendedor.ObterTodos()
                           join r in Regiao.ObterTodos()
                           on v.RegiaoId equals r.Id
                           select new
            {
                Vendedor = $"{v.PrimeiroNome} {v.UltimoNome}",
                Regiao   = r.Nome
            };

            foreach (var item in grupoSql)
            {
                Console.WriteLine($"{item.Vendedor} - {item.Regiao}");
            }

            #endregion

            Console.ReadKey();
        }
Example #7
0
        public void Executar()
        {
            Titulo.Exibir("AGGREGATE");

            string[] nomes     = { "João", "da", "Silva", "Saulo" };
            var      resultado = nomes.Aggregate((a, b) => a + " " + b);

            Console.WriteLine(resultado);
        }
Example #8
0
        public void Executar()
        {
            Titulo.Exibir("DISTINCT");

            string[] paises = { "BR", "br", "eua", "uk", "UK", "BR" };

            #region Distinct

            Titulo.ExibirSub("Padrão");

            var resultado = paises.Distinct();

            foreach (var item in resultado)
            {
                Console.WriteLine(item);
            }

            #endregion

            #region OrdinalIgnoreCase

            Titulo.ExibirSub("OrdinalIgnoreCase");

            var resultadoIgnore = paises.Distinct(StringComparer.OrdinalIgnoreCase);

            foreach (var item in resultadoIgnore)
            {
                Console.WriteLine(item);
            }

            #endregion

            #region DistinctComplexo

            Titulo.ExibirSub("Vendedores");

            // Todo: Distinct para tipo complexo
            var vendedores = Vendedor.ObterTodos()
                             .Select(x => new {
                Id               = x.Id,
                PrimeiroNome     = x.PrimeiroNome,
                UltimoNome       = x.UltimoNome,
                VendasSemestrais = x.VendasSemestrais,
                Sexo             = x.Sexo,
                RegiaoId         = x.RegiaoId
            })
                             .Distinct();

            foreach (var item in vendedores)
            {
                Console.WriteLine(item.Id);
            }

            #endregion

            Console.ReadKey();
        }
Example #9
0
        public void Executar()
        {
            Titulo.Exibir("GROUP_JOIN");

            var vendedores = Vendedor.ObterTodos();

            #region Linq

            Titulo.ExibirSub("LINQ");
            var grupo = Regiao.ObterTodos()
                        .GroupJoin(vendedores,
                                   r => r.Id,
                                   v => v.RegiaoId,
                                   (regiao, vendedor) => new {
                Vendedor = vendedor,
                Regiao   = regiao
            });

            foreach (var item in grupo)
            {
                Console.WriteLine(item.Regiao.Nome);
                foreach (var vendedor in item.Vendedor)
                {
                    Console.WriteLine($"\t {vendedor.PrimeiroNome} {vendedor.UltimoNome}");
                }
                Console.WriteLine();
            }

            #endregion

            #region Sql

            Titulo.ExibirSub("SQL");
            var grupoSql = from r in Regiao.ObterTodos()
                           join v in Vendedor.ObterTodos()
                           on r.Id equals v.RegiaoId into vGrupo
                           select new
            {
                Vendedor = vGrupo,
                Regiao   = r
            };

            foreach (var item in grupoSql)
            {
                Console.WriteLine(item.Regiao.Nome);
                foreach (var vendedor in item.Vendedor)
                {
                    Console.WriteLine($"\t {vendedor.PrimeiroNome} {vendedor.UltimoNome}");
                }
                Console.WriteLine();
            }

            #endregion

            Console.ReadKey();
        }
Example #10
0
        public void Executar()
        {
            Titulo.Exibir("LEFT_JOIN");

            List <Vendedor> vendedores = Vendedor.ObterTodos().ToList();

            #region Linq

            Titulo.ExibirSub("LINQ");

            var grupo = vendedores
                        .GroupJoin(Regiao.ObterTodos(),
                                   v => v.RegiaoId,
                                   r => r.Id,
                                   (ve, re) => new
            {
                ve,
                re
            })
                        .SelectMany(x => x.re.DefaultIfEmpty(),
                                    (vendedor, regiao) => new
            {
                Nome       = $"{vendedor.ve.PrimeiroNome} {vendedor.ve.UltimoNome}",
                RegiaoNome = (regiao == null) ? "Sem região" : regiao.Nome
            });

            foreach (var item in grupo)
            {
                Console.WriteLine($"{item.Nome} \t {item.RegiaoNome}");
            }

            #endregion

            #region Sql

            Titulo.ExibirSub("SQL");

            var grupoSql = from v in vendedores
                           join r in Regiao.ObterTodos()
                           on v.RegiaoId equals r.Id into vGrupo
                           from r in vGrupo.DefaultIfEmpty()
                           select new
            {
                Nome       = $"{v.PrimeiroNome} {v.UltimoNome}",
                RegiaoNome = (r == null) ? "Sem região" : r.Nome
            };

            foreach (var item in grupoSql)
            {
                Console.WriteLine($"{item.Nome} \t {item.RegiaoNome}");
            }

            #endregion

            Console.ReadKey();
        }
Example #11
0
        public void Executar()
        {
            Titulo.Exibir("GROUP_BY");

            var vendedores = Vendedor.ObterTodos();

            #region Linq

            Titulo.ExibirSub("LINQ");
            var grupoLinq = vendedores.GroupBy(x => x.VendasSemestrais);

            foreach (var item in grupoLinq)
            {
                Console.WriteLine($"{item.Key} - {item.Count()}");
                foreach (var v in item)
                {
                    Console.WriteLine($"\t {v.PrimeiroNome} {v.UltimoNome}");
                }
            }

            #endregion

            #region Sql

            Titulo.ExibirSub("SQL");
            var grupoSql = from v in vendedores
                           group v by v.VendasSemestrais into vGrupo
                           //select vGrupo;
                           select new
            {
                Key      = vGrupo.Key,
                Vendedor = vGrupo.OrderBy(x => x.PrimeiroNome)
            };

            foreach (var item in grupoSql)
            {
                Console.WriteLine($"{item.Key} - {item.Vendedor.Count()}");
                foreach (var v in item.Vendedor)
                {
                    Console.WriteLine($"\t {v.PrimeiroNome} {v.UltimoNome}");
                }
            }

            #endregion

            Console.ReadKey();
        }
Example #12
0
        public void Executar()
        {
            Titulo.Exibir("OPERADORES");

            int[] numeros = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            int[] vazio   = { };

            var first = numeros.First();

            Console.WriteLine($"first: {first}");

            var firstComplexo = numeros.First(x => x % 2 == 0 && x % 3 == 0);

            Console.WriteLine($"firstComplexo: {firstComplexo}");

            var firstPadrao = numeros.FirstOrDefault(x => x % 2 == 0 && x % 10 == 0);

            Console.WriteLine($"firstPadrao: {firstPadrao}");

            var elemento = numeros.ElementAt(0);

            Console.WriteLine($"elemento: {elemento}");

            var elementoPadrao = numeros.ElementAtOrDefault(9);

            Console.WriteLine($"elementoPadrao: {elementoPadrao}");

            var padraoNumeros = numeros.DefaultIfEmpty();

            foreach (var item in padraoNumeros)
            {
                Console.WriteLine($"- padraoNumeros: {item}");
            }

            var padraoVazio = vazio.DefaultIfEmpty(404);

            foreach (var item in padraoVazio)
            {
                Console.WriteLine($"- padraoVazio: {item}");
            }

            Console.ReadKey();
        }
Example #13
0
        public void Executar()
        {
            Titulo.Exibir("CONVERSORES");

            #region Listas

            string[]        paises = { "EUA", "URU", "FRN", "BR", "JP", "AU", "AL", "CBA" };
            List <Vendedor> lista  = Vendedor.ObterTodos().ToList();

            #endregion

            #region Array

            Titulo.ExibirSub("ARRAY");

            for (int i = 0; i < paises.Length; i++)
            {
                Console.WriteLine(paises[i]);
            }

            #endregion

            #region ToList

            Titulo.ExibirSub("TO_LIST");

            var result = paises.ToList();
            foreach (var item in result)
            {
                Console.WriteLine(item);
            }

            #endregion

            #region Dictionary

            Titulo.ExibirSub("TO_DICTIONARY - TIPO PRIMITIVO");

            Dictionary <int, string> vendedorPrimitivo = lista.ToDictionary(x => x.Id, x => x.PrimeiroNome);

            foreach (var item in vendedorPrimitivo)
            {
                Console.WriteLine($"{item.Key} : {item.Value}");
            }

            Titulo.ExibirSub("TO_DICTIONARY - TIPO COMPLEXO");

            Dictionary <int, Vendedor> vendedorComplexo = lista.ToDictionary(x => x.Id);

            foreach (var item in vendedorComplexo)
            {
                Console.WriteLine($"{item.Key} : {item.Value.PrimeiroNome} \t {item.Value.VendasSemestrais}");
            }

            #endregion

            #region ToLookup

            Titulo.ExibirSub("TO_LOOKUP");

            var resultLookup = lista.ToLookup(x => x.VendasSemestrais);
            foreach (var item in resultLookup)
            {
                Console.WriteLine(item.Key);
                foreach (var v in resultLookup[item.Key])
                {
                    Console.WriteLine($"\t {v.PrimeiroNome} {v.UltimoNome}");
                }
            }

            #endregion

            #region ToArray

            Titulo.ExibirSub("TO_ARRAY");

            string[] colec = lista.Select(x => x.UltimoNome).Distinct().ToArray();

            for (int i = 0; i < colec.Length; i++)
            {
                Console.WriteLine(colec[i]);
            }

            #endregion
        }
Example #14
0
        public void Executar()
        {
            Titulo.Exibir("GROUP_BY2");

            #region Linq

            Titulo.ExibirSub("LINQ");
            var grupo = Vendedor.ObterTodos()
                        .GroupBy(x => new { x.VendasSemestrais, x.Sexo })
                        .OrderBy(k => k.Key.VendasSemestrais)
                        .ThenBy(s => s.Key.Sexo)
                        .Select(v => new {
                Vendas   = v.Key.VendasSemestrais,
                Sexo     = v.Key.Sexo,
                Vendedor = v.OrderBy(x => x.PrimeiroNome)
            });

            foreach (var item in grupo)
            {
                Console.WriteLine($"Os funcionários do sexo {item.Sexo} fizeram {item.Vendas} e são {item.Vendedor.Count()}:");
                Console.WriteLine("--------------------------------------------------------");

                foreach (var v in item.Vendedor)
                {
                    Console.WriteLine($"{v.Id} : {v.PrimeiroNome} {v.UltimoNome}");
                }

                Console.WriteLine();
            }

            #endregion

            #region Sql

            Titulo.ExibirSub("SQL");

            var grupoSql = from v in Vendedor.ObterTodos()
                           group v by new { v.VendasSemestrais, v.Sexo } into vGrupo
            orderby vGrupo.Key.VendasSemestrais, vGrupo.Key.Sexo
                select new
            {
                Vendas   = vGrupo.Key.VendasSemestrais,
                Sexo     = vGrupo.Key.Sexo,
                Vendedor = vGrupo.OrderBy(x => x.PrimeiroNome)
            };

            foreach (var item in grupoSql)
            {
                Console.WriteLine($"Os funcionários do sexo {item.Sexo} fizeram {item.Vendas} e são {item.Vendedor.Count()}:");
                Console.WriteLine("--------------------------------------------------------");

                foreach (var v in item.Vendedor)
                {
                    Console.WriteLine($"{v.Id} : {v.PrimeiroNome} {v.UltimoNome}");
                }

                Console.WriteLine();
            }

            #endregion

            Console.ReadKey();
        }
Example #15
0
        public void Executar()
        {
            Titulo.Exibir("TAKE");

            #region Listas

            string[] paises1 = { "BR", "JP", "AU", "AL", "EUA", "URU", "FRN", "CBA" };
            string[] paises2 = { "EUA", "URU", "FRN", "BR", "JP", "AU", "AL", "CBA" };

            #endregion

            #region Take

            Titulo.ExibirSub("TAKE LINQ");
            var takeLinq = paises1.Take(3);

            foreach (var item in takeLinq)
            {
                Console.WriteLine(item);
            }

            Titulo.ExibirSub("TAKE SQL");
            var takeSql = (from p in paises1
                           select p).Take(3);

            foreach (var item in takeSql)
            {
                Console.WriteLine(item);
            }

            #endregion

            #region Take.Reverse

            Titulo.ExibirSub("TAKE.REVERSE LINQ");
            var takeReverse = paises1.Take(3).Reverse().ToList();

            foreach (var item in takeReverse)
            {
                Console.WriteLine(item);
            }

            #endregion

            #region TakeWhile

            Titulo.ExibirSub("TAKE_WHILE");
            var takeWhile = paises1.TakeWhile(x => x.Length == 2);

            foreach (var item in takeWhile)
            {
                Console.WriteLine(item);
            }

            #endregion

            #region Skip

            Titulo.ExibirSub("SKIP");
            var skip = paises1.Skip(3);

            foreach (var item in skip)
            {
                Console.WriteLine(item);
            }

            #endregion

            #region SkipWhile

            Titulo.ExibirSub("SKIP_WHILE");
            var skipWhile = paises2.SkipWhile(x => x.Length > 2);

            foreach (var item in skipWhile)
            {
                Console.WriteLine(item);
            }

            #endregion
        }
Example #16
0
 public void Executar()
 {
     Titulo.Exibir("MÉTODO INVÁLIDO");
 }