예제 #1
0
def registrarAlumnos():
    print("***REGISTRO DE ALUMNOS Y NOTAS***")
    #Número de alumnos a registrar
    peticion = "Ingrese número de alumnos a registrar: "
    tipoValidacion = 0
    numeroAlumnos = v.validarNumero(tipoValidacion, peticion)
    #Número de notas a registrar por alumno
    peticion = "Ingrese número de notas a registrar por alumno: "
    tipoValidacion = 0
    numeroNotas = v.validarNumero(tipoValidacion, peticion)
    #Registro de n alumnos
    for i in range(1, numeroAlumnos+1):
        print(f"Alumno nro. {i}: ")
        datosPersona = solicitarDatosPersona()
        nombre = datosPersona[0]
        DNI = datosPersona[1]
        codigo = f"A{DNI}"
        edad = datosPersona[2]
        #Notas
        notas = []
        for j in range(1, numeroNotas+1):
            peticion = f"Ingrese nota {j}: "
            tipoValidacion = 1
            notas.append(v.validarNumero(tipoValidacion, peticion))
        alumno = Alumno(codigo, nombre, DNI, edad, notas)
        nuevoAlumno = Colegio()
        nuevoAlumno.agregarPersona(alumno, "alumno")
예제 #2
0
def registrarAlumnos():
    #Numero de alumnos a registrar
    peticion = "Ingrese numero de alumnos a registrar:"
    tipoValidacion = 0
    numeroAlumnos = v.validarNumero(tipoValidacion,peticion)
    
    #Numero de notas a registrar
    peticion = "Ingrese numero de notas a registrar por alumno:"
    tipoValidacion = 0 
    numeroNotas = v.validarNumero(tipoValidacion,peticion)
    #Registrar n alumnos
    for i in range(1,numeroAlumnos+1):
        print(f"Alumno nro. {i}:")
        datosAlumno = solicitarDatosAlumno()
        nombre = datosAlumno[0]
        apellidos = datosAlumno[1]
        dni = datosAlumno[2]
        edad = datosAlumno[3]
        notas = []
        for j in range(1,numeroNotas+1):
            peticion = f"Ingrese la nota {j}:"
            tipoValidacion=1
            notas.append(v.validarNumero(tipoValidacion,peticion))
        alumnos = Alumnos(nombre, apellidos,dni,edad,notas)
        nuevoAlumno = crudAlumnos()
        nuevoAlumno.agregarAlumno(alumnos)
예제 #3
0
def registrarDocentes():
    print("***REGISTRO DE DOCENTES***")
    #Número de docentes a registrar
    peticion = "Ingrese número de docentes a registrar: "
    tipoValidacion = 0
    numeroDocentes = v.validarNumero(tipoValidacion, peticion)

    #Obtener el último código de docente ingresado
    ultimoCodigoDocente = 0
    try:
        fichero = open(archivoDocente, 'r')
        ultimoCodigoDocente = len(fichero.readlines())
    except Exception as e:
        print(f"Error: {str(e)}")
    else:
        fichero.close()

    #Registro de n docentes
    for i in range(1, numeroDocentes + 1):
        #Codigo generado de docente
        codigo = f"D{ultimoCodigoDocente+1}"
        print(f"Ingreso nro. {i}: Docente {codigo}")
        datosPersona = solicitarDatosPersona()
        nombre = datosPersona[0]
        DNI = datosPersona[1]
        edad = datosPersona[2]
        docente = Docente(codigo, nombre, DNI, edad)
        archivo = Archivo(archivoDocente=archivoDocente)
        archivo.agregarDocente(docente)
        ultimoCodigoDocente += 1
def pedirFactura():
    
    if (pr.cantidadProductos() == 0):
        print "No hay ningun producto en el sistema."
        print "No se puede generar una factura."
        return
    
    
    print "Introduzca la informacion del cliente."
    idCliente = None
    
    while True:
        idCliente = int(validacion.validarNumero(' Cedula: '))        
        if (not mc.existeCliente(idCliente)):
            print " El cliente no se encuentra en el sistema."
        else:   
            break  
    
    mc.listarProductos(idCliente)
    print "\nIntroduzca la informacion del producto."
    
    while True:
        numSerie = validacion.validarInput(' Numero de Serie: ')        
        if (not mc.poseeprodCliente(idCliente,numSerie)):
            print " El producto no corresponde a dicho cliente."
            continue
        
        resultado = afiliaciones.ConsultarPlanesPostpago(numSerie)
        
        if len(afiliaciones.ConsultarPlanesPostpago(numSerie)) > 0 or len(afiliaciones.ConsultarPlanesPrepago(numSerie)) > 0:
            obs = pedirObservaciones()
            return Factura(idCliente, numSerie, obs)
        else:
            print "El producto no tiene planes asociados"
            return Null
