예제 #1
0
        public bool agregarAlojamiento(string tipo, string ciudad, string barrio, string estrellas, string cantPersonas, bool tv, string precio, string habitaciones, string banios) //Parametro Datos del Alojamiento ¿?
        {
            bool result;

            Entities.Ciudades ciudadObjeto = new Entities.Ciudades();
            ciudadObjeto = getCiudadesxID(int.Parse(ciudad));
            try
            {
                if (tipo == "Hotel")
                {
                    Entities.Alojamiento Alojamiento = new Entities.Alojamiento(
                        barrio, estrellas, int.Parse(cantPersonas), tv, ciudadObjeto, 0,
                        0, double.Parse(precio), 1, true);
                    alojamientos.Add(Alojamiento);
                    contexto.SaveChanges();
                }
                else
                {
                    Entities.Alojamiento Alojamiento = new Entities.Alojamiento(
                        barrio, estrellas, int.Parse(cantPersonas), tv, ciudadObjeto, int.Parse(habitaciones),
                        double.Parse(precio), 0, int.Parse(banios), false);
                    alojamientos.Add(Alojamiento);
                    contexto.SaveChanges();
                }
                result = true;
            }
            catch
            {
                result = false;
            }

            return(result);
        }
예제 #2
0
        public Entities.Alojamiento buscarAlojamientoxID(int codigo)
        {
            var query = from alojamientoDB in alojamientos
                        where alojamientoDB.id == codigo
                        select alojamientoDB;

            Entities.Alojamiento alojamiento = query.FirstOrDefault();


            return(alojamiento);
        }
예제 #3
0
        public bool modificarReserva(int ID, DateTime FDesde, DateTime FHasta, Entities.Alojamiento propiedad, Entities.Usuario persona, float precio)//Parametro Datos de Reserva ¿?
        {
            bool modificada = false;
            var  query      = from reservaDB in reservas
                              where reservaDB.id == ID
                              select reservaDB;

            Entities.Reserva reserva = query.FirstOrDefault();
            if (reserva != null)
            {
            }
            return(modificada);
        }
예제 #4
0
        public bool quitarAlojamiento(int codigo)
        {
            bool result = false;

            var query = from alojamiento in alojamientos
                        where alojamiento.id == codigo
                        select alojamiento;

            if (query != null)
            {
                Entities.Alojamiento alojamiento = query.FirstOrDefault();

                contexto.Alojamiento.Remove(alojamiento);
                contexto.SaveChanges();
                result = true;
            }
            else
            {
                result = false;
            }

            return(result);
        }
예제 #5
0
        //public List<List<string>> getReservasPorCliente(String dni)
        //{
        //    List<List<string>> resultado = new List<List<string>>();
        //    var query = from reservaDB in reservas
        //                where reservaDB.usuario.DNI == dni
        //                select reservaDB;
        //    foreach (Entities.Reserva reservas in query)
        //    {
        //        resultado.Add(new List<string> { reservas.FDesde.ToString(), reservas.FHasta.ToString(),
        //            reservas.tipoAlojamiento.nombre, reservas.usuario.DNI.ToString(), reservas.precio.ToString()});
        //    }
        //    return resultado;
        //}

        public bool reservar(int codAloj, string dniUsuario, DateTime Fdesde, DateTime Fhasta)
        {
            Entities.Usuario usuario = new Entities.Usuario();
            usuario = buscarUsuarioxDNI(int.Parse(dniUsuario));

            bool result = false;

            var queryAlojamiento = from alojamientoDB in alojamientos
                                   where alojamientoDB.id == codAloj
                                   select alojamientoDB;

            if (queryAlojamiento != null)
            {
                Entities.Alojamiento alojamiento = queryAlojamiento.FirstOrDefault();

                if (alojamiento != null)
                {
                    Entities.Reserva reservita = new Entities.Reserva();
                    reservita.FDesde         = Fdesde;
                    reservita.FHasta         = Fhasta;
                    reservita.id_usuario     = usuario;
                    reservita.id_alojamiento = alojamiento;


                    contexto.Reserva.Add(reservita);
                    contexto.SaveChanges();
                    result = true;
                }

                else
                {
                    result = false;
                }
            }
            return(result);
        }
