示例#1
0
    def registrar(self):
        print(msg('abm.reserva.titulo.registrar'))
        obligatorio = True

        codigo = str(util.leer_cadena(msg('reserva.ingrese.codigo'), obligatorio))
        codigo_libro = str(util.leer_cadena(msg('reserva.ingrese.libro'), obligatorio))
        codigo_alumno = str(util.leer_cadena(msg('reserva.ingrese.alumno'), obligatorio))

        libro = ControladorLibro().buscar_codigo(codigo_libro)
        
        alumno = ControladorAlumno().buscar_codigo(codigo_alumno)
        
        if libro.get_tipo() == 'Consultable':
            raise Exception("No puede prestar temporalmente un libro de Consulta, favor realice un reserva de Consulta!")
        
        if ControladorAlumno().puede_prestar(alumno) == False:
            raise Exception("Alumno no puede prestar mas libros")
            
        if libro.get_estado() == 'Prestado':
            raise Exception("No puede prestar libro, no se encuentra disponible")
            
        ficha = Ficha(codigo, libro, alumno)

        try:
            self.get_controlador().crear(ficha)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        return ficha
        self.pausa()
示例#2
0
def registrar_entrada():
	mensaje = "Ingrese número de cédula para marcar su entrada: "
	cedula = util.leer_cadena(mensaje, requerido=True)

	p = PersonaControlador()
	try:
		persona = p.recuperar(cedula)
	except Exception as ex:
		print(ex)
		print("No se podrá registrar entrada.")
		util.presiona_continuar()
		menu_principal()

	edad_persona = persona.get_edad()

	if edad_persona < 18:	# visitante es menor?
		pregunta = "¿Esta persona viene acompañada de un adulto?"
		acompanha_adulto = util.si_no_pregunta(pregunta)

		if acompanha_adulto:
			cedula_adulto = util.leer_cadena("Ingrese cédula del adulto responsable: ", requerido=True)
		else:
			cedula_adulto = None
		
		visita = VisitaMenorControlador().marcar_entrada(cedula, cedula_adulto)
		print(visita)
	else:	# visitante es adulto
		try:
			visita = VisitaControlador().marcar_entrada(cedula)
			print(visita)
		except Exception as e:
			print(e)

	util.presiona_continuar()
示例#3
0
    def registrar(self):
        print(msg('abm.contacto.titulo.registrar'))
        obligatorio = True

        numero_telefonico = util.leer_cadena(msg('contacto.ingrese.numero_telefonico'), obligatorio)
        correo_electronico = str(util.leer_cadena(msg('contacto.ingrese.correo_electronico'), obligatorio))
        
        contacto = Contacto(numero_telefonico,correo_electronico)

        try:
            self.get_controlador().crear(contacto)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#4
0
    def registrar(self):
        print(msg('abm.laboratorio.titulo.registrar'))
        obligatorio = True

        codigo = util.leer_cadena(msg('laboratorio.ingrese.codigo'), obligatorio)
        nombre = str(util.leer_cadena(msg('laboratorio.ingrese.nombre'), obligatorio))
        cantidad_maquinas = str(util.leer_cadena(msg('laboratorio.ingrese.cantidad_maquinas'), obligatorio))
        
        laboratorio = Laboratorio(codigo, nombre, cantidad_maquinas)

        try:
            self.get_controlador().crear(laboratorio)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#5