def consultaClientes():
    flag = True
    
    #Se verifica que la base de datos no este vacia
    if (numeroClientes() == 0):
        print "ERROR: No se puede consultar al cliente. La base de datos esta vacia.\n"
    else:
        idCliente = validacion.validarNumero('Introduzca la cedula del cliente: ')
        #Se verifica que la cedula introducida exista
        while flag:    
            if (existeCliente(idCliente)):
                cl = busquedaCliente(idCliente)
                print str(cl)
                flag = False
            else:
                print "\nERROR: La cedula introducida no se encuentra en el sistema. Intente de nuevo.\n"
                idCliente = validacion.validarNumero('Introduzca la cedula del cliente: ')
예제 #6
0
def solicitarDatosPersona():
    nombre = input("Ingrese nombre completo: ")
    DNI = input("Ingrese DNI: ")
    peticion = "Ingrese edad: "
    tipoValidacion = 0
    edad = v.validarNumero(tipoValidacion, peticion)
    datos = [nombre, DNI, edad]
    return datos
예제 #7
0
def solicitarDatosAlumno():
    nombre = input ("Ingrese su nombre:")
    apellidos = input ("Ingrese sus apellidos:")
    dni = input ("Ingrese su numero de DNI:")
    peticion = "Ingrese su edad:"
    tipoValidacion=0
    edad = v.validarNumero(tipoValidacion,peticion)
    datos = [nombre, apellidos,dni,edad]
    return datos
예제 #8
0
def validarRIF():
    
    while True:
        x = int(validacion.validarNumero('RIF: '))
        if (existeEmpresa(x)):
            rif = str(x)
            break
        else:
            print "\n Error: La empresa no existe"
    return rif
예제 #9
0
def consultaClientes():
    flag = True

    #Se verifica que la base de datos no este vacia
    if (numeroClientes() == 0):
        print "ERROR: No se puede consultar al cliente. La base de datos esta vacia.\n"
    else:
        idCliente = validacion.validarNumero(
            'Introduzca la cedula del cliente: ')
        #Se verifica que la cedula introducida exista
        while flag:
            if (existeCliente(idCliente)):
                cl = busquedaCliente(idCliente)
                print str(cl)
                flag = False
            else:
                print "\nERROR: La cedula introducida no se encuentra en el sistema. Intente de nuevo.\n"
                idCliente = validacion.validarNumero(
                    'Introduzca la cedula del cliente: ')
예제 #10
0
def validarCedula():
    #Cedula
    cedula = ''
    while True:
            x = int(validacion.validarNumero('cedula: '))
            if (existeCliente(x)):
                cedula = str(x)
                break
            else:
                print "\n Error: No existe un cliente con dicha cedula"
    return cedula
예제 #11
0
def registrarAlumnos():
    print("***REGISTRO DE ALUMNOS Y NOTAS***")
    #Número de alumnos a registrar
    peticion = "Ingrese número de alumnos a registrar: "
    tipoValidacion = 0
    numeroAlumnos = v.validarNumero(tipoValidacion, peticion)
    #Número de notas a registrar por alumno
    peticion = "Ingrese número de notas a registrar por alumno: "
    tipoValidacion = 0
    numeroNotas = v.validarNumero(tipoValidacion, peticion)

    #Obtener el último código de alumno ingresado
    ultimoCodigoAlumno = 0
    try:
        fichero = open(archivoAlumno, 'r')
        ultimoCodigoAlumno = len(fichero.readlines())
    except Exception as e:
        print(f"Error: {str(e)}")
    else:
        fichero.close()

    #Registro de n alumnos
    for i in range(1, numeroAlumnos + 1):
        codigo = f"A{ultimoCodigoAlumno+1}"
        print(f"Ingreso nro. {i}: Alumno {codigo}")
        datosPersona = solicitarDatosPersona()
        nombre = datosPersona[0]
        DNI = datosPersona[1]
        edad = datosPersona[2]
        #Notas
        notas = []
        for i in range(1, numeroNotas + 1):
            peticion = f"Ingrese nota {i}: "
            tipoValidacion = 1
            notas.append(v.validarNumero(tipoValidacion, peticion))
        alumno = Alumno(codigo, nombre, DNI, edad, notas)
        archivo = Archivo(archivoAlumno=archivoAlumno)
        archivo.agregarAlumno(alumno)
        ultimoCodigoAlumno += 1
예제 #12
0
def registrarDocentes():
    print("***REGISTRO DE DOCENTES***")
    #Número de docentes a registrar
    peticion = "Ingrese número de docentes a registrar: "
    tipoValidacion = 0
    numeroDocentes = v.validarNumero(tipoValidacion, peticion)
    #Registro de n docentes
    for i in range(1, numeroDocentes+1):       
        print(f"Docente nro. {i}")
        datosPersona = solicitarDatosPersona()
        nombre = datosPersona[0]
        DNI = datosPersona[1]
        codigo = f"D{DNI}"
        edad = datosPersona[2]
        docente = Docente(codigo, nombre, DNI, edad)
        nuevoDocente = Colegio()
        nuevoDocente.agregarPersona(docente, "docente")
