Exemplo n.º 1
0
    def insert_alumno_data(self):
        nombre = Validacion.validar_texto('Ingrese el nombre del Alumno')
        edad = Validacion.validar_edad('Ingresar la edad del Alumno')
        correo = Validacion.validar_correo(
            'Ingresar el Correo Electrónico del Alumno')

        data = {'nombres': nombre, 'edad': edad, 'correo': correo}
        self.alumno.insert_alumno(data)
        print('Se creo con exito')
Exemplo n.º 2
0
    def insert_periodo_data(self):
        nombre_periodo = Validacion.validar_texto('Ingrese el periodo escolar')
        fecha_desde = Validacion.validar_fecha_inicio(
            'Ingresar fecha de inicio del periodo escolar')
        fecha_hasta = Validacion.validar_fecha_fin(
            'Ingresar fecha de fin del periodo escolar')

        data = {
            'nombre_periodo': nombre_periodo,
            'fecha_desde': fecha_desde,
            'fecha_hasta': fecha_hasta
        }
        self.periodo.insert_periodo(data)
        print('Se creo con exito')
Exemplo n.º 3
0
 def ingresar_nombre_salon(self):
     while(True):
         texto=Validacion.validar_texto('Ingrese el nombre o parte del nombre a buscar')
         if (self.validacion_class.validar_nombresalon_correcto):
             return texto
         else:
             print('No se encontraron coincidencias')
Exemplo n.º 4
0
    def insert_curso_data(self):
        nombre = Validacion.validar_texto('Ingrese el nombre del Curso')

        data = {
            'nombre': nombre,
        }
        self.curso.insert_curso(data)
        print('Se creo con exito')
Exemplo n.º 5
0
 def insert_salon_data(self):
     nombre=Validacion.validar_texto('Ingrese el nombre del Curso')
             
     data={
         'nombre_salon':nombre,
     }
     self.salones.insert_salon(data)
     print('Se creo con exito') 
Exemplo n.º 6
0
    def update_alumno(self):

        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter = self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')
        nombre = Validacion.validar_texto('Ingrese el NUEVO nombre del Alumno')
        edad = Validacion.validar_edad('Ingresar la NUEVO edad del Alumno')
        correo = Validacion.validar_correo(
            'Ingresar el NUEVO Correo Electrónico del Alumno')
        values_to_update = {'nombres': nombre, 'edad': edad, 'correo': correo}

        self.alumno.update_alumno(values_to_update, conditions_filter)
        print('Se actualizo con exito')
Exemplo n.º 7
0
    def update_periodo(self):

        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter = self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')
        nombre_periodo = Validacion.validar_texto(
            'Ingrese el nuevo periodo escolar')
        fecha_desde = Validacion.validar_fecha_inicio(
            'Ingrese la nueva fecha de inicio del periodo')
        fecha_hasta = Validacion.validar_fecha_fin(
            'Ingrese la nueva fecha de fin del periodo')
        values_to_update = {
            'nombre_periodo': nombre_periodo,
            'fecha_desde': fecha_desde,
            'fecha_hasta': fecha_hasta
        }

        self.periodo.update_periodo(values_to_update, conditions_filter)
        print('Se actualizó con exito')
Exemplo n.º 8
0
    def update_salon(self):
        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter=self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')
        nombre=Validacion.validar_texto('Ingrese el NUEVO nombre del Curso')
        values_to_update={
            'nombre_salon':nombre,
        }
        

        self.salones.update_salon(values_to_update, conditions_filter)
        print('Se actualizo con exito')