0
def alquilar_bici():
	disponible = BicicletaControlador().cantidad_disponible()
	
	if disponible == 0:
		print("No hay bicicletas disponibles en este momento.")
	
	else:
		mensaje = "Existen {0} bicicletas disponible(s).\n".format(disponible)
		print(mensaje)

		cedula = util.leer_cadena("Ingrese el nro. de cédula del solicitante: ", requerido=True)
		if not BicicletaControlador().validar_solicitante(cedula):
			print("Esta cédula no corresponde a alguien presente en el parque.")
			util.presiona_continuar()
			return False

		nro_solicitado = util.leer_entero("¿Cuántas desea alquilar?: ", min_val=1, max_val=20, requerido=True)
		
		# booleano
		cantidad_valida = BicicletaControlador().validar_cantidad_solicitada(nro_solicitado)

		if not cantidad_valida:
			print("No existen suficientes bicicletas disponibles.")
			util.presiona_continuar()
			alquilar_bici()

		tiempo_alquiler = opcion = util.leer_entero("Tiempo de alquiler, en horas: ", min_val=1, max_val=8, requerido=True)

		monto_alquiler = BicicletaControlador().alquilar(cedula, nro_solicitado, tiempo_alquiler)
		print("El monto a abonar es: Gs " + str(monto_alquiler))

	util.presiona_continuar()
示例#6
0
    def registrar(self):
        print(msg('abm.ficha.titulo.registrar'))
        obligatorio = True

        codigo = util.leer_cadena(msg('ficha.ingrese.codigo'), obligatorio)
        hora_inicio = str(util.leer_cadena(msg('ficha.ingrese.hora_inicio'), obligatorio))
        hora_fin = str(util.leer_cadena(msg('ficha.ingrese.hora_fin'), obligatorio))
        fecha = str(util.leer_cadena(msg('ficha.ingrese.fecha'), obligatorio))
        
        ficha = Ficha(codigo, hora_inicio, hora_fin, fecha)

        self.get_controlador().crear(ficha)
        try:
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#7
0
    def registrar(self):
        print(msg('abm.funcionario.titulo.registrar'))
        obligatorio = True

        cedula = util.leer_cadena(msg('funcionario.ingrese.cedula'),
                                  obligatorio)
        nombre = str(
            util.leer_cadena(msg('funcionario.ingrese.nombre'), obligatorio))
        apellido = str(
            util.leer_cadena(msg('funcionario.ingrese.apellido'), obligatorio))
        fecha_nacimiento = str(
            util.leer_cadena(msg('funcionario.ingrese.fecha_nacimiento'),
                             obligatorio))
        departamento = str(
            util.leer_cadena(msg('funcionario.ingrese.departamento'),
                             obligatorio))
        cargo = str(
            util.leer_cadena(msg('funcionario.ingrese.cargo'), obligatorio))
        telefono = str(
            util.leer_cadena(msg('funcionario.ingrese.telefono'), obligatorio))

        funcionario = Funcionario(cargo, departamento, telefono, cedula,
                                  nombre, apellido, fecha_nacimiento)

        try:
            self.get_controlador().crear(funcionario)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#8
0
    def registrar(self):
        print(msg('abm.docente.titulo.registrar'))
        obligatorio = True

        cedula = util.leer_cadena(msg('docente.ingrese.cedula'), obligatorio)
        nombre = str(
            util.leer_cadena(msg('docente.ingrese.nombre'), obligatorio))
        apellido = str(
            util.leer_cadena(msg('docente.ingrese.apellido'), obligatorio))
        fecha_nacimiento = str(
            util.leer_cadena(msg('docente.ingrese.fecha_nacimiento'),
                             obligatorio))
        asignatura = str(
            util.leer_cadena(msg('docente.ingrese.asignatura'), obligatorio))
        telefono = str(
            util.leer_cadena(msg('docente.ingrese.telefono'), obligatorio))
        departamento = str(
            util.leer_cadena(msg('docente.ingrese.departamento'), obligatorio))

        docente = Docente(asignatura, departamento, telefono, cedula, nombre,
                          apellido, fecha_nacimiento)

        try:
            self.get_controlador().crear(docente)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#9
0
    def registrar(self):
        print(msg('abm.contacto.titulo.registrar'))
        obligatorio = True

        numero_telefonico = util.leer_cadena(
            msg('contacto.ingrese.numero_telefonico'), obligatorio)
        correo_electronico = str(
            util.leer_cadena(msg('contacto.ingrese.correo_electronico'),
                             obligatorio))

        contacto = Contacto(numero_telefonico, correo_electronico)

        try:
            self.get_controlador().crear(contacto)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#10