예제 #13
0
def datosCliente():
    print("Introduzca los siguientes datos: ")

    # Verifica que la cedula no se encuentre en el sistema
    while True:

        x = int(validacion.validarNumero('    Cedula: '))
        if (existeCliente(x)):
            print "\nERROR: La cedula introducida ya se encuentra en el sistema. Intente de nuevo."
        else:
            ci = str(x)
            break

    # Verifica que la entrada del nombre sea valida.
    nombre = validacion.validarInput('    Nombre: ')

    # Verifica que la entrada de la direccion sea valida.
    direccion = validacion.validarInput('    Direccion: ')
    return (ci, nombre, direccion)
def datosCliente():
    print("Introduzca los siguientes datos: ")
    
    # Verifica que la cedula no se encuentre en el sistema        
    while True:

        x = int(validacion.validarNumero('    Cedula: '))        
        if (existeCliente(x)):
            print "\nERROR: La cedula introducida ya se encuentra en el sistema. Intente de nuevo."
        else:   
            ci = str(x)
            break
    
    # Verifica que la entrada del nombre sea valida.
    nombre = validacion.validarInput('    Nombre: ')
    
    # Verifica que la entrada de la direccion sea valida.
    direccion = validacion.validarInput('    Direccion: ')
    return (ci,nombre,direccion)
예제 #15
0
def pedirFactura():
    
    if (pr.cantidadProductos() == 0):
        print "No hay ningun producto en el sistema."
        print "No se puede generar una factura."
        return
    
    
    print "Introduzca la informacion del cliente."
    idCliente = None
    
    while True:
        idCliente = int(validacion.validarNumero(' Cedula: '))        
        if (not mc.existeCliente(idCliente)):
            print " El cliente no se encuentra en el sistema."
        else:   
            if (not Afiliaciones.verificarCliente(idCliente)):
                print " El cliente no posee productos postpago en el sistema."
            else:
                break  
    
    mc.listarProductos(idCliente)
    print "\nIntroduzca la informacion del producto."
    
    while True:
        numSerie = validacion.validarInput(' Numero de Serie: ')        
        if (not mc.poseeprodCliente(idCliente,numSerie)):
            print " El producto no corresponde a dicho cliente."
            continue
        
        resultado = Afiliaciones.ConsultarPlanesPostpago(numSerie)
        
        if not resultado or len(resultado) == 0:
            print "Este producto no está afiliado a un plan postpago."
        else:
            break
        
            
        
    print "Se procedera a la generacion de la factura."
    
    
    return Factura(idCliente,numSerie)
예제 #16
0
def pedirFactura():

    if (pr.cantidadProductos() == 0):
        print "No hay ningun producto en el sistema."
        print "No se puede generar una factura."
        return

    print "Introduzca la informacion del cliente."
    idCliente = None

    while True:
        idCliente = int(validacion.validarNumero(' Cedula: '))
        if (not mc.existeCliente(idCliente)):
            print " El cliente no se encuentra en el sistema."
        else:
            if (not Afiliaciones.verificarCliente(idCliente)):
                print " El cliente no posee productos postpago en el sistema."
            else:
                break

    mc.listarProductos(idCliente)
    print "\nIntroduzca la informacion del producto."

    while True:
        numSerie = validacion.validarInput(' Numero de Serie: ')
        if (not mc.poseeprodCliente(idCliente, numSerie)):
            print " El producto no corresponde a dicho cliente."
            continue

        resultado = Afiliaciones.ConsultarPlanesPostpago(numSerie)

        if not resultado or len(resultado) == 0:
            print "Este producto no está afiliado a un plan postpago."
        else:
            break

    print "Se procedera a la generacion de la factura."

    return Factura(idCliente, numSerie)
