def __init__(self): self.alumno = Alumno() self.curso = Curso() self.profesor_curso = Profesor_curso() self.periodo = Periodo() self.nota = Nota() self.salir = False
def __init__(self): self.malla = Malla() self.nota = Nota() self.salon = Salon() self.periodo = Periodo() self.profesor_curso = Profesor_curso() self.salir = False
def __init__(self): self.nota = Nota() self.alumno = Alumno() self.malla = Malla() self.salir = False
class Registro_notas: def __init__(self): self.nota = Nota() self.alumno = Alumno() self.malla = Malla() self.salir = False def menu(self): while True: try: print(''' ====================== Registro Notas ====================== ''') menu = ['Listar notas', 'Buscar notas', "Registrar notas", "Salir"] respuesta = Menu(menu).show() if respuesta == 1: self.listar_registro_notas() elif respuesta == 2: self.buscar_registro_notas() elif respuesta == 3: self.insertar_registro_notas() else: self.salir = True break except Exception as e: print(f'{str(e)}') def listar_registro_notas(self): print(''' ========================= Lista de Periodo ========================= ''') notas = self.nota.obtener_notas('id_nota') print(print_table(notas, ['id_nota', 'id_alumno', 'id_malla','nota'])) input("\nPresione una tecla para continuar...") def buscar_registro_notas(self): print(''' ======================= Buscar Periodo ======================= ''') try: id_nota = input_data("Ingrese el ID del periodo >> ", "int") notas = self.nota.obtener_nota({'id_periodo': id_nota}) print(print_table(notas, ['id_periodo', 'nombre_periodo', 'Fecha_desde', 'Fecha_hasta'])) if notas: if pregunta("¿Deseas dar mantenimiento al periodo?"): opciones = ['Editar periodo', 'Eliminar periodo', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: pass #self.editar_registrar_notas(id_nota) elif respuesta == 2: pass #self.eliminar_registrar_notas(id_nota) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...") def insertar_registro_notas(self): print(''' ========================= Lista de Alumno ========================= ''') alumno = self.alumno.obtener_alumnos('alumno_id') print(print_table(alumno, ['alumno_id', 'nombres', 'edad', 'correo'])) alumno_id = input_data("Ingrese el ID del alumno >> ", 'int') print(''' =================================== Lista de Malla Curriculares =================================== ''') malla = self.malla.obtener_mallas('id_malla') print(print_table(malla, ['id_malla', 'id_periodo','id_salon','id_profesor_curso'])) id_malla = input_data("Ingrese la ID de la malla curricular >> ", 'int') while True: nota = input_data("Ingrese la nota >> ", 'int') if nota >= 0 and nota <= 20: break else: print('Ingresar una nota entre 00 al 20') self.nota.guardar_nota({ 'id_alumno': alumno_id, 'id_malla': id_malla, 'nota': nota }) print(''' ================================ Nuevo Periodo agregado ! ================================ ''') self.listar_registro_notas() def editar_periodo(self, id_nota): print(''' ========================= Lista de Alumno ========================= ''') alumno = self.alumno.obtener_alumnos('alumno_id') print(print_table(alumno, ['alumno_id', 'nombres', 'edad', 'correo'])) alumno_id = input_data("Ingrese el ID del alumno >> ", 'int') print(''' =================================== Lista de Malla Curriculares =================================== ''') malla = self.malla.obtener_mallas('id_malla') print(print_table(malla, ['id_malla', 'id_periodo','id_salon','id_profesor_curso'])) id_malla = input_data("Ingrese la ID de la malla curricular >> ", 'int') while True: nota = input_data("Ingrese la nota >> ", 'int') if nota >= 0 and nota <= 20: break else: print('Ingresar una nota entre 00 al 20') self.nota.modificar_nota({ 'id_nota': id_nota }, { 'id_alumno': alumno_id, 'id_malla': id_malla, 'nota': nota }) print(''' =================================== Registro de Nota Editada ! =================================== ''') def eliminar_periodo(self, id_nota): self.nota.eliminar_nota({ 'id_nota': id_nota }) print(''' ==================================== Registro de Nota Eliminado ! ==================================== ''')
class Notas_controller: def __init__(self): self.alumno = Alumno() self.curso = Curso() self.profesor_curso = Profesor_curso() self.periodo = Periodo() self.nota = Nota() self.salir = False def menu(self): while True: try: print(''' =================== Notas =================== ''') menu = ['Listar notas', "Buscar notas", "Nueva nota", "Salir"] respuesta = Menu(menu).show() if respuesta == 1: self.listar_notas() elif respuesta == 2: self.buscar_notas() elif respuesta == 3: self.insertar_notas() else: self.salir = True break except Exception as e: print(f'{str(e)}') def listar_notas(self): print(''' =========================== Lista de Notas =========================== ''') notas = self.nota.obtener_notas('id_nota') print(print_table(notas, ['ID', 'Alumno', 'Malla', 'Nota'])) input("\nPresione una tecla para continuar...") def buscar_notas(self): print(''' =========================== Buscar Notas =========================== ''') try: id_notas = input_data("Ingrese el ID de la nota>> ", "int") notas = self.nota.obtener_nota({'id_nota': id_notas}) print(print_table(notas, ['ID', 'Alumno', 'Malla', 'Nota'])) if notas: if pregunta( f"¿Deseas dar mantenimiento al registro notas '{notas[0]}'?" ): opciones = ['Editar notas', 'Eliminar nota', 'Salir'] respuesta = Menu(opciones).show() if respuesta == 1: self.editar_notas() elif respuesta == 2: self.eliminar_notas(id_nota) except Exception as e: print(f'{str(e)}') input("\nPresione una tecla para continuar...") def insertar_notas(self): id_alumno = input_data("Ingrese el ID del alumno >> ", "int") alumno = self.alumno.obtener_alumno({'alumno_id': id_alumno}) print(print_table(alumno, ['ID', 'Nombre', 'Edad', 'Correo'])) id_curso = input_data("Ingrese el ID del curso >> ", "int") curso = self.curso.obtener_curso({'curso_id': id_curso}) print(print_table(curso, ['ID', 'Nombre'])) id_malla = input_data("Ingrese el ID de la malla >> ", "int") malla = self.malla.obtener_malla({'malla_id': id_malla}) print( print_table( malla, ['ID', 'ID Periodo', 'ID Salon', 'ID Profesor-Cursor'])) nota = input_data("Ingrese nota del alumno >> ") self.nota.guardar_nota({ 'id_alumno': id_alumno, 'id_malla': id_malla, 'nota': nota }) print(''' ================================= La nota se registro con exito ! ================================= ''') self.listar_notas() def editar_notas(self): id_nota = input_data("Ingrese el id de la nota a modificar >> ") nota = input_data("Ingrese la nueva nota del alumno >> ") self.nota.modificar_nota({'id_nota': id_nota}, {'nota': nota}) print(''' ========================== Nota Editada ! ========================== ''') def eliminar_notas(self, id_nota): self.nota.eliminar_nota({'id_nota': id_nota}) print(''' =========================== Nota Eliminada ! =========================== ''')
class Notas_controller: def __init__(self): self.profesor = Profesor() self.curso = Curso() self.profesor_curso = Profesor_curso() self.periodo = Periodo() self.salon = Salon() self.malla = Malla() self.nota = Nota() self.alumno = Alumno() self.salir = False def menu(self): while True: try: print(''' ======================== Registro de Notas ======================== ''') menu = ["Listado de notas", "Registrar notas", "Salir"] respuesta = Menu(menu).show() if respuesta == 1: self.listar_notas() elif respuesta == 2: self.registrar_notas() else: self.salir = True break except Exception as e: print(f'{str(e)}') def listar_notas(self): print(''' ======================== Listado de Notas ======================== ''') notas = self.nota.obtener_notas('id_nota') lista_notas = [] if notas: for nota in notas: buscar_alumno = self.alumno.obtener_alumno( {'alumno_id': nota[1]}) buscar_malla = self.malla.obtener_malla({'id_malla': nota[2]}) nota_calificacion = nota[3] periodo = self.periodo.obtener_periodo( {'id_periodo': buscar_malla[1]}) salon = self.salon.obtener_salon({'id_salon': buscar_malla[2]}) profesor_curso = self.profesor_curso.obtener_profesor_curso( {'id_profesor_curso': buscar_malla[3]}) curso = self.curso.obtener_curso( {'curso_id': profesor_curso[2]}) profesor = self.profesor.obtener_profesor( {'profesor_id': profesor_curso[1]}) lista_notas.append( (nota[0], buscar_alumno[1], periodo[1], salon[1], curso[1], profesor[1], nota_calificacion)) print( print_table(lista_notas, [ 'ID', 'Alumno', 'Periodo Escolar', 'Salon', 'Curso', 'Profesor', 'Nota' ])) input("\nPresione una tecla para continuar...") def registrar_notas(self): print(''' =================================================== Registro de notas para los alumnos por salon =================================================== ''') print('Eliga el alumno que se le asignara una nota >> \n') alumnos = self.alumno.obtener_alumnos('alumno_id') print(print_table(alumnos, ['ID', 'Nombres', 'Edad', 'Correo'])) id_alumno_elegido = input_data('\nEscriba el ID del alumno >> ', 'int') buscar_alumno = self.alumno.obtener_alumno( {'alumno_id': id_alumno_elegido}) if not buscar_alumno: print('\nEl alumno elegido no existe !') return print( f'\nElija el curso y periodo a ser añadido a {buscar_alumno[1]} >> ' ) mallas = self.malla.obtener_mallas('id_malla') lista_mallas = [] if mallas: for malla in mallas: periodo = self.periodo.obtener_periodo( {'id_periodo': malla[1]}) salon = self.salon.obtener_salon({'id_salon': malla[2]}) profesor_curso = self.profesor_curso.obtener_profesor_curso( {'id_profesor_curso': malla[3]}) curso = self.curso.obtener_curso( {'curso_id': profesor_curso[2]}) profesor = self.profesor.obtener_profesor( {'profesor_id': profesor_curso[1]}) notas_agregadas = self.nota.buscar_notas({ 'id_alumno': id_alumno_elegido, 'id_malla': malla[0] }) if not notas_agregadas: lista_mallas.append((malla[0], periodo[1], salon[1], curso[1], profesor[1])) print( print_table( lista_mallas, ['Codigo', 'Periodo Escolar', 'Salon', 'Curso', 'Profesor'])) id_malla_elegida = input_data('\nEscriba el codigo de la malla >> ', 'int') buscar_malla = self.malla.obtener_malla({'id_malla': id_malla_elegida}) if not buscar_malla: print('\nEsta malla no existe !') return notas_alumnos = self.nota.buscar_notas({ 'id_alumno': id_alumno_elegido, 'id_malla': id_malla_elegida }) if notas_alumnos: print( f'\nYa existe una nota para el alumno {buscar_alumno[1]} en el curso seleccionado !' ) return periodo = self.periodo.obtener_periodo({'id_periodo': buscar_malla[1]}) salon = self.salon.obtener_salon({'id_salon': buscar_malla[2]}) profesor_curso = self.profesor_curso.obtener_profesor_curso( {'id_profesor_curso': buscar_malla[3]}) curso = self.curso.obtener_curso({'curso_id': profesor_curso[2]}) profesor = self.profesor.obtener_profesor( {'profesor_id': profesor_curso[1]}) while True: print(f'\nAlumno: {buscar_alumno[1]}') print(f'Periodo: {periodo[1]}') print(f'Salon: {salon[1]}') print(f'Profesor: {profesor[1]}') print(f'Curso: {curso[1]}') nota_ingresada = input_data('\nNota: >> ', 'int') if nota_ingresada > 20: print("La nota ingresada debe ser menor a 20!") else: break self.nota.guardar_nota({ 'id_alumno': id_alumno_elegido, 'id_malla': id_malla_elegida, 'nota': nota_ingresada }) print(''' ============================== Se califico al alumno ! ============================== ''') input("\nPresione una tecla para continuar...")