def selectHab(self, fechaIni, fechaFin): if self.validarFecha(fechaIni, fechaFin): # Obtenemos habitaciones gestordb = GestorDB() arregloHabitaciones = gestordb.getHab() tuplas = [] for habitacion in arregloHabitaciones: # Obtenemos estados de la habitacion estados = [] for dia in daterange(fechaIni, fechaFin): estados.append(self.obtenerEstado(habitacion, dia)) # Elegimos color color = self.obtenerColores(estados) # Concatenamos resultado tuplas.append( (habitacion.getNumero(), habitacion, estados, color)) return tuplas else: return False
def selectHab(self, fechaIni, fechaFin): if self.validarFecha(fechaIni, fechaFin): # Obtenemos habitaciones gestordb = GestorDB() arregloHabitaciones = gestordb.getHab() tuplas = [] for habitacion in arregloHabitaciones: # Obtenemos estados de la habitacion estados = [] for dia in daterange(fechaIni, fechaFin): estados.append(self.obtenerEstado(habitacion, dia)) # Elegimos color color = self.obtenerColores(estados) # Concatenamos resultado tuplas.append((habitacion.getNumero(), habitacion, estados, color)) return tuplas else: return False
def construirPasajero(self, dtoPasajero): # Se mapea el dto a un objeto pasajero # Le pedimos al gestor de direccion que contruya un objeto direccion # y lo llene con la informacion del dto gestorDir = GestorDireccion() direccion = gestorDir.crearDireccion(dtoPasajero) # Obtenemos informacion necesaria de la db # Utilizando sus ids gestordb = GestorDB() ocupacion = gestordb.getObjetoID(Ocupacion,dtoPasajero.id_ocupacion) nacionalidad = gestordb.getObjetoID(Nacionalidad,dtoPasajero.id_nacionalidad) iva = gestordb.getObjetoID(Iva,dtoPasajero.id_iva) tipoDocu = gestordb.getObjetoID(TipoDocumento,dtoPasajero.id_tipo) # Creamos objetos pertinentes documento = Documento(codigo=dtoPasajero.getCodigo(), id_tipo=dtoPasajero.getIdTipo(), tipo=tipoDocu) pasajero = Pasajero( documento=documento, direccion=direccion, nacionalidad=nacionalidad, ocupacion=ocupacion, iva=iva, **dtoPasajero.atributosPasajero) return pasajero
class GestorOcuparHab: def __init__(self): self.responsable = None self.ocupantes = [] self.gestordb = GestorDB() def asignarPasajero(self,tipoPasajero, id_pasajero, fecha_ini, fecha_fin): if tipoPasajero == 'responsable': if self.responsable is None: self.responsable = self.gestordb.getObjetoID(Pasajero,id_pasajero) else: return False elif tipoPasajero == 'acompanyante': verif = self.verificarAcompanyante(id_pasajero,fecha_ini,fecha_fin) if not verif: self.ocupantes.append(self.gestordb.getObjetoID(Pasajero,id_pasajero)) else: return verif return True def ocuparHab(self,habitacion,fecha_inicio,fecha_fin): if self.responsable is not None: estadia = Estadia(fecha_inicio=fecha_inicio,fecha_fin=fecha_fin,nro_habitacion=habitacion.getNumero(),responsable=self.responsable) if self.ocupantes: for ocupante in self.ocupantes: estadia.ocupantes.append(ocupante) habitacion.estadias.append(estadia) self.gestordb.guardarObjeto(habitacion) def verificarAcompanyante (self, id_pasajero, fecha_ini, fecha_fin): hospedado = self.gestordb.buscarHospedado(id_pasajero,fecha_ini, fecha_fin) return hospedado
def buscar(self, tipoDocu=None, documento=None,nombre=None,apellido=None): gestordb = GestorDB() arregloPasajeros = gestordb.buscarPasajero(tipoDocu=tipoDocu, codigo=documento, nombre=nombre, apellido=apellido) # Comprobamos si la lista tiene algun pasajero # En caso de que contenga al menos un pasajero se devuelve la lista # Si la lista esta vacia se devuelve False if self.existePasajero(arregloPasajeros): return arregloPasajeros else: return False
def buscar(self, tipoDocu=None, documento=None, nombre=None, apellido=None): gestordb = GestorDB() arregloPasajeros = gestordb.buscarPasajero(tipoDocu=tipoDocu, codigo=documento, nombre=nombre, apellido=apellido) # Comprobamos si la lista tiene algun pasajero # En caso de que contenga al menos un pasajero se devuelve la lista # Si la lista esta vacia se devuelve False if self.existePasajero(arregloPasajeros): return arregloPasajeros else: return False
def crearDireccion(self, dtoPasajero): # Se mapea del dto a un objeto direccion # Obtenemos los datos necesarios de la db gestordb = GestorDB() verif = gestordb.getObjs(Direccion, **dtoPasajero.getAtributosDireccion()) if verif: return verif[0] else: localidad = gestordb.getObjetoID(Localidad, dtoPasajero.getIdLocalidad()) # Creamos y llenamos el objeto direccion direccion = Direccion(localidad=localidad, **dtoPasajero.getAtributosDireccion()) return direccion
def construirPasajero(self, dtoPasajero): # Se mapea el dto a un objeto pasajero # Le pedimos al gestor de direccion que contruya un objeto direccion # y lo llene con la informacion del dto gestorDir = GestorDireccion() direccion = gestorDir.crearDireccion(dtoPasajero) # Obtenemos informacion necesaria de la db # Utilizando sus ids gestordb = GestorDB() ocupacion = gestordb.getObjetoID(Ocupacion, dtoPasajero.id_ocupacion) nacionalidad = gestordb.getObjetoID(Nacionalidad, dtoPasajero.id_nacionalidad) iva = gestordb.getObjetoID(Iva, dtoPasajero.id_iva) tipoDocu = gestordb.getObjetoID(TipoDocumento, dtoPasajero.id_tipo) # Creamos objetos pertinentes documento = Documento(codigo=dtoPasajero.getCodigo(), id_tipo=dtoPasajero.getIdTipo(), tipo=tipoDocu) pasajero = Pasajero(documento=documento, direccion=direccion, nacionalidad=nacionalidad, ocupacion=ocupacion, iva=iva, **dtoPasajero.atributosPasajero) return pasajero
class GestorOcuparHab: def __init__(self): self.responsable = None self.ocupantes = [] self.gestordb = GestorDB() def asignarPasajero(self, tipoPasajero, id_pasajero, fecha_ini, fecha_fin): if tipoPasajero == 'responsable': if self.responsable is None: self.responsable = self.gestordb.getObjetoID( Pasajero, id_pasajero) else: return False elif tipoPasajero == 'acompanyante': verif = self.verificarAcompanyante(id_pasajero, fecha_ini, fecha_fin) if not verif: self.ocupantes.append( self.gestordb.getObjetoID(Pasajero, id_pasajero)) else: return verif return True def ocuparHab(self, habitacion, fecha_inicio, fecha_fin): if self.responsable is not None: estadia = Estadia(fecha_inicio=fecha_inicio, fecha_fin=fecha_fin, nro_habitacion=habitacion.getNumero(), responsable=self.responsable) if self.ocupantes: for ocupante in self.ocupantes: estadia.ocupantes.append(ocupante) habitacion.estadias.append(estadia) self.gestordb.guardarObjeto(habitacion) def verificarAcompanyante(self, id_pasajero, fecha_ini, fecha_fin): hospedado = self.gestordb.buscarHospedado(id_pasajero, fecha_ini, fecha_fin) return hospedado
class GestorMostrarEstado: gestor = GestorDB() def listaHabitaciones(self): return self.gestor.getTabla(Habitacion) def estadoHabitacion(self,habitacion,fecha): if self.gestor.getEstado(Estadia,habitacion,fecha): return 'red' elif self.gestor.getEstado(Reserva,habitacion,fecha): return 'yellow' else: return 'blue'
class GestorCombos: def __init__(self): self.gestordb = GestorDB() def cargarCombos(self, lPais=None, lNacionalidad=None, lOcupacion=None, lIVA=None, lDocumento=None): if lPais is not None: paises = self.gestordb.getTabla(Pais) for e in paises: lPais.append([e.id_pais, e.nombrePais]) if lNacionalidad is not None: nacionalidades = self.gestordb.getTabla(Nacionalidad) for e in nacionalidades: lNacionalidad.append([e.id_nacionalidad, e.nombreNacionalidad]) if lOcupacion is not None: ocupaciones = self.gestordb.getTabla(Ocupacion) for e in ocupaciones: lOcupacion.append([e.id_ocupacion, e.descripcion_ocupacion]) if lIVA is not None: ivas = self.gestordb.getTabla(Iva) for e in ivas: lIVA.append([e.id_iva, e.getDescripcion()]) if lDocumento is not None: documentos = self.gestordb.getTabla(TipoDocumento) for e in documentos: lDocumento.append([e.id_tipo, e.tipo]) def getProvincia(self, lProvincia, id_pais): lProvincia.clear() provincias = self.gestordb.getTablaID(Provincia, 'id_pais', id_pais) for e in provincias: lProvincia.append([e.id_provincia, e.nombreProv]) def getLocalidad(self, lLocalidad, id_provincia): lLocalidad.clear() localidades = self.gestordb.getTablaID(Localidad, 'id_provincia', id_provincia) for e in localidades: lLocalidad.append([e.id_localidad, e.nombreLocalidad]) def initDateCombo(self, combo_dia, combo_mes, combo_ano, ano_min, ano_max): # seteamos rango de anos y meses year_range = (ano_min, ano_max) month_range = (1, 12) day_range = (1, calendar.monthrange(ano_min, 1)[1]) # Cargamos los combos con los anos, meses y dias correspondientes for combo, rango in izip([combo_dia, combo_mes, combo_ano], [day_range, month_range, year_range]): for valor in range(rango[0], rango[1] + 1): combo.append_text(str(valor)) def comboUpDate(self, comboDia, comboMes, comboAno): # Obtenemos ano y mes year = int(comboAno.get_active_text()) month = int(comboMes.get_active_text()) # Obtenemos rango de dias day_range = (1, calendar.monthrange(year, month)[1]) # Limpiamos combo comboDia.remove_all() #Llenamos combo for dia in range(day_range[0], day_range[1]): comboDia.append_text(str(dia)) def setActive(self, combos, valoresActivos): for combo, valor in izip(combos, valoresActivos): combo.set_active(valor) def getDate(self, comboDia, comboMes, comboAno): day = int(comboDia.get_active_text()) month = int(comboMes.get_active_text()) year = int(comboAno.get_active_text()) return date(year, month, day)
class GestorCombos: def __init__(self): self.gestordb = GestorDB() def cargarCombos(self, lPais=None, lNacionalidad=None, lOcupacion=None, lIVA=None, lDocumento=None): if lPais is not None: paises = self.gestordb.getTabla(Pais) for e in paises: lPais.append([e.id_pais,e.nombrePais]) if lNacionalidad is not None: nacionalidades = self.gestordb.getTabla(Nacionalidad) for e in nacionalidades: lNacionalidad.append([e.id_nacionalidad,e.nombreNacionalidad]) if lOcupacion is not None: ocupaciones = self.gestordb.getTabla(Ocupacion) for e in ocupaciones: lOcupacion.append([e.id_ocupacion,e.descripcion_ocupacion]) if lIVA is not None: ivas = self.gestordb.getTabla(Iva) for e in ivas: lIVA.append([e.id_iva,e.getDescripcion()]) if lDocumento is not None: documentos = self.gestordb.getTabla(TipoDocumento) for e in documentos: lDocumento.append([e.id_tipo,e.tipo]) def getProvincia(self, lProvincia, id_pais): lProvincia.clear() provincias = self.gestordb.getTablaID(Provincia,'id_pais',id_pais) for e in provincias: lProvincia.append([e.id_provincia,e.nombreProv]) def getLocalidad(self,lLocalidad,id_provincia): lLocalidad.clear() localidades = self.gestordb.getTablaID(Localidad,'id_provincia',id_provincia) for e in localidades: lLocalidad.append([e.id_localidad,e.nombreLocalidad]) def initDateCombo(self, combo_dia, combo_mes, combo_ano, ano_min, ano_max): # seteamos rango de anos y meses year_range = (ano_min, ano_max) month_range = (1, 12) day_range = (1, calendar.monthrange(ano_min, 1)[1]) # Cargamos los combos con los anos, meses y dias correspondientes for combo, rango in izip([combo_dia, combo_mes, combo_ano], [day_range, month_range, year_range]): for valor in range(rango[0], rango[1] + 1): combo.append_text(str(valor)) def comboUpDate(self, comboDia, comboMes, comboAno): # Obtenemos ano y mes year = int(comboAno.get_active_text()) month = int(comboMes.get_active_text()) # Obtenemos rango de dias day_range = (1, calendar.monthrange(year, month)[1]) # Limpiamos combo comboDia.remove_all() #Llenamos combo for dia in range(day_range[0], day_range[1]): comboDia.append_text(str(dia)) def setActive(self, combos, valoresActivos): for combo, valor in izip(combos, valoresActivos): combo.set_active(valor) def getDate(self, comboDia, comboMes, comboAno): day = int(comboDia.get_active_text()) month = int(comboMes.get_active_text()) year = int(comboAno.get_active_text()) return date(year, month, day)
def __init__(self): self.gestordb = GestorDB()
def completarCarga(self, pasajero): gestordb = GestorDB() gestordb.guardarObjeto(pasajero)
def __init__(self): self.responsable = None self.ocupantes = [] self.gestordb = GestorDB()