예제 #17
0
def main():
    print("BIENVENIDOS")

    #Menu de las consultas
    flag = True

    while flag:
        print "\n---Menu---"
        print "\nElija el modulo de su preferencia: "
        print "   1.- Cliente."
        print "   2.- Producto."
        print "   3.- Afiliaciones."
        print "   4.- Consumos."
        print "   5.- Generacion de facturas."
        print "   6.- Salir"

        op = int(validacion.validarNumero('Opcion: '))

        if op == 1:

            flag1 = True
            while flag1:
                print "\nMODULO CLIENTE \n"
                print "   1.- Registrar un cliente."
                print "   2.- Consultar un cliente."
                print "   3.- Regresar al menu anterior."

                op1 = int(validacion.validarNumero('Opcion: '))
                if op1 == 1:
                    print "\n1.- Registrar un cliente."
                    moduloCliente.registroCliente()
                elif op1 == 2:
                    print "\n2.- Consultar un cliente."

                    print "Mostrando todos los clientes: "
                    moduloCliente.listarClientes()

                    moduloCliente.consultaClientes()
                elif op1 == 3:
                    print "\n3.- Regresar al menu anterior."
                    flag1 = False
                elif (op1 > 3 or op1 <= 0):
                    print "\nERROR: La opcion no es valida."

        elif op == 2:
            flag2 = True
            while flag2:
                print "\nMODULO PRODUCTO\n"
                print "   1.- Registrar un producto."
                print "   2.- Consultar un producto."
                print "   3.- Regresar al menu anterior."

                op2 = int(validacion.validarNumero('Opcion: '))
                if op2 == 1:
                    print "\n1.- Registrar un producto."
                    productos.nuevoProducto()
                elif op2 == 2:
                    print "\n2.- Consultar un producto."
                    serie = productos.validarSerie()
                    print str(productos.obtenerProducto(serie))
                elif op2 == 3:
                    print "\n3.- Regresar al menu anterior."
                    flag2 = False
                elif (op2 > 3 or op2 <= 0):
                    print "\nERROR: La opcion no es valida."
        elif op == 3:
            flag3 = True

            while flag3:
                print "\nMODULO AFILIACIONES\n"
                print "   1.- Afiliar un producto."
                print "   2.- Desafiliar un producto."
                print "   3.- Consultar planes de un producto."
                print "   4.- Regresar al menu anterior."

                op3 = int(validacion.validarNumero('Opcion: '))

                print "Mostrando todos los productos disponibles: "
                productos.listarProductos()

                if op3 == 1:
                    producto31 = productos.validarSerie()
                    flag31 = True

                    while flag31:
                        print "\n1.- Afiliar un producto a un :"
                        print "   1.- Plan."
                        print "   2.- Paquete de Servicios."
                        print "   3.- Regresar."

                        op31 = int(validacion.validarNumero('Opcion: '))
                        if op31 == 1:

                            print "\n1.- Plan."

                            print "Mostrando todos los planes disponibles: "
                            Afiliaciones.impPlanes()

                            cod_plan = int(
                                validacion.validarNumero(
                                    'Introduzca el codigo del plan: '))
                            Afiliacion = Afiliaciones.Afiliaciones(
                                producto31, cod_plan)
                            Afiliacion.CrearAfiliacion()
                            flag31 = False

                        elif op31 == 2:
                            print "\n2.- Paquete de Servicios."

                            print "Mostrando todos los paquetes de servicios disponibles: "
                            Afiliaciones.impPaquetes()

                            cod_ser = int(
                                validacion.validarNumero(
                                    'Introduzca el codigo del paquete de servicio: '
                                ))
                            Afiliacion = Afiliaciones.Afiliaciones(
                                producto31, cod_ser)
                            Afiliacion.CrearContratacion()
                            flag31 = False

                        elif op31 == 3:
                            print "\n3.- Regresar."
                            flag31 = False

                        elif (op31 > 3 or op31 <= 0):
                            print "\nERROR: La opcion no es valida."

                elif op3 == 2:

                    flag32 = True
                    producto32 = productos.validarSerie()
                    while flag32:
                        print "\n2.- Desafiliar un producto a un: ."
                        print "   1.- Plan."
                        print "   2.- Paquete de Servicios."
                        print "   3.- Regresar."

                        op32 = int(validacion.validarNumero('Opcion: '))
                        if op32 == 1:
                            print "\n1.- Plan."

                            print "Mostrando todos los planes disponibles: "
                            Afiliaciones.impPlanes()

                            cod_plan = int(
                                validacion.validarNumero(
                                    'Introduzca el codigo del plan: '))
                            Afiliacion = Afiliaciones.Afiliaciones(
                                producto32, cod_plan)
                            Afiliacion.DesafiliarProducto()

                        elif op32 == 2:
                            print "\n2.- Paquete de Servicios."

                            print "Mostrando todos los paquetes de servicios disponibles: "
                            Afiliaciones.impPaquetes()

                            cod_ser = int(
                                validacion.validarNumero(
                                    'Introduzca el codigo del paquete de servicio: '
                                ))
                            Afiliacion = Afiliaciones.Afiliaciones(
                                producto32, cod_ser)
                            Afiliacion.desafiliarContratacion()

                        elif op32 == 3:
                            print "\n3.- Regresar."
                            flag32 = False
                        elif (op32 > 3 or op32 <= 0):
                            print "\nERROR: La opcion no es valida."

                elif op3 == 3:
                    print "\n3.- Consultar planes de un producto."
                    producto33 = productos.validarSerie()
                    Afiliacion = Afiliaciones.Afiliaciones(producto33, 1)
                    Afiliacion.ConsultarPlanes()

                elif op3 == 4:
                    print "\n4.- Regresar al menu anterior."
                    flag3 = False

                elif (op3 > 4 or op3 <= 0):
                    print "\nERROR: La opcion no es valida."

        elif op == 4:

            flag4 = True
            while flag4:
                print "\nMODULO CONSUMOS\n"
                print "   1.- Registrar un consumo."
                print "   2.- Consultar consumos de un producto."
                print "   3.- Regresar al menu anterior."

                op4 = int(validacion.validarNumero('Opcion: '))
                if op4 == 1:
                    print "\n1.- Registrar un consumo."

                    print "Mostrando todos los productos disponibles: "
                    productos.listarProductos()

                    consumos.crearConsumoInteractivo()
                elif op4 == 2:
                    print "\n2.- Consultar consumos de un producto."

                    print "Mostrando todos los productos disponibles: "
                    productos.listarProductos()
                    consumos.consumosProducto()
                elif op4 == 3:
                    print "\n3.- Regresar al menu anterior."
                    flag4 = False
                elif (op4 > 3 or op4 <= 0):
                    print "\nERROR: La opcion no es valida."

        elif op == 5:
            flag5 = True
            while flag5:
                print "\nMODULO GENERACION DE FACTURAS"
                print "   1.- Generar la factura de un cliente."
                print "   2.- Regresar al menu anterior."
                op5 = int(validacion.validarNumero('Opcion: '))
                if op5 == 1:
                    print "\n1.- Generar la factura de un cliente."
                    #Genera la factura
                    fact = Factura.pedirFactura()
                    if fact:
                        print fact

                elif op5 == 2:
                    print "\n2.- Regresar al menu anterior."
                    flag5 = False
                elif (op5 > 2 or op5 <= 0):
                    print "\nERROR: La opcion no es valida."

        elif op == 6:
            print "\nHasta luego."
            flag = False
        elif (op > 6 or op <= 0):
            print "\nERROR: La opcion no es valida."
