예제 #1
0
        static void Main(string[] args)
        {
            List <Libro>      libros      = Libro.GetLibros();
            List <LibroStats> librosStats = LibroStats.GetLibrosStats();

            var TitulosLibros = from l in libros
                                join s in librosStats on l.ISBN equals s.ISBN
                                where s.Ventas > 1000
                                select new
            {
                Nombre      = l.Titulo,
                VentasLibro = s.Ventas
            };

            var TitulosLibros2 = from l in libros
                                 join s in librosStats on l.ISBN equals s.ISBN
                                 where s.Ventas > 1000
                                 where l.FechaSalida > DateTime.Now.AddYears(-2)
                                 select new
            {
                Nombre      = l.Titulo,
                VentasLibro = s.Ventas
            };


            Console.ReadKey();
        }
예제 #2
0
        static void Main(string[] args)
        {
            List <Libro>      libros      = Libro.GetLibros();
            List <LibroStats> librosStats = LibroStats.GetLibrosStats();

            var TitulosLibros = from l in libros
                                join s in librosStats on l.ISBN equals s.ISBN
                                let ganancias = (l.Precio * s.Ventas)
                                                select new
            {
                TituloSeleccionado = l.Titulo,
                Ganancias          = ganancias
            };

            foreach (var item in TitulosLibros)
            {
                Console.WriteLine($"Titulo: {item.TituloSeleccionado} Ganancias: {item.Ganancias}");
            }

            Console.ReadKey();
        }
예제 #3
0
        static void Main(string[] args)
        {
            List <Libro>      libros      = Libro.GetLibros();
            List <LibroStats> librosStats = LibroStats.GetLibrosStats();

            var titulosLibros = from l in libros
                                join s in librosStats on l.ISBN equals s.ISBN
                                let porSalir = (l.FechaSalida > DateTime.Now ? "por salir" : "en venta")
                                               orderby s.Rank
                                               group new {
                Titulo  = l.Titulo,
                Precio  = l.Precio,
                Paginas = s.Paginas
            }
            by porSalir
            into librosAgrupados
                select new {
                Status  = librosAgrupados.Key,
                Valores = librosAgrupados
            };
        }
예제 #4
0
        static void Main(string[] args)
        {
            List <Libro>      libros      = Libro.GetLibros();
            List <LibroStats> librosStats = LibroStats.GetLibrosStats();

            //Ordenado por fecha de salida y luego por nº de páginas si tienen las mismas páginas
            var TitulosLibros = from l in libros
                                join s in librosStats on l.ISBN equals s.ISBN
                                orderby l.FechaSalida, s.Paginas
                select new
            {
                Nombre = l.Titulo,
                Fecha  = l.FechaSalida,
                Pag    = s.Paginas
            };

            var TitulosLibros2 = from l in libros
                                 join s in librosStats on l.ISBN equals s.ISBN
                                 orderby l.FechaSalida, s.Paginas descending
                select new
            {
                Nombre = l.Titulo,
                Fecha  = l.FechaSalida,
                Pag    = s.Paginas
            };

            var TitulosLibros3 = from l in libros
                                 join s in librosStats on l.ISBN equals s.ISBN
                                 orderby l.FechaSalida descending, s.Paginas
                select new
            {
                Nombre = l.Titulo,
                Fecha  = l.FechaSalida,
                Pag    = s.Paginas
            };

            Console.ReadKey();
        }