예제 #6
0
        public List <List <string> > buscarAlojamientos(string ciudad, string Pdesde, string Phasta, string cantPersonas, string tipo, string fDesde, string fHasta)
        {
            List <List <string> > resultadoBusqueda = new List <List <string> >();

            List <Entities.Alojamiento> alojamientosFiltrados = new List <Entities.Alojamiento>();

            var queryReservas = from reserva in reservas
                                select reserva;

            List <List <string> > alojamientosReservados = new List <List <string> >();

            if (string.IsNullOrEmpty(cantPersonas))
            {
                cantPersonas = "0";
            }



            IEnumerable <Entities.Alojamiento> queryAlojamientos = null;


            if (tipo == "Hotel")
            {
                queryAlojamientos = from alojamiento in alojamientos
                                    where alojamiento.precio_por_persona <= double.Parse(Phasta) &&
                                    alojamiento.precio_por_persona >= double.Parse(Pdesde) &&
                                    alojamiento.cantidadDePersonas >= int.Parse(cantPersonas) &&
                                    alojamiento.esHotel == true &&
                                    alojamiento.ciudad.nombre == ciudad
                                    select alojamiento;
            }
            else
            {
                queryAlojamientos = from alojamiento in alojamientos
                                    where alojamiento.precio_por_dia <= double.Parse(Phasta) &&
                                    alojamiento.precio_por_dia >= double.Parse(Pdesde) &&
                                    alojamiento.cantidadDePersonas >= int.Parse(cantPersonas) &&
                                    alojamiento.esHotel == false &&
                                    alojamiento.ciudad.nombre == ciudad
                                    select alojamiento;
            }

            foreach (Entities.Alojamiento a in queryAlojamientos)
            {
                alojamientosFiltrados.Add(a);
            }

            foreach (Entities.Alojamiento u in alojamientosFiltrados.ToList())
            {
                foreach (Entities.Reserva r in queryReservas)
                {
                    if (u.id == r.id_alojamiento.id)
                    {
                        alojamientosReservados.Add(new List <string> {
                            u.id.ToString(), r.FDesde.ToString(), r.FHasta.ToString()
                        });
                        alojamientosFiltrados.Remove(u);
                    }
                }
            }

            foreach (List <string> alojamiento in alojamientosReservados.ToList())
            {
                if (DateTime.Parse(fDesde) >= DateTime.Parse(alojamiento.ElementAt(1)) && DateTime.Parse(fHasta) <= DateTime.Parse(alojamiento.ElementAt(2)))
                {
                    //X ------------------- ENTRE FECHAS
                    alojamientosReservados.Remove(alojamiento);
                }
                if (DateTime.Parse(fHasta) >= DateTime.Parse(alojamiento.ElementAt(1)) && DateTime.Parse(fHasta) <= DateTime.Parse(alojamiento.ElementAt(2)))
                {
                    //X -------------------COMIENZO y ENTRE FECHAS
                    alojamientosReservados.Remove(alojamiento);
                }
                if (DateTime.Parse(fDesde) <= DateTime.Parse(alojamiento.ElementAt(1)) && DateTime.Parse(fDesde) >= DateTime.Parse(alojamiento.ElementAt(1)) && DateTime.Parse(fHasta) <= DateTime.Parse(alojamiento.ElementAt(2)) && DateTime.Parse(fDesde) >= DateTime.Parse(alojamiento.ElementAt(1)))
                {
                    //COMIENTO ANTERIOS y ENTRE FECHAS y FIN DESPUES
                    alojamientosReservados.Remove(alojamiento);
                }
                if (DateTime.Parse(fDesde) >= DateTime.Parse(alojamiento.ElementAt(1)) && DateTime.Parse(fDesde) <= DateTime.Parse(alojamiento.ElementAt(2)))
                {
                    //ENTRE FECHAS y FIN
                    alojamientosReservados.Remove(alojamiento);
                }
            }


            foreach (Entities.Alojamiento alojamiento in alojamientosFiltrados.ToList())
            {
                resultadoBusqueda.Add(new List <string> {
                    "", alojamiento.barrio, alojamiento.estrellas, alojamiento.cantidadDePersonas.ToString(),
                    alojamiento.tv.ToString(), alojamiento.ciudad.nombre.ToString(), alojamiento.cantidad_de_habitaciones.ToString(),
                    alojamiento.precio_por_dia.ToString(), alojamiento.precio_por_persona.ToString(),
                    alojamiento.cantidadDeBanios.ToString(), alojamiento.id.ToString()
                });
            }


            foreach (List <string> aloja in alojamientosReservados.ToList())
            {
                Entities.Alojamiento alojamiento = buscarAlojamientoxID(int.Parse(aloja.ElementAt(0)));

                resultadoBusqueda.Add(new List <string> {
                    "", alojamiento.barrio, alojamiento.estrellas, alojamiento.cantidadDePersonas.ToString(),
                    alojamiento.tv.ToString(), alojamiento.ciudad.nombre.ToString(), alojamiento.cantidad_de_habitaciones.ToString(),
                    alojamiento.precio_por_dia.ToString(), alojamiento.precio_por_persona.ToString(),
                    alojamiento.cantidadDeBanios.ToString(), alojamiento.id.ToString()
                });
            }

            return(resultadoBusqueda);
        }