0
    def registrar(self):
        print(msg('abm.ficha.titulo.registrar'))
        obligatorio = True

        codigo = util.leer_cadena(msg('ficha.ingrese.codigo'), obligatorio)
        hora_inicio = str(
            util.leer_cadena(msg('ficha.ingrese.hora_inicio'), obligatorio))
        hora_fin = str(
            util.leer_cadena(msg('ficha.ingrese.hora_fin'), obligatorio))
        fecha = str(util.leer_cadena(msg('ficha.ingrese.fecha'), obligatorio))

        ficha = Ficha(codigo, hora_inicio, hora_fin, fecha)

        self.get_controlador().crear(ficha)
        try:
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#11
0
def registrar_persona():
	print("Debe ingresar los siguientes datos: ")
	cedula = util.leer_cadena("Número de Cédula: ", requerido=True)
	nombre = util.leer_cadena("Nombre: ", requerido=True)
	apellido = util.leer_cadena("Apellido: ", requerido=True)
	sexo = util.leer_dato_binario("Sexo (M/F): ", ["M", "F"])
	edad = util.leer_entero("Edad: ", requerido=True)

	persona = PersonaControlador()
	creado = persona.crear(cedula=cedula, nombre=nombre, 
					apellido=apellido, sexo=sexo,
					edad=edad)

	if creado is True:
		print("Se registraron los datos correctamente.")
	else:
		print("No se pudieron registrar los datos.")

	util.presiona_continuar()
示例#12
0
def registrar_salida():
	mensaje = "Ingrese número de cédula para marcar su salida: "
	cedula = util.leer_cadena(mensaje, requerido=True)

	try:
		visita = VisitaControlador().marcar_salida(cedula)
		print(visita)
	except Exception as e:
		print(e)
	util.presiona_continuar()
	util.limpiar_pantalla()
示例#13
0
    def registrar(self):
        print(msg('abm.laboratorio.titulo.registrar'))
        obligatorio = True

        codigo = util.leer_cadena(msg('laboratorio.ingrese.codigo'),
                                  obligatorio)
        nombre = str(
            util.leer_cadena(msg('laboratorio.ingrese.nombre'), obligatorio))
        cantidad_maquinas = str(
            util.leer_cadena(msg('laboratorio.ingrese.cantidad_maquinas'),
                             obligatorio))

        laboratorio = Laboratorio(codigo, nombre, cantidad_maquinas)

        try:
            self.get_controlador().crear(laboratorio)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#14
0
 def consultar_laboratorio(self):
     obligatorio = True
     codigo = util.leer_cadena(msg('laboratorio.ingrese.codigo'), obligatorio)
     
     try:
         if not util.es_numerico(codigo):
             raise Exception("La codigo debe ser numerica!")
             
         laboratorio = ControladorLaboratorio().buscar_codigo(codigo)
         return laboratorio
     except Exception as e:
         print(e)
示例#15
0
 def consultar_contacto(self):
     obligatorio = True
     numero_telefonico = util.leer_cadena(msg('contacto.ingrese.numero_telefonico'), obligatorio)
     
     try:
         if not util.es_numerico(numero_telefonico):
             raise Exception("El numero_telefonico debe ser numerico!")
             
         contacto = ControladorContacto().buscar_codigo(numero_telefonico)
         return contacto
     except Exception as e:
         print(e)
示例#16
0
    def borrar(self):
        print(msg('abm.reserva.titulo.borrar'))
        obligatorio = True
        codigo = util.leer_cadena(msg('reserva.ingrese.codigo'), obligatorio)

        try:
            ficha = self.get_controlador().buscar_codigo(codigo)
            self.get_controlador().borrar(ficha)
            print(msg('reserva.borrado'))
        except Exception as e:
            print(e)
        self.pausa()
示例#17
0
 def consultar_ficha(self):
     obligatorio = True
     codigo = util.leer_cadena(msg('ficha.ingrese.codigo'), obligatorio)
     
     try:
         if not util.es_numerico(codigo):
             raise Exception("El codigo debe ser numerico!")
             
         ficha = ControladorFicha().buscar_codigo(codigo)
         return ficha
     except Exception as e:
         print(e)