Exemplo n.º 9
0
class SalonesController:
    def __init__(self):
        self.salones = Salones()
        self.validacion_class=Validacion()

    def list_salones(self):
        lista_salones = self.salones.get_salones_all('id_salon')
        texto=''
        for salon in lista_salones:
            texto+=f'''{salon[0]}  - {salon[1]} \n'''
        print (texto)
 
    def list_salones_condition(self):
        lista_salones=self.salones.get_salones_multiple_condition(self.valores_filtrar())
        texto=''
        for salon in lista_salones:
            texto+=f'''{salon[0]}  - {salon[1]} \n'''
        print (texto)

    def insert_salon_data(self):
        nombre=Validacion.validar_texto('Ingrese el nombre del Curso')
                
        data={
            'nombre_salon':nombre,
        }
        self.salones.insert_salon(data)
        print('Se creo con exito') 

    def update_salon(self):
        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter=self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')
        nombre=Validacion.validar_texto('Ingrese el NUEVO nombre del Curso')
        values_to_update={
            'nombre_salon':nombre,
        }
        

        self.salones.update_salon(values_to_update, conditions_filter)
        print('Se actualizo con exito')

    def delete_salon(self):
        print('''
                ingrese el ID del alumno que desea eliminar:
            \n''')
        self.salones.delete_salon(self.valores_filtrar())
        print('Se elimino con exito')

##############################################################################################
##############################################################################################
    def valores_filtrar(self):
        diccionario={}
        opcion_ID=self.opcion_filtrar('Desea Filtrar por ID del salon',"A")
        if (opcion_ID!=-1):
            diccionario['id_salon']=opcion_ID
            
        opcion_nombre=self.opcion_filtrar('Desea Filtrar por Nombre del Salon',"B")
        if (opcion_nombre!=-1):
            diccionario['nombre_salon']=opcion_nombre
        return diccionario
    
    def opcion_filtrar(self,comentario,valor):
        while(True):
            print(f'''
                   {comentario}?
                    1)Si
                    2)No
                \n''')
            opcionID = input('Ingresa el n° : ')
            if opcionID == '1':
                if(valor=='A'):
                    return self.ingresar_salon_id()
                if(valor=='B'):
                    return self.ingresar_nombre_salon()

            elif opcionID == '2':
                return -1
            else:
                print('No escogiste una opción valida')
    
    def ingresar_nombre_salon(self):
        while(True):
            texto=Validacion.validar_texto('Ingrese el nombre o parte del nombre a buscar')
            if (self.validacion_class.validar_nombresalon_correcto):
                return texto
            else:
                print('No se encontraron coincidencias')

    def ingresar_salon_id(self):
        while(True):
            try:
                while(True): 
                    opcion = int(input('Ingresa el ID del Salon: '))
                    if(self.validacion_class.validar_id_correcto_salon(opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')
Exemplo n.º 10
0
 def __init__(self):
     self.alumno = ModelAlumno()
     self.validacion_class = Validacion()
Exemplo n.º 11
0
class AlumnoController:
    def __init__(self):
        self.alumno = ModelAlumno()
        self.validacion_class = Validacion()

    def list_alumnos(self):
        alumnos = self.alumno.get_alumno_all('nombres')
        texto = ''
        for alumno in alumnos:
            texto += f'''{alumno[0]}  - {alumno[1]}   - {alumno[2]}   - {alumno[3]} \n'''
        print(texto)

    #def list_alumno_condition(self):
    #    id=input('Ingrese el ID a buscar: ')
    #    alumno_condition=self.alumno.get_alumno_one_condition({
    #        'alumno_id':id,
    #        })
    #    print (alumno_condition)

    def lista_alumno_multiple_conditions(self):
        alumno_multiple_condition = self.alumno.get_alumno_by_multiple_condition(
            self.valores_filtrar())
        texto = ''
        for alumno in alumno_multiple_condition:
            texto += f'''{alumno[0]}  - {alumno[1]}   - {alumno[2]}   - {alumno[3]} \n'''
        print(texto)

    def insert_alumno_data(self):
        nombre = Validacion.validar_texto('Ingrese el nombre del Alumno')
        edad = Validacion.validar_edad('Ingresar la edad del Alumno')
        correo = Validacion.validar_correo(
            'Ingresar el Correo Electrónico del Alumno')

        data = {'nombres': nombre, 'edad': edad, 'correo': correo}
        self.alumno.insert_alumno(data)
        print('Se creo con exito')

    def update_alumno(self):

        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter = self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')
        nombre = Validacion.validar_texto('Ingrese el NUEVO nombre del Alumno')
        edad = Validacion.validar_edad('Ingresar la NUEVO edad del Alumno')
        correo = Validacion.validar_correo(
            'Ingresar el NUEVO Correo Electrónico del Alumno')
        values_to_update = {'nombres': nombre, 'edad': edad, 'correo': correo}

        self.alumno.update_alumno(values_to_update, conditions_filter)
        print('Se actualizo con exito')

    def delete_alumno(self):
        print('''
                ingrese el ID del alumno que desea eliminar:
            \n''')
        self.alumno.delete_alumno(self.valores_filtrar())
        print('Se elimino con exito')

    def valores_filtrar(self):
        diccionario = {}
        opcion_ID = self.opcion_filtrar('Desea Filtrar por ID', "A")
        if (opcion_ID != -1):
            diccionario['alumno_id'] = opcion_ID

        opcion_nombre = self.opcion_filtrar('Desea Filtrar por Nombre', "B")
        if (opcion_nombre != -1):
            diccionario['nombres'] = opcion_nombre
        return diccionario

    def opcion_filtrar(self, comentario, valor):
        while (True):
            print(f'''
                   {comentario}?
                    1)Si
                    2)No
                \n''')
            opcionID = input('Ingresa el n° : ')
            if opcionID == '1':
                if (valor == 'A'):
                    return self.ingresar_id()
                if (valor == 'B'):
                    return self.ingresar_nombre()

            elif opcionID == '2':
                return -1
            else:
                print('No escogiste una opción valida')

    def ingresar_nombre(self):
        while (True):
            texto = Validacion.validar_texto(
                'Ingrese el nombre o parte del nombre a buscar')
            if (self.validacion_class.validar_nombre_correcto):
                return texto
            else:
                print('No se encontraron coincidencias')

    def ingresar_id(self):
        while (True):
            try:
                while (True):
                    opcion = int(input('Ingresa el ID del Alumno : '))
                    if (self.validacion_class.validar_id_correcto_alumno(
                            opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')
Exemplo n.º 12
0
class ProfesorCursoController:
    def __init__(self):
        self.profesor_curso = Model_Profesor_Curso()
        self.validacion_class = Validacion()

    def list_profesor_curso(self):
        profesor_curso = self.profesor_curso.get_profesor_curso_all(
            'id_profesor_curso')
        texto = ''
        for prof_cur in profesor_curso:
            texto += f'''{prof_cur[0]}  - {prof_cur[1]}   - {prof_cur[2]}\n'''
        print(texto)

    #def list_alumno_condition(self):
    #    id=input('Ingrese el ID a buscar: ')
    #    alumno_condition=self.alumno.get_alumno_one_condition({
    #        'alumno_id':id,
    #        })
    #    print (alumno_condition)

    def lista_profesor_curso_multiple_conditions(self):
        profesor_curso_multiple_condition = self.profesor_curso.get_profesor_curso_by_multiple_condition(
            self.valores_filtrar())
        texto = ''
        for prof_cur in profesor_curso_multiple_condition:
            texto += f'''{prof_cur[0]}  - {prof_cur[1]}   - {prof_cur[2]}\n'''
        print(texto)

    def insert_profesor_curso(self):
        id_profesor = self.ingresar_profesor_id()
        id_curso = self.ingresar_curso_id()

        data = {
            'id_profesor': id_profesor,
            'id_curso': id_curso,
        }
        self.profesor_curso.insert_profesor_curso(data)
        print('Se creo con exito')

    def update_profesor_curso(self):

        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter = self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')
        id_profesor = self.ingresar_profesor_id()
        id_curso = self.ingresar_curso_id()

        values_to_update = {
            'id_profesor': id_profesor,
            'id_curso': id_curso,
        }

        self.profesor_curso.update_profesor_curso(values_to_update,
                                                  conditions_filter)
        print('Se actualizo con exito')

    def delete_profesor_curso(self):
        print('''
                ingrese el ID del alumno que desea eliminar:
            \n''')
        self.profesor_curso.delete_profesor_curso(self.valores_filtrar())
        print('Se elimino con exito')

    def valores_filtrar(self):
        diccionario = {}
        opcion_ID = self.opcion_filtrar('Desea Filtrar por ID', "A")
        if (opcion_ID != -1):
            diccionario['id_profesor_curso'] = opcion_ID
        opcion_ID = self.opcion_filtrar('Desea Filtrar por Profesor', "B")
        if (opcion_ID != -1):
            diccionario['id_profesor'] = opcion_ID
        opcion_ID = self.opcion_filtrar('Desea Filtrar por Curso', "C")
        if (opcion_ID != -1):
            diccionario['id_curso'] = opcion_ID
        return diccionario

    def opcion_filtrar(self, comentario, valor):
        while (True):
            print(f'''
                   {comentario}?
                    1)Si
                    2)No
                \n''')
            opcionID = input('Ingresa el n° : ')
            if opcionID == '1':
                if (valor == 'A'):
                    return self.ingresar_profesor_curso_id()
                if (valor == 'B'):
                    return self.ingresar_profesor_id()
                if (valor == 'C'):
                    return self.ingresar_curso_id()

            elif opcionID == '2':
                return -1
            else:
                print('No escogiste una opción valida')

    def ingresar_nombre(self):
        while (True):
            texto = Validacion.validar_texto(
                'Ingrese el nombre o parte del nombre a buscar')
            if (self.validacion_class.validar_nombre_correcto):
                return texto
            else:
                print('No se encontraron coincidencias')

    def ingresar_profesor_curso_id(self):
        while (True):
            try:
                while (True):
                    opcion = int(
                        input(
                            'Ingresa el ID del registro profesor_curso que desea buscar : '
                        ))
                    if (self.validacion_class.
                            validar_id_correcto_profesor_curso(opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')

    def ingresar_profesor_id(self):
        while (True):
            try:
                while (True):
                    opcion = int(input('Ingresa el ID del Profesor: '))
                    if (self.validacion_class.validar_id_correcto_profesor(
                            opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')

    def ingresar_curso_id(self):
        while (True):
            try:
                while (True):
                    opcion = int(input('Ingresa el ID del Curso: '))
                    if (self.validacion_class.validar_id_correcto_curso(opcion)
                        ):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')
Exemplo n.º 13
0
 def __init__(self):
     self.periodo = ModelPeriodo()
     self.validacion_class = Validacion()
Exemplo n.º 14
0
class PeriodoController:
    def __init__(self):
        self.periodo = ModelPeriodo()
        self.validacion_class = Validacion()

    def list_periodos(self):
        Periodos = self.periodo.get_periodo_all('nombre_periodo')
        texto = ''
        for periodo in Periodos:
            texto += f'''{periodo[0]}  - {periodo[1]}   - {periodo[2]}   - {periodo[3]} \n'''
        print(texto)

    def lista_periodo_multiple_conditions(self):
        periodo_multiple_condition = self.periodo.get_periodo_by_multiple_condition(
            self.valores_filtrar())
        texto = ''
        for periodo in periodo_multiple_condition:
            texto += f'''{periodo[0]}  - {periodo[1]}   - {periodo[2]}   - {periodo[3]} \n'''
        print(texto)

    def insert_periodo_data(self):
        nombre_periodo = Validacion.validar_texto('Ingrese el periodo escolar')
        fecha_desde = Validacion.validar_fecha_inicio(
            'Ingresar fecha de inicio del periodo escolar')
        fecha_hasta = Validacion.validar_fecha_fin(
            'Ingresar fecha de fin del periodo escolar')

        data = {
            'nombre_periodo': nombre_periodo,
            'fecha_desde': fecha_desde,
            'fecha_hasta': fecha_hasta
        }
        self.periodo.insert_periodo(data)
        print('Se creo con exito')

    def update_periodo(self):

        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter = self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')
        nombre_periodo = Validacion.validar_texto(
            'Ingrese el nuevo periodo escolar')
        fecha_desde = Validacion.validar_fecha_inicio(
            'Ingrese la nueva fecha de inicio del periodo')
        fecha_hasta = Validacion.validar_fecha_fin(
            'Ingrese la nueva fecha de fin del periodo')
        values_to_update = {
            'nombre_periodo': nombre_periodo,
            'fecha_desde': fecha_desde,
            'fecha_hasta': fecha_hasta
        }

        self.periodo.update_periodo(values_to_update, conditions_filter)
        print('Se actualizó con exito')

    def delete_periodo(self):
        print('''
                ingrese el ID del periodo que desea eliminar:
            \n''')
        self.periodo.delete_periodo(self.valores_filtrar())
        print('Se eliminó con exito')

    def valores_filtrar(self):
        diccionario = {}
        opcion_ID = self.opcion_filtrar('Desea Filtrar por ID', "A")
        if (opcion_ID != -1):
            diccionario['id_periodo'] = opcion_ID

        opcion_periodo = self.opcion_filtrar(
            'Desea Filtrar por Nombre de periodo', "B")
        if (opcion_periodo != -1):
            diccionario['nombre_periodo'] = opcion_periodo
        return diccionario

    def opcion_filtrar(self, comentario, valor):
        while (True):
            print(f'''
                   {comentario}?
                    1)Si
                    2)No
                \n''')
            opcionID = input('Ingresa el n° : ')
            if opcionID == '1':
                if (valor == 'A'):
                    return self.ingresar_id()
                if (valor == 'B'):
                    return self.ingresar_nombre_periodo()

            elif opcionID == '2':
                return -1
            else:
                print('No escogiste una opción valida')

    def ingresar_nombre_periodo(self):
        while (True):
            texto = Validacion.validar_texto(
                'Ingrese el nombre del periodo o parte del nombre del periodo a buscar'
            )
            if (self.validacion_class.validar_periodo_correcto):
                return texto
            else:
                print('No se encontraron coincidencias')

    def ingresar_id(self):
        while (True):
            try:
                while (True):
                    opcion = int(input('Ingresa el ID del periodo escolar : '))
                    if (self.validacion_class.validar_id_correcto_periodo(
                            opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')
Exemplo n.º 15
0
class MallaNotas:
    def __init__(self):
        self.notas = Notas()
        self.validacion_class = Validacion()

    def list_nota(self):
        lista_notas = self.notas.get_nota_all('id_nota')
        texto = ''
        for nota in lista_notas:
            texto += f'''{nota[0]}  - {nota[1]}   - {nota[2]} - {nota[3]}\n'''
        print(texto)

    #def list_alumno_condition(self):
    #    id=input('Ingrese el ID a buscar: ')
    #    alumno_condition=self.alumno.get_alumno_one_condition({
    #        'alumno_id':id,
    #        })
    #    print (alumno_condition)

    def lista_nota_multiple_conditions(self):
        lista_notas = self.notas.get_nota_multiple_condition(
            self.valores_filtrar())
        texto = ''
        for nota in lista_notas:
            texto += f'''{nota[0]}  - {nota[1]}   - {nota[2]} - {nota[3]}\n'''
        print(texto)

    def insert_nota(self):
        id_alumno = self.ingresar_alumno_id()
        id_malla_curricular = self.ingresar_malla_curricular_id()
        nota = self.validacion_class.validar_nota()

        data = {
            'id_alumno': id_alumno,
            'id_malla': id_malla_curricular,
            'nota': nota
        }
        self.notas.insert_nota(data)
        print('Se creo con exito')

    def update_nota(self):

        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter = self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')

        id_alumno = self.ingresar_alumno_id()
        id_malla_curricular = self.ingresar_malla_curricular_id()
        nota = self.validacion_class.validar_nota()
        values_to_update = {
            'id_alumno': id_alumno,
            'id_malla': id_malla_curricular,
            'nota': nota
        }
        self.notas.update_nota(values_to_update, conditions_filter)
        print('Se actualizo con exito')

    def delete_nota(self):
        print('''
                ingrese el ID del alumno que desea eliminar:
            \n''')
        self.notas.delete_nota(self.valores_filtrar())
        print('Se elimino con exito')

    def valores_filtrar(self):
        diccionario = {}
        opcion_ID = self.opcion_filtrar(
            'Desea Filtrar por ID del registro de nota', "A")
        if (opcion_ID != -1):
            diccionario['id_nota'] = opcion_ID

        opcion_ID = self.opcion_filtrar('Desea Filtrar por id_alumno', "B")
        if (opcion_ID != -1):
            diccionario['id_alumno'] = opcion_ID

        opcion_ID = self.opcion_filtrar(
            'Desea Filtrar por id_malla_Curricular', "C")
        if (opcion_ID != -1):
            diccionario['id_malla'] = opcion_ID

        return diccionario

    def opcion_filtrar(self, comentario, valor):
        while (True):
            print(f'''
                   {comentario}?
                    1)Si
                    2)No
                \n''')
            opcionID = input('Ingresa el n° : ')
            if opcionID == '1':
                if (valor == 'A'):
                    return self.ingresar_nota_id()
                if (valor == 'B'):
                    return self.ingresar_alumno_id()
                if (valor == 'C'):
                    return self.ingresar_malla_curricular_id()

            elif opcionID == '2':
                return -1
            else:
                print('No escogiste una opción valida')

    def ingresar_malla_curricular_id(self):
        while (True):
            try:
                while (True):
                    opcion = int(
                        input('Ingresa el ID de la malla curricular : '))
                    if (self.validacion_class.
                            validar_id_correcto_malla_curricular(opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')

    def ingresar_alumno_id(self):
        while (True):
            try:
                while (True):
                    opcion = int(input('Ingresa el ID del Alumno : '))
                    if (self.validacion_class.validar_id_correcto_alumno(
                            opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')

    def ingresar_nota_id(self):
        while (True):
            try:
                while (True):
                    opcion = int(
                        input('Ingresa el ID del registro de nota : '))
                    if (self.validacion_class.validar_id_correcto_notas(opcion)
                        ):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')
Exemplo n.º 16
0
 def __init__(self):
     self.curso = ModelCurso()
     self.validacion_class = Validacion()
Exemplo n.º 17
0
 def __init__(self):
     self.salones = Salones()
     self.validacion_class=Validacion()
Exemplo n.º 18
0
 def __init__(self):
     self.malla_curricular=Model_Malla_Curricular()
     self.validacion_class=Validacion()
Exemplo n.º 19
0
 def __init__(self):
     self.profesor=ModelProfesor()
     self.validacion_class=Validacion()
Exemplo n.º 20
0
 def __init__(self):
     self.notas = Notas()
     self.validacion_class = Validacion()
Exemplo n.º 21
0
 def __init__(self):
     self.profesor_curso = Model_Profesor_Curso()
     self.validacion_class = Validacion()
Exemplo n.º 22
0
class MallaCurricularController:
    def __init__(self):
        self.malla_curricular=Model_Malla_Curricular()
        self.validacion_class=Validacion()

    def list_malla_curricular(self):
        lista_mallas_curriculares=self.malla_curricular.get_malla_curricular_all('id_malla')
        texto=''
        for malla_curricular in lista_mallas_curriculares:
            texto+=f'''{malla_curricular[0]}  - {malla_curricular[1]}   - {malla_curricular[2]} - {malla_curricular[3]}\n'''
        print (texto)

    #def list_alumno_condition(self):
    #    id=input('Ingrese el ID a buscar: ')
    #    alumno_condition=self.alumno.get_alumno_one_condition({
    #        'alumno_id':id,
    #        })
    #    print (alumno_condition)

    def lista_malla_curricular_multiple_conditions(self):
        lista_mallas_curriculares=self.malla_curricular.get_malla_curricular_by_multiple_condition(self.valores_filtrar())
        texto=''
        for malla_curricular in lista_mallas_curriculares:
            texto+=f'''{malla_curricular[0]}  - {malla_curricular[1]}   - {malla_curricular[2]} - {malla_curricular[3]}\n'''
        print (texto)

    def insert_malla_curricular(self):
        id_periodo=self.ingresar_periodo_id()
        id_salon=self.ingresar_salon_id()
        id_profeso_cursor=self.ingresar_profesor_curso_id()
        
        
        data={
            'id_periodo':id_periodo,
            'id_salon':id_salon,
            'id_profesor_curso':id_profeso_cursor,
            }
        self.malla_curricular.insert_malla_curricular(data)
        print('Se creo con exito')  

    def update_malla_curricular(self):
        
        print('''
                ingrese los campos que desea editar:
            \n''')
        conditions_filter=self.valores_filtrar()

        print('''
                ingrese los nuevos valores del registro a EDITAR:
            \n''')
        id_periodo=self.ingresar_periodo_id()
        id_salon=self.ingresar_salon_id()
        id_profeso_cursor=self.ingresar_profesor_curso_id()
        
        
        values_to_update={
            'id_periodo':id_periodo,
            'id_salon':id_salon,
            'id_profesor_curso':id_profeso_cursor,
            }
        

        self.malla_curricular.update_malla_curricular(values_to_update, conditions_filter)
        print('Se actualizo con exito')
        
    def delete_malla_curricular(self):
        print('''
                ingrese el ID del alumno que desea eliminar:
            \n''')
        self.malla_curricular.delete_malla_curricular(self.valores_filtrar())
        print('Se elimino con exito')
        
       
    def valores_filtrar(self):
        diccionario={}
        opcion_ID=self.opcion_filtrar('Desea Filtrar por ID de malla curricular',"A")
        if (opcion_ID!=-1):
            diccionario['id_malla']=opcion_ID

        opcion_ID=self.opcion_filtrar('Desea Filtrar por periodo',"B")
        if (opcion_ID!=-1):
            diccionario['id_periodo']=opcion_ID

        opcion_ID=self.opcion_filtrar('Desea Filtrar por Salon',"C")
        if (opcion_ID!=-1):
            diccionario['id_salon']=opcion_ID   
        
        opcion_ID=self.opcion_filtrar('Desea Filtrar por profesor_curso',"D")
        if (opcion_ID!=-1):
            diccionario['id_profesor_curso']=opcion_ID   
        
        return diccionario 
    
    def opcion_filtrar(self,comentario,valor):
        while(True):
            print(f'''
                   {comentario}?
                    1)Si
                    2)No
                \n''')
            opcionID = input('Ingresa el n° : ')
            if opcionID == '1':
                if(valor=='A'):
                    return self.ingresar_malla_curricular_id()
                if(valor=='B'):
                    return self.ingresar_periodo_id()
                if(valor=='C'):
                    return self.ingresar_salon_id()
                if(valor=='D'):
                    return self.ingresar_profesor_curso_id()

            elif opcionID == '2':
                return -1
            else:
                print('No escogiste una opción valida')
    
    def ingresar_profesor_curso_id(self):
        while(True):
            try:
                while(True): 
                    opcion = int(input('Ingresa el ID del registro profesor_curso que desea buscar : '))
                    if(self.validacion_class.validar_id_correcto_profesor_curso(opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')
    def ingresar_salon_id(self):
        while(True):
            try:
                while(True): 
                    opcion = int(input('Ingresa el ID del Salon: '))
                    if(self.validacion_class.validar_id_correcto_salon(opcion)):
                        return opcion
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')
    def ingresar_periodo_id(self):
        while(True):
            try:
                while(True): 
                    opcion = int(input('Ingresa el ID del periodo escolar : '))
                    if(self.validacion_class.validar_id_correcto_periodo(opcion)):
                        return opcion 
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')

    def ingresar_malla_curricular_id(self):
        while(True):
            try:
                while(True): 
                    opcion = int(input('Ingresa el ID de la malla curricular : '))
                    if(self.validacion_class.validar_id_correcto_malla_curricular(opcion)):
                        return opcion 
                    else:
                        print('ID ingresado no existe')
                break
            except ValueError:
                print('Error: ID ingresado invalido')