예제 #18
0
def main():
    print("BIENVENIDOS")
   
    #Menu de las consultas
    flag = True   

    while flag:
        print "\n---Menu---"
        print "\nElija el modulo de su preferencia: "
        print "   1.- Cliente."
        print "   2.- Producto."
        print "   3.- Afiliaciones."
        print "   4.- Consumos."
        print "   5.- Generacion de facturas."
        print "   6.- Salir"
        
        op = int(validacion.validarNumero('Opcion: '))
        
        ## Opcion de Cliente
        if op == 1:
            
            flag1 = True
            while flag1:
                print "\nMODULO CLIENTE \n"                    
                print "   1.- Registrar un cliente."
                print "   2.- Consultar un cliente."
                print "   3.- Regresar al menu anterior."
        
                op1 = int(validacion.validarNumero('Opcion: '))
                if op1 == 1:
                    print "\n1.- Registrar un cliente."
                    moduloCliente.registroCliente()
                elif op1 == 2:     
                    print "\n2.- Consultar un cliente."
                    
                    print "\nMostrando todos los clientes: "
                    moduloCliente.listarClientes()
                    
                    moduloCliente.consultaClientes()         
                elif op1 == 3: 
                    print "\n3.- Regresar al menu anterior."
                    flag1 = False
                elif (op1 > 3 or op1 <= 0):
                    print "\nERROR: La opcion no es valida."
                    
        ## Opcion de Producto            
        elif op == 2:     
            flag2 = True
            while flag2:
                print "\nMODULO PRODUCTO\n"                    
                print "   1.- Registrar un producto."
                print "   2.- Consultar un producto."
                print "   3.- Regresar al menu anterior."
        
                op2 = int(validacion.validarNumero('Opcion: '))
                if op2 == 1:
                    print "\n1.- Registrar un producto."
                    productos.nuevoProducto()
                elif op2 == 2:     
                    print "\n2.- Consultar un producto."
                    serie = productos.validarSerie()                    
                    print str(productos.obtenerProducto(serie))
                elif op2 == 3: 
                    print "\n3.- Regresar al menu anterior."
                    flag2 = False
                elif (op2 > 3 or op2 <= 0):
                    print "\nERROR: La opcion no es valida."
                    
        ## Opcion de Afiliaciones            
        elif op == 3:    
            flag3 = True

            while flag3:
                print "\nMODULO AFILIACIONES\n"                   
                print "   1.- Afiliar un producto."
                print "   2.- Desafiliar un producto."
                print "   3.- Consultar planes de un producto."
                print "   4.- Regresar al menu anterior."     
                           
                op3 = int(validacion.validarNumero('Opcion: '))
                
                print "\nMostrando todos los productos disponibles: "
                productos.listarProductos()

                ## Opcion de Afiliacion
                if op3 == 1:
                    producto31 = productos.validarSerie()   
                    flag31 = True                                       
                    
                    while flag31: 
                        print "\n1.- Afiliar un producto a un :"                   
                        print "   1.- Plan."
                        print "   2.- Paquete de Servicios."
                        print "   3.- Regresar."
                        
                        op31 = int(validacion.validarNumero('Opcion: '))
                        
                        ## Opcion para afiliar un plan
                        if op31 == 1:                            
                            print "\n1.- Plan."
                             
                            if afiliaciones.impPlanes():
                                print "\nMostrando todos los planes disponibles: "                                
                                cod_plan = int(validacion.validarNumero('Introduzca el codigo del plan: '))
                                Afiliacion = afiliaciones.Afiliaciones(producto31,cod_plan)                            
                                Afiliacion.CrearAfiliacion()
                            flag31 = False
                            
                        ## Opcion para afiliar un paquete de servicios
                        elif op31 == 2:     
                            print "\n2.- Paquete de Servicios."
                            
                            #Verifica que el producto tenga asociado un plan
                            if productos.productoTienePlan(producto31):
                                continua = True
                                
                                #Verifica que pueda contratar algun servicio
                                numPaquetes = afiliaciones.numPaquetesAContratar(producto31)
                                p = serviciosadicionales.Producto(producto31);
                                
                                while ((numPaquetes > 0) and (continua)): 
                                                                    
                                    #Muestra los paquetes que el producto puede contratar
                                    print "\nMostrando todos los paquetes de servicios disponibles: "
                                    afiliaciones.paquetesAContratar(producto31)
                                    
                                         
                                    #Elige uno de los paquetes 
                                    while True: 
                                        cod_ser = int(validacion.validarNumero('\nIntroduzca el codigo del paquete de servicio: '))
                                        #Contrata el paquete
                                        if (not afiliaciones.puedeContratar(p.get_id(), cod_ser)):
                                            print "\nERROR: La opcion no es valida."
                                            continue     
                                        elif cod_ser == 4001:
                                            p = serviciosadicionales.MensajesDeTexto(p)
                                            break
                                        elif cod_ser == 4002:
                                            p = serviciosadicionales.SegundosMOCEL(p)
                                            break
                                        elif cod_ser == 4003:
                                            p = serviciosadicionales.SegundosOtrasOperadoras(p)
                                            break
                                        elif cod_ser == 4004:
                                            p = serviciosadicionales.MegabytesDeNavegacion(p)
                                            break
                                        else:
                                            print "\nERROR: La opcion no es valida."                                   


                                    #Procede a afiliar el producto.
                                    af = afiliaciones.Afiliaciones(p.get_id(),p.get_codigo())
                                    af.CrearContratacion()

                                    #Actualiza la cantidad de paquetes disponibles
                                    numPaquetes = afiliaciones.numPaquetesAContratar(producto31)   
                                    
                                    #Muestra la informacion actual del producto
                                    print "\nSu producto ahora posee la siguiente informacion: "
                                    print p

                                    #Verifica si se desea seguir afiliando paquetes
                                    while True: 
                                        x = validacion.validarInput('\nDesea seguir afiliando? (s/n): ')
                                        if x == 's':
                                            break
                                        elif x == 'n':      
                                            continua = False
                                            break                                            
                                        else:
                                            print "\nERROR: La opcion no es valida."
                                
                                if (afiliaciones.numPaquetesAContratar(producto31) == 0):
                                    print "\nYa ha contratado todos los paquetes de servicios."
                                                                        
                            else:
                                print "\nEl producto no esta afiliado a un plan; por lo que no se puede afiliar un paquete de servicios."
                            
                            flag31 = False
                              
                        ## Opcion para regresar al menu de Afiliaciones
                        elif op31 == 3: 
                            print "\n3.- Regresar."                     
                            flag31 = False
                            
                        elif (op31 > 3 or op31 <= 0):
                            print "\nERROR: La opcion no es valida."    
                            
                ## Opcion para desafiliar un producto
                elif op3 == 2:     
                    
                    flag32 = True
                    producto32 = productos.validarSerie()  
                    while flag32:       
                        print "\n2.- Desafiliar."             
                        print "   1.- Desafiliar un producto de su plan asociado."
                        print "   2.- Regresar."
                
                        op32 = int(validacion.validarNumero('Opcion: '))
                        
                        ## Opcion desafiliar un producto de su plan
                        if op32 == 1:
                            print "\nDesafiliar un producto de su plan asociado"
                            
                            Afiliacion = afiliaciones.Afiliaciones(producto32,0)                            
                            codigo_plan = Afiliacion.ConsultarPlanes()
                            if codigo_plan != None:

                                flag321 = True                                
                                while flag321:
                                    print "\nDesea desafiliar el producto %s del plan de codigo %s?"%(producto32,codigo_plan)
                                    print "\nATENCIÓN: Esto hará que se eliminen las contrataciones de paquetes y servicios adicionales del produco"
                                    op321 = validacion.validarInput('(y/n)?')                                    
                                    if op321 == 'y' or op321 == 'Y':
                                        Afiliacion = afiliaciones.Afiliaciones(producto32,codigo_plan)
                                        Afiliacion.DesafiliarProducto()
                                        print "\nSe ha eliminado la afiliacion del producto %s con el plan %s"%(producto32,codigo_plan)
                                        Afiliacion.EliminarContrataciones()
                                        flag321 = False
                                        
                                    elif op321 == 'n' or op321 == 'N':
                                        print "\nSe ha cancelado la desafiliacion"
                                        flag321 = False
                                    
                                    else:
                                        print "\nERROR: La opcion no es valida."
                                        
                            else:
                                print "\nERROR: No puede desafiliar si el producto no tiene un plan asociado"
   
                        ## Opcion regresar al menu de afiliaciones
                        elif op32 == 2: 
                            print "\n3.- Regresar."
                            flag32 = False
                        elif (op32 > 2 or op32 <= 0):
                            print "\nERROR: La opcion no es valida."
                            
                ## Opcion consultar planes y paquetes de un producto         
                elif op3 == 3: 
                    print "\n3.- Consultar plan/paquetes de un producto."
                    producto33 = productos.validarSerie()
                    Afiliacion = afiliaciones.Afiliaciones(producto33,1) 
                    Afiliacion.ConsultarPlanes()

                ## Opcion volver al menu anterior
                elif op3 == 4: 
                    print "\n4.- Regresar al menu anterior."                    
                    flag3 = False 
  
                elif (op3 > 4 or op3 <= 0):
                    print "\nERROR: La opcion no es valida."

        ## Opcion de Consumos 
        elif op == 4:   
            
            flag4 = True
            while flag4:    
                print "\nMODULO CONSUMOS\n"                
                print "   1.- Registrar un consumo."
                print "   2.- Consultar consumos de un producto."
                print "   3.- Regresar al menu anterior."
        
                op4 = int(validacion.validarNumero('Opcion: '))
                if op4 == 1:
                    print "\n1.- Registrar un consumo."
                    
                    print "\nMostrando todos los productos disponibles: "
                    productos.listarProductos()
            
                    gestionarConsumos.crearConsumoInteractivo()
                elif op4 == 2:     
                    print "\n2.- Consultar consumos de un producto."   
                    
                    print "\nMostrando todos los productos disponibles: "
                    productos.listarProductos()
                    gestionarConsumos.consumosProducto()
                elif op4 == 3: 
                    print "\n3.- Regresar al menu anterior."
                    flag4 = False
                elif (op4 > 3 or op4 <= 0):
                    print "\nERROR: La opcion no es valida."
       
        ## Opcion de generacion de facturas
        elif op == 5:   
            flag5 = True
            while flag5:      
                print "\nMODULO GENERACION DE FACTURAS"              
                print "   1.- Generar la factura de un cliente."
                print "   2.- Regresar al menu anterior."        
                op5 = int(validacion.validarNumero('Opcion: '))
                if op5 == 1:                    
                    print "\n1.- Generar la factura de un cliente."  
                    #Genera la factura
                    fact = gestionarFactura.pedirFactura()
                    if fact:
                        print fact
                   
                elif op5 == 2: 
                    print "\n2.- Regresar al menu anterior."
                    flag5 = False
                elif (op5 > 2 or op5 <= 0):
                    print "\nERROR: La opcion no es valida."  
        
        ## Opcion salir
        elif op == 6: 
            print "\nHasta luego."
            flag = False
        elif (op > 6 or op <= 0):
            print "\nERROR: La opcion no es valida."