示例#18
0
    def borrar(self):
        print(msg('abm.reserva.titulo.borrar'))
        obligatorio = True
        codigo = util.leer_cadena(msg('reserva.ingrese.codigo'), obligatorio)

        try:
            ficha = self.get_controlador().buscar_codigo(codigo)
            self.get_controlador().borrar(ficha)
            print(msg('reserva.borrado'))
        except Exception as e:
            print(e)
        self.pausa()
示例#19
0
    def consultar_docente(self):
        obligatorio = True
        cedula = util.leer_cadena(msg('docente.ingrese.cedula'), obligatorio)

        try:
            if not util.es_numerico(cedula):
                raise Exception("La cedula debe ser numerica!")

            docente = ControladorDocente().buscar_codigo(cedula)
            return docente
        except Exception as e:
            print(e)
示例#20
0
 def consultar_docente(self):
     obligatorio = True
     cedula = util.leer_cadena(msg('docente.ingrese.cedula'), obligatorio)
     
     try:
         if not util.es_numerico(cedula):
             raise Exception("La cedula debe ser numerica!")
             
         docente = ControladorDocente().buscar_codigo(cedula)
         return docente
     except Exception as e:
         print(e)
示例#21
0
    def consultar_ficha(self):
        obligatorio = True
        codigo = util.leer_cadena(msg('ficha.ingrese.codigo'), obligatorio)

        try:
            if not util.es_numerico(codigo):
                raise Exception("El codigo debe ser numerico!")

            ficha = ControladorFicha().buscar_codigo(codigo)
            return ficha
        except Exception as e:
            print(e)
示例#22
0
 def consultar_funcionario(self):
     obligatorio = True
     cedula = util.leer_cadena(msg('funcionario.ingrese.cedula'), obligatorio)
     
     try:
         if not util.es_numerico(cedula):
             raise Exception("La cedula debe ser numerica!")
             
         funcionario = ControladorFuncionario().buscar_codigo(cedula)
         return funcionario
     except Exception as e:
         print(e)
示例#23
0
    def consultar_funcionario(self):
        obligatorio = True
        cedula = util.leer_cadena(msg('funcionario.ingrese.cedula'),
                                  obligatorio)

        try:
            if not util.es_numerico(cedula):
                raise Exception("La cedula debe ser numerica!")

            funcionario = ControladorFuncionario().buscar_codigo(cedula)
            return funcionario
        except Exception as e:
            print(e)
示例#24
0
    def consultar_laboratorio(self):
        obligatorio = True
        codigo = util.leer_cadena(msg('laboratorio.ingrese.codigo'),
                                  obligatorio)

        try:
            if not util.es_numerico(codigo):
                raise Exception("La codigo debe ser numerica!")

            laboratorio = ControladorLaboratorio().buscar_codigo(codigo)
            return laboratorio
        except Exception as e:
            print(e)
示例#25
0
    def consultar_contacto(self):
        obligatorio = True
        numero_telefonico = util.leer_cadena(
            msg('contacto.ingrese.numero_telefonico'), obligatorio)

        try:
            if not util.es_numerico(numero_telefonico):
                raise Exception("El numero_telefonico debe ser numerico!")

            contacto = ControladorContacto().buscar_codigo(numero_telefonico)
            return contacto
        except Exception as e:
            print(e)
示例#26
0
 def borrar(self):
     print(msg('abm.contacto.titulo.borrar'))
     obligatorio = True
     numero_telefonico = util.leer_cadena(msg('contacto.ingrese.numero_telefonico'), obligatorio)
     try:
         contacto = self.get_controlador().buscar_codigo(numero_telefonico)
         if not contacto:
             print(msg('contacto.cedula.no.existe'), ":", numero_telefonico)
         else:
             self.get_controlador().borrar(contacto)
             print(msg('contacto.borrado'))
     except Exception as e:
         print(e)
     self.pausa()
