Ejemplo n.º 1
0
 /// <summary>
 /// Permite crear la habitacion
 /// </summary>
 /// <param name="roomAvailable"></param>
 /// <returns></returns>
 public HabitacionesDisponibles RoomAvailableCreate(HabitacionesDisponibles roomAvailable)
 {
     roomAvailable.Fecha = DateTime.Now;
     unit.HabitacionDispobleRespository.Insert(roomAvailable);
     unit.Save();
     return(roomAvailable);
 }
Ejemplo n.º 2
0
        public void Put([FromBody] dynamic EntroomAvailable)
        {
            var id = EntroomAvailable.id.Value;
            var totalHabitacionesDisponibles = EntroomAvailable.totalHabitacionesDisponibles.Value;
            var fecha = EntroomAvailable.fecha.Value;
            HabitacionesDisponibles roomAvailable = new HabitacionesDisponibles
            {
                TotalHabitacionesDisponibles = Convert.ToInt32(totalHabitacionesDisponibles),
                Id    = Convert.ToInt32(id),
                Fecha = Convert.ToDateTime(fecha)
            };

            businessRoomAvailable.UpdateRoomAvailable(roomAvailable);
        }
Ejemplo n.º 3
0
        public void Post([FromBody] dynamic EntroomAvailable)
        {
            if (EntroomAvailable != null)
            {
                var TotalHabitacionesDisponibles = EntroomAvailable.totalHabitacionesDisponibles.Value;
                var idHotel = EntroomAvailable.idHotel.Value;
                HabitacionesDisponibles roomAvailable = new HabitacionesDisponibles
                {
                    TotalHabitacionesDisponibles = Convert.ToInt32(TotalHabitacionesDisponibles),
                    IdHotel = Convert.ToInt32(idHotel)
                };

                businessRoomAvailable.RoomAvailableCreate(roomAvailable);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Permite actualizar la informacion correspondiente a la habitacion del hotel
        /// </summary>
        /// <param name="aplicacion"></param>
        /// <returns></returns>
        public String UpdateRoomAvailable(HabitacionesDisponibles roomAvailable)
        {
            String msg;
            var    roomAvailableSearch = unit.HabitacionDispobleRespository.GetByID(roomAvailable.Id);

            if (roomAvailableSearch == null)
            {
                msg = "Habitacion no encontrada";
            }
            else
            {
                roomAvailableSearch.TotalHabitacionesDisponibles = roomAvailable.TotalHabitacionesDisponibles;
                roomAvailableSearch.Fecha = Convert.ToDateTime(roomAvailable.Fecha);
                // roomAvailableSearch.IdHotel = roomAvailable.IdHotel;

                unit.HabitacionDispobleRespository.Update(roomAvailableSearch);
                unit.Save();
                msg = "Dato Guardado satifactoriamente";
            }
            return(msg);
        }
Ejemplo n.º 5
0
        public string Post([FromBody] dynamic EntbookRoom)
        {
            int?totalHabitacionesDisponibles = 0;
            int idHabitacion = 0;

            if (EntbookRoom != null)
            {
                var NumeroHabitacionReserva = EntbookRoom.numeroHabitacionReservada.Value;
                var NumeroPasajeros         = EntbookRoom.numeroPasajeros.Value;
                var idHotel  = EntbookRoom.idHotel.Value;
                var idCiudad = EntbookRoom.idCity.Value;
                var Mascota  = EntbookRoom.mascota.Value;
                var Fecha    = DateTime.Now;
                ReservaHabitaciones bookRoom = new ReservaHabitaciones
                {
                    NumeroHabitacionReservada = Convert.ToInt32(NumeroHabitacionReserva),
                    IdHotel         = Convert.ToInt32(idHotel),
                    IdCiudad        = Convert.ToInt32(idCiudad),
                    NumeroPasajeros = Convert.ToInt32(NumeroPasajeros),
                    Mascota         = Convert.ToBoolean(Mascota),
                    Fecha           = Convert.ToDateTime(Fecha)
                };

                businessBookRoom.BookRoomCreate(bookRoom);
                foreach (HabitacionesDisponibles habitacionDisplonible in businessRoomAvailable.GetTotalRoomsAvailablesByHotel(Convert.ToInt32(idHotel)))
                {
                    totalHabitacionesDisponibles = habitacionDisplonible.TotalHabitacionesDisponibles;
                    idHabitacion = habitacionDisplonible.Id;
                }

                HabitacionesDisponibles habitacionDisponible = new HabitacionesDisponibles {
                    TotalHabitacionesDisponibles = totalHabitacionesDisponibles - Convert.ToInt32(NumeroHabitacionReserva), Id = idHabitacion, IdHotel = Convert.ToInt32(idHotel)
                };
                businessRoomAvailable.UpdateRoomAvailable(habitacionDisponible);
            }
            return("Registro creado con exito");
        }
Ejemplo n.º 6
0
    public List <HabitacionesDisponibles> obtenerHabitaciones(DateTime fechaInicio, DateTime fechaFinal, string tipo)
    {
        List <HabitacionesDisponibles> hds = new List <HabitacionesDisponibles>(); //habitaciones disponibles
        Habitacion      habitacion         = new Habitacion();                     //habitacion para obtener
        Tipo_Habitacion tipoHabitacion     = new Tipo_Habitacion();                //tipo de habitacion en la BD

        int   cantidadDias = (int)(fechaFinal - fechaInicio).TotalDays;
        float costoTotal   = 0;

        //recorrer todos los tipos que solicita el usuario

        try
        {
            //Obtener todas las habitaciones por el tipo actual
            var habitaciones = from Habitacion h in db.Habitacion
                               join Tipo_Habitacion th in db.Tipo_Habitacion
                               on h.tipo_Habitacion_Habitacion equals th.nombre_Tipo_Habitacion
                               where th.nombre_Tipo_Habitacion == tipo
                               select new
            {
                h.estado_Habitacion,
                h.numero_Habitacion,
                h.tipo_Habitacion_Habitacion,
                th.descripcion_Tipo_Habitacion,
                th.nombre_Tipo_Habitacion,
                th.tarifa_Tipo_Habitacion,
            };                   //creación de la habitacion

            foreach (var miHabitacion in habitaciones)
            {
                var reservada = from Reservacion r in db.Reservacion
                                where r.idHabitacion_Reservacion == miHabitacion.numero_Habitacion
                                select new
                {
                    r.id_Reservacion,
                    r.fechaLLegada_Reservacion,
                    r.fechaSalida_Reservacion,
                    r.idCliente_Reservacion,
                    r.idHabitacion_Reservacion,
                };
                var tam = reservada.Count();
                if (tam > 0)//si está en la tabla reservada
                {
                    foreach (var reserv in reservada)
                    {
                        if (fechaInicio >= reserv.fechaLLegada_Reservacion && fechaInicio <= reserv.fechaSalida_Reservacion ||
                            fechaFinal >= reserv.fechaLLegada_Reservacion && fechaFinal <= reserv.fechaSalida_Reservacion ||
                            reserv.fechaLLegada_Reservacion >= fechaInicio && reserv.fechaLLegada_Reservacion <= fechaFinal ||
                            reserv.fechaSalida_Reservacion >= fechaInicio && reserv.fechaSalida_Reservacion <= fechaFinal)
                        {
                            break;//si la habitación está reservada no se puede tomar en cuenta
                        }//if
                        else //si está en reservada pero no se reservó en el rango de fechas entra
                        {
                            //creación de la habitación temporal que se genera según los filtros empleados.
                            HabitacionesDisponibles habitacionTemp = new HabitacionesDisponibles();

                            costoTotal = (cantidadDias * (float)miHabitacion.tarifa_Tipo_Habitacion);

                            habitacionTemp.numero_Habitacion = miHabitacion.numero_Habitacion;
                            habitacionTemp.tipo_Habitacion   = miHabitacion.tipo_Habitacion_Habitacion;
                            habitacionTemp.costo             = costoTotal;

                            hds.Add(habitacionTemp);//se agrega la habitación a la lista que se retornará
                        }//else
                    }//foreach de reservaciones
                }    //if reservada.Count
                else // si no está en la tabla reservada está libre y se agraga
                {
                    //creación de la habitación temporal que se genera según los filtros empleados.
                    HabitacionesDisponibles habitacionTemp = new HabitacionesDisponibles();

                    costoTotal = (cantidadDias * (float)miHabitacion.tarifa_Tipo_Habitacion);

                    habitacionTemp.numero_Habitacion = miHabitacion.numero_Habitacion;
                    habitacionTemp.tipo_Habitacion   = miHabitacion.tipo_Habitacion_Habitacion;
                    habitacionTemp.costo             = costoTotal;

                    hds.Add(habitacionTemp);//se agrega la habitación a la lista que se retornará
                }//else
            }//foreach de habitaciones

            return(hds);
        }
        catch (Exception ex) {
            return(hds);
        }
    }//obtenerHabitaciones