/// <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); }
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); }
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); } }
/// <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); }
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"); }
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