示例#27
0
 def borrar(self):
     print(msg('abm.ficha.titulo.borrar'))
     obligatorio = True
     codigo = util.leer_cadena(msg('ficha.ingrese.codigo'), obligatorio)
     try:
         ficha = self.get_controlador().buscar_codigo(codigo)
         if not ficha:
             print(msg('ficha.codigo.no.existe'), ":", codigo)
         else:
             self.get_controlador().borrar(ficha)
             print(msg('ficha.borrado'))
     except Exception as e:
         print(e)
     self.pausa()
示例#28
0
 def borrar(self):
     print(msg('abm.laboratorio.titulo.borrar'))
     obligatorio = True
     codigo = util.leer_cadena(msg('laboratorio.ingrese.codigo'), obligatorio)
     try:
         laboratorio = self.get_controlador().buscar_codigo(codigo)
         if not laboratorio:
             print(msg('laboratorio.codigo.no.existe'), ":", codigo)
         else:
             self.get_controlador().borrar(laboratorio)
             print(msg('laboratorio.borrado'))
     except Exception as e:
         print(e)
     self.pausa()
示例#29
0
 def borrar(self):
     print(msg('abm.docente.titulo.borrar'))
     obligatorio = True
     cedula = util.leer_cadena(msg('docente.ingrese.cedula'), obligatorio)
     try:
         docente = self.get_controlador().buscar_codigo(cedula)
         if not docente:
             print(msg('docente.cedula.no.existe'), ":", cedula)
         else:
             self.get_controlador().borrar(docente)
             print(msg('docente.borrado'))
     except Exception as e:
         print(e)
     self.pausa()
示例#30
0
 def borrar(self):
     print(msg('abm.funcionario.titulo.borrar'))
     obligatorio = True
     cedula = util.leer_cadena(msg('funcionario.ingrese.cedula'), obligatorio)
     try:
         funcionario = self.get_controlador().buscar_codigo(cedula)
         if not funcionario:
             print(msg('funcionario.cedula.no.existe'), ":", cedula)
         else:
             self.get_controlador().borrar(funcionario)
             print(msg('funcionario.borrado'))
     except Exception as e:
         print(e)
     self.pausa()
示例#31
0
 def borrar(self):
     print(msg('abm.contacto.titulo.borrar'))
     obligatorio = True
     numero_telefonico = util.leer_cadena(
         msg('contacto.ingrese.numero_telefonico'), obligatorio)
     try:
         contacto = self.get_controlador().buscar_codigo(numero_telefonico)
         if not contacto:
             print(msg('contacto.cedula.no.existe'), ":", numero_telefonico)
         else:
             self.get_controlador().borrar(contacto)
             print(msg('contacto.borrado'))
     except Exception as e:
         print(e)
     self.pausa()
示例#32
0
    def registrar(self):
        print(msg('abm.reserva.titulo.registrar'))
        obligatorio = True

        codigo = str(
            util.leer_cadena(msg('reserva.ingrese.codigo'), obligatorio))
        codigo_libro = str(
            util.leer_cadena(msg('reserva.ingrese.libro'), obligatorio))
        codigo_alumno = str(
            util.leer_cadena(msg('reserva.ingrese.alumno'), obligatorio))

        libro = ControladorLibro().buscar_codigo(codigo_libro)

        alumno = ControladorAlumno().buscar_codigo(codigo_alumno)

        if libro.get_tipo() == 'Consultable':
            raise Exception(
                "No puede prestar temporalmente un libro de Consulta, favor realice un reserva de Consulta!"
            )

        if ControladorAlumno().puede_prestar(alumno) == False:
            raise Exception("Alumno no puede prestar mas libros")

        if libro.get_estado() == 'Prestado':
            raise Exception(
                "No puede prestar libro, no se encuentra disponible")

        ficha = Ficha(codigo, libro, alumno)

        try:
            self.get_controlador().crear(ficha)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        return ficha
        self.pausa()
