示例#1
0
        private void HotelMayorCantidadDiasFueraServicio()
        {
            List <HotelesReservasCanceladas> hoteles = new List <HotelesReservasCanceladas>();

            var query = " SELECT TOP 5 hotel_id, SUM(DATEDIFF(d, hoteles_bajas.fecha_desde, hoteles_bajas.fecha_hasta)+1) AS cantidad_dias ";

            query += " FROM [LOS_NORMALIZADORES].[hoteles] ";
            query += " RIGHT JOIN [LOS_NORMALIZADORES].[hoteles_bajas] ON hoteles.id = hoteles_bajas.hotel_id ";
            query += " WHERE fecha_desde BETWEEN '" + fecha1 + "' AND '" + fecha2 + "' ";
            query += " GROUP BY hotel_id";
            query += " ORDER BY cantidad_dias DESC ";


            SqlCommand command = new SqlCommand(query, ConnectionManager.getInstance().getConnection());

            using (SqlDataReader result = command.ExecuteReader())
            {
                while (result.Read())
                {
                    HotelesReservasCanceladas reserva_cancelada = new HotelesReservasCanceladas();
                    Hotel hotel_temporal = new Hotel();
                    hotel_temporal.id          = Convert.ToInt32(result["hotel_id"].ToString());
                    reserva_cancelada.hotel    = hotel_temporal;
                    reserva_cancelada.cantidad = Convert.ToInt32(result["cantidad_dias"]);

                    hoteles.Add(reserva_cancelada);
                }
            }

            hoteles.ForEach(h => h.hotel = EntityManager.getEntityManager().findById <Hotel>(h.hotel.id));

            //List<HotelesReservasCanceladas> hoteles = EntityManager.getEntityManager().findAll<HotelesReservasCanceladas>();
            dataGridView1.DataSource = hoteles;
        }
示例#2
0
        private void HotelMayorCantidadReservasCanceladas()
        {
            List <HotelesReservasCanceladas> hoteles = new List <HotelesReservasCanceladas>();

            var query = "SELECT TOP 5 hotel_id, COUNT(*) AS cantidad ";

            query += "FROM [LOS_NORMALIZADORES].[reservas] ";

            query += "INNER JOIN [LOS_NORMALIZADORES].[reservas_habitaciones] ON [reservas].id = reservas_habitaciones.reserva_id ";
            query += "INNER JOIN [LOS_NORMALIZADORES].[habitaciones] ON [reservas_habitaciones].habitacion_id = habitaciones.id ";
            query += "INNER JOIN [LOS_NORMALIZADORES].[hoteles] ON [hoteles].id = [habitaciones].hotel_id ";
            query += "INNER JOIN [LOS_NORMALIZADORES].[reservas_canceladas] ON [reservas].id = reservas_canceladas.reserva_id ";
            query += "WHERE (reserva_estado = 3 OR reserva_estado = 4 OR reserva_estado = 5) ";
            query += "AND [reservas_canceladas].[fecha] BETWEEN '" + fecha1.ToShortDateString() + "' AND '" + fecha2.ToShortDateString() + "' ";

            query += "GROUP BY hotel_id ORDER BY COUNT(*) DESC";


            SqlCommand command = new SqlCommand(query, ConnectionManager.getInstance().getConnection());

            using (SqlDataReader result = command.ExecuteReader())
            {
                while (result.Read())
                {
                    HotelesReservasCanceladas reserva_cancelada = new HotelesReservasCanceladas();
                    Hotel hotel_temporal = new Hotel();
                    hotel_temporal.id          = Convert.ToInt32(result["hotel_id"].ToString());
                    reserva_cancelada.hotel    = hotel_temporal;
                    reserva_cancelada.cantidad = Convert.ToInt32(result["cantidad"]);

                    hoteles.Add(reserva_cancelada);
                }
            }

            hoteles.ForEach(h => h.hotel = EntityManager.getEntityManager().findById <Hotel>(h.hotel.id));

            //List<HotelesReservasCanceladas> hoteles = EntityManager.getEntityManager().findAll<HotelesReservasCanceladas>();
            dataGridView1.DataSource = hoteles;
        }