예제 #19
0
def main():
    print("BIENVENIDOS")
   
    #Menu de las consultas
    flag = True   

    while flag:
        print "\n---Menu---"
        print "\nElija el modulo de su preferencia: "
        print "   1.- Cliente."
        print "   2.- Producto."
        print "   3.- Afiliaciones."
        print "   4.- Consumos."
        print "   5.- Generacion de facturas."
        print "   6.- Salir"
        
        op = int(validacion.validarNumero('Opcion: '))
        
        if op == 1:
            
            flag1 = True
            while flag1:
                print "\nMODULO CLIENTE \n"                    
                print "   1.- Registrar un cliente."
                print "   2.- Consultar un cliente."
                print "   3.- Regresar al menu anterior."
        
                op1 = int(validacion.validarNumero('Opcion: '))
                if op1 == 1:
                    print "\n1.- Registrar un cliente."
                    moduloCliente.registroCliente()
                elif op1 == 2:     
                    print "\n2.- Consultar un cliente."
                    
                    print "Mostrando todos los clientes: "
                    moduloCliente.listarClientes()
                    
                    moduloCliente.consultaClientes()         
                elif op1 == 3: 
                    print "\n3.- Regresar al menu anterior."
                    flag1 = False
                elif (op1 > 3 or op1 <= 0):
                    print "\nERROR: La opcion no es valida."
                    
        elif op == 2:     
            flag2 = True
            while flag2:
                print "\nMODULO PRODUCTO\n"                    
                print "   1.- Registrar un producto."
                print "   2.- Consultar un producto."
                print "   3.- Regresar al menu anterior."
        
                op2 = int(validacion.validarNumero('Opcion: '))
                if op2 == 1:
                    print "\n1.- Registrar un producto."
                    productos.nuevoProducto()
                elif op2 == 2:     
                    print "\n2.- Consultar un producto."
                    serie = productos.validarSerie()                    
                    print str(productos.obtenerProducto(serie))
                elif op2 == 3: 
                    print "\n3.- Regresar al menu anterior."
                    flag2 = False
                elif (op2 > 3 or op2 <= 0):
                    print "\nERROR: La opcion no es valida."
        elif op == 3:    
            flag3 = True

            while flag3:
                print "\nMODULO AFILIACIONES\n"                   
                print "   1.- Afiliar un producto."
                print "   2.- Desafiliar un producto."
                print "   3.- Consultar planes de un producto."
                print "   4.- Regresar al menu anterior."     
                           
                op3 = int(validacion.validarNumero('Opcion: '))
                
                print "Mostrando todos los productos disponibles: "
                productos.listarProductos()
                
                if op3 == 1:
                    producto31 = productos.validarSerie()   
                    flag31 = True                                       
                    
                    while flag31: 
                        print "\n1.- Afiliar un producto a un :"                   
                        print "   1.- Plan."
                        print "   2.- Paquete de Servicios."
                        print "   3.- Regresar."
                
                        op31 = int(validacion.validarNumero('Opcion: '))
                        if op31 == 1:
                            
                            print "\n1.- Plan."
                            
                            print "Mostrando todos los planes disponibles: "
                            Afiliaciones.impPlanes()
                            
                            cod_plan = int(validacion.validarNumero('Introduzca el codigo del plan: '))
                            Afiliacion = Afiliaciones.Afiliaciones(producto31,cod_plan)                            
                            Afiliacion.CrearAfiliacion()
                            flag31 = False
                            
                        elif op31 == 2:     
                            print "\n2.- Paquete de Servicios."
                            
                            print "Mostrando todos los paquetes de servicios disponibles: "
                            Afiliaciones.impPaquetes()
                            
                            cod_ser = int(validacion.validarNumero('Introduzca el codigo del paquete de servicio: '))
                            Afiliacion = Afiliaciones.Afiliaciones(producto31,cod_ser)                            
                            Afiliacion.CrearContratacion()
                            flag31 = False
                              
                        elif op31 == 3: 
                            print "\n3.- Regresar."                     
                            flag31 = False
                            
                        elif (op31 > 3 or op31 <= 0):
                            print "\nERROR: La opcion no es valida."
                            

                elif op3 == 2:     
                    
                    flag32 = True
                    producto32 = productos.validarSerie()  
                    while flag32:       
                        print "\n2.- Desafiliar un producto a un: ."             
                        print "   1.- Plan."
                        print "   2.- Paquete de Servicios."
                        print "   3.- Regresar."
                
                        op32 = int(validacion.validarNumero('Opcion: '))
                        if op32 == 1:
                            print "\n1.- Plan."
                            
                            print "Mostrando todos los planes disponibles: "
                            Afiliaciones.impPlanes()
                            
                            cod_plan = int(validacion.validarNumero('Introduzca el codigo del plan: '))
                            Afiliacion = Afiliaciones.Afiliaciones(producto32,cod_plan)                            
                            Afiliacion.DesafiliarProducto()
                            
                        elif op32 == 2:     
                            print "\n2.- Paquete de Servicios."
                            
                            print "Mostrando todos los paquetes de servicios disponibles: "
                            Afiliaciones.impPaquetes()
                            
                            cod_ser = int(validacion.validarNumero('Introduzca el codigo del paquete de servicio: '))
                            Afiliacion = Afiliaciones.Afiliaciones(producto32,cod_ser)                            
                            Afiliacion.desafiliarContratacion()                          
                            
                        elif op32 == 3: 
                            print "\n3.- Regresar."
                            flag32 = False
                        elif (op32 > 3 or op32 <= 0):
                            print "\nERROR: La opcion no es valida."
                            
                           
                elif op3 == 3: 
                    print "\n3.- Consultar planes de un producto."
                    producto33 = productos.validarSerie()
                    Afiliacion = Afiliaciones.Afiliaciones(producto33,1) 
                    Afiliacion.ConsultarPlanes()

                elif op3 == 4: 
                    print "\n4.- Regresar al menu anterior."                    
                    flag3 = False 
  
                elif (op3 > 4 or op3 <= 0):
                    print "\nERROR: La opcion no es valida."

        elif op == 4:   
            
            flag4 = True
            while flag4:    
                print "\nMODULO CONSUMOS\n"                
                print "   1.- Registrar un consumo."
                print "   2.- Consultar consumos de un producto."
                print "   3.- Regresar al menu anterior."
        
                op4 = int(validacion.validarNumero('Opcion: '))
                if op4 == 1:
                    print "\n1.- Registrar un consumo."
                    
                    print "Mostrando todos los productos disponibles: "
                    productos.listarProductos()
            
                    consumos.crearConsumoInteractivo()
                elif op4 == 2:     
                    print "\n2.- Consultar consumos de un producto."   
                    
                    print "Mostrando todos los productos disponibles: "
                    productos.listarProductos()
                    consumos.consumosProducto()
                elif op4 == 3: 
                    print "\n3.- Regresar al menu anterior."
                    flag4 = False
                elif (op4 > 3 or op4 <= 0):
                    print "\nERROR: La opcion no es valida."
                    
        elif op == 5:   
            flag5 = True
            while flag5:      
                print "\nMODULO GENERACION DE FACTURAS"              
                print "   1.- Generar la factura de un cliente."
                print "   2.- Regresar al menu anterior."        
                op5 = int(validacion.validarNumero('Opcion: '))
                if op5 == 1:                    
                    print "\n1.- Generar la factura de un cliente."  
                    #Genera la factura
                    fact = Factura.pedirFactura()
                    if fact:
		      print fact
                   
                elif op5 == 2: 
                    print "\n2.- Regresar al menu anterior."
                    flag5 = False
                elif (op5 > 2 or op5 <= 0):
                    print "\nERROR: La opcion no es valida."  
                                                
        elif op == 6: 
            print "\nHasta luego."
            flag = False
        elif (op > 6 or op <= 0):
            print "\nERROR: La opcion no es valida."