示例#33
0
def devolver_bici():
	cedula = util.leer_cadena("Ingrese el nro. de cédula de quien devuelve: ", requerido=True)

	# Correccion de bug en el examen: no validaba la persona.
	if not BicicletaControlador().validar_solicitante(cedula):
		print("Esta cédula no corresponde a alguien presente en el parque.")
		return False
	
	lista_bici = BicicletaControlador().listar_por_cedula(cedula)

	if lista_bici:
		print("Se devuelve: ")
		for b in lista_bici:
			print(b)

	BicicletaControlador().devolver(cedula)
	util.presiona_continuar()
示例#34
0
def buscar_cedula():
	mensaje = "Ingrese número de cédula: "
	cedula = util.leer_cadena(mensaje, requerido=True)

	existe = PersonaControlador().existe(cedula)

	if existe:
		persona = PersonaControlador().recuperar(cedula)
		print(persona)
		util.presiona_continuar()
	else:
		print("No se encontró esa cédula")
		pregunta = "¿Desea registrar una nueva persona ahora?"
		accion = util.si_no_pregunta(pregunta)

		if accion is True:
			registrar_persona()
		else:
			print("Registrar más tarde")
示例#35
0
    def registrar(self):
        print(msg('abm.docente.titulo.registrar'))
        obligatorio = True

        cedula = util.leer_cadena(msg('docente.ingrese.cedula'), obligatorio)
        nombre = str(util.leer_cadena(msg('docente.ingrese.nombre'), obligatorio))
        apellido = str(util.leer_cadena(msg('docente.ingrese.apellido'), obligatorio))
        fecha_nacimiento = str(util.leer_cadena(msg('docente.ingrese.fecha_nacimiento'), obligatorio))
        asignatura = str(util.leer_cadena(msg('docente.ingrese.asignatura'), obligatorio))
        telefono = str(util.leer_cadena(msg('docente.ingrese.telefono'), obligatorio))
        departamento = str(util.leer_cadena(msg('docente.ingrese.departamento'), obligatorio))
        
        docente = Docente(asignatura, departamento, telefono, cedula, nombre, apellido, fecha_nacimiento)

        try:
            self.get_controlador().crear(docente)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#36
0
    def registrar(self):
        print(msg('abm.funcionario.titulo.registrar'))
        obligatorio = True

        cedula = util.leer_cadena(msg('funcionario.ingrese.cedula'), obligatorio)
        nombre = str(util.leer_cadena(msg('funcionario.ingrese.nombre'), obligatorio))
        apellido = str(util.leer_cadena(msg('funcionario.ingrese.apellido'), obligatorio))
        fecha_nacimiento = str(util.leer_cadena(msg('funcionario.ingrese.fecha_nacimiento'), obligatorio))
        departamento = str(util.leer_cadena(msg('funcionario.ingrese.departamento'), obligatorio))
        cargo = str(util.leer_cadena(msg('funcionario.ingrese.cargo'), obligatorio))
        telefono = str(util.leer_cadena(msg('funcionario.ingrese.telefono'), obligatorio))
        
        funcionario = Funcionario(cargo, departamento, telefono, cedula, nombre, apellido, fecha_nacimiento)

        try:
            self.get_controlador().crear(funcionario)
            print(msg("registro.creado"))
        except Exception as e:
            print(e)
        self.pausa()
示例#37
0
def listar_segun_cedula():
	mensaje = "Ingrese número de cédula del solicitante: "
	cedula = util.leer_cadena(mensaje, requerido=True)

	# valida presencia de la persona en el parque
	if not BicicletaControlador().validar_solicitante(cedula):
		print("Esta cédula no corresponde a alguien presente en el parque.")
		return False


	p = PersonaControlador().recuperar(cedula)

	lista_bici = BicicletaControlador().listar_por_cedula(cedula)

	if lista_bici:
		print(p)
		print("Posee actualmente {0} bicicleta(s): ".format(len(lista_bici)))
		for b in lista_bici:
			print(b)
	else:
		print("Esta persona no alquiló bicicletas.")

	util.presiona_continuar()