コード例 #1
0
ファイル: controller.py プロジェクト: marianis22/mvc_agenda
class Controller:
    # Constructor
    def __init__(self):
        self.model = Model()
        self.view = View()

    # Contacto methods
    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        f, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           dir)
        if f:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def actualizar_contacto(self,
                            id_contacto,
                            n_nombre=None,
                            n_tel=None,
                            n_correo=None,
                            n_dir=None):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel,
                                           n_correo, n_dir)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.leer_contactos_letra(letra)
        self.view.mostrar_contactos(c)

    # Cita methods
    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        e, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if e:
            self.view.agregar_cita(c)
        else:
            if type(c) is int:
                self.view.contacto_no_existe(id_contacto)
            else:
                self.view.cita_ya_existe(c)

    def leer_cita(self, id_cita):
        e, ci, con = self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(ci, con)
        else:
            self.view.cita_no_existe(id_cita)

    def actualizar_cita(self,
                        id_cita=0,
                        n_id_contacto=0,
                        n_lugar=None,
                        n_fecha=None,
                        n_hora=None,
                        n_asunto=None):
        e, c = self.model.actualizar_cita(id_cita, n_id_contacto, n_lugar,
                                          n_fecha, n_hora, n_asunto)
        if e:
            self.view.actualizar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_citas_fecha(self, letra):
        c = self.model.leer_citas_fecha(letra)
        self.view.mostrar_citas(c)

    # General methods
    def insertar_contactos(self):
        self.agregar_contacto(1, 'Mariana Arce Aguilar', '461660804',
                              '*****@*****.**', 'Salamanca')
        self.agregar_contacto(2, 'Sara Sanchez', '123-456-7890',
                              '*****@*****.**', 'CDMX')
        self.agregar_contacto(3, 'Carlos Alvarado', '467125896',
                              '*****@*****.**', 'leon')

    def insertar_citas(self):
        self.model.agregar_cita(1, 1, 'Mexico', '27 de Febrero del 2020',
                                '12:15p.m', 'cita')
        self.model.agregar_cita(2, 2, 'salamanca', '27 de Febrero del 2020',
                                '12:15p.m', 'cita')

    def start(self):
        self.view.start()
        self.insertar_contactos()
        self.insertar_citas()
コード例 #2
0
class Controller:

    #Constructor
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto controllers
    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        e, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo, dir)
        if e:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self, id_contacto, n_nombre = '', n_tel = '', n_correo = '', n_dir = ''):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel, n_correo, n_dir)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.leer_contactos_letra(letra)
        self.view.mostrar_contactos(c)

    #cita controllers
    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        e, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha, hora, asunto)
        if e:
            self.view.agregar_cita(c)
        else:
            self.view.cita_ya_existe(c)
    
    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)
    
    def leer_todas_citas(self):
        c = self.model.leer_todas_citas()
        self.view.mostrar_citas(c)

    def actualizar_cita(self, id_cita, n_lugar = '', n_fecha = '', n_hora = '', n_asunto = ''):
        e = self.model.actualizar_cita(id_cita, n_lugar, n_fecha, n_lugar, n_asunto)
        if e:
            self.view.actualizar_cita(id_cita)
        else:
            self.view.cita_ya_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_citas_fecha(self, fecha):
        c = self.model.leer_citas_fecha(fecha)
        self.view.mostrar_citas(c)

    #General methods
    def insertar_contactos(self):
        self.agregar_contacto(1, 'Jorge Manriquez', '464-124-3720', '*****@*****.**', 'Tlamacas #321')
        self.agregar_contacto(2, 'Lana Torres', '464-567-2342', '*****@*****.**', 'Sendero #123')
        self.agregar_contacto(3, 'Lizeth Tapia', '464-123-4567', '*****@*****.**', 'Camino #456')

    def insertar_citas(self):
        self.agregar_cita(1, 1, 'Aula 310', '20-02-2020', '14:00', 'Clase de Sistemas de Información')
        self.agregar_cita(2, 2, 'Aula 311', '21-02-2020', '15:00', 'Clase de Inteligencia Artificial')
        self.agregar_cita(3, 1, 'Aula 312', '21-02-2020', '15:30', 'Clase de Calculo Vectorial')

    def start(self):
        #Diplay a welcome message
        self.view.start()
        #Insert data i model
        """self.insertar_contactos()
        self.insertar_citas()"""
        self.menu()
        #Show all contacts in DB
        """self.leer_todos_contactos()
        self.leer_contactos_letra('l')
        self.leer_todas_citas()"""
        self.view.end()

    def menu(self):
        #Display menu
        self.view.menu()
        while True:
            o = input('Selecciona una opción (1-13): ')
            if o == '1':
                id_contacto = input('ID: ')
                nombre = input('Nombre: ')
                tel = input('Teléfono: ')
                correo = input('Correo: ')
                dir = input('Dirección: ')
                self.actualizar_contacto(id_contacto, nombre, tel, correo, dir)
                #self.insertar_contactos()
            elif o == '2':
                id_contacto = int(input('Ingrese el id del contacto: '))
                self.leer_contacto(id_contacto)
            elif o == '3':
                self.leer_todos_contactos()
            elif o == '4':
                self.actualizar_contacto(1, n_nombre='Luis Manriquez')
            elif o == '5':
                id_contacto = int(input('Ingrese el id del contacto: '))
                self.borrar_contacto(id_contacto)
            elif o == '6':
                letra = input('Ingrese la letra: ')
                self.leer_contactos_letra(letra.lower())
            elif o == '7':
                self.insertar_citas()
            elif o == '8':
                id_cita = int(input('Ingrese el id de la cita: '))
                self.leer_cita(id_cita)
            elif o == '9':
                self.leer_todas_citas()
            elif o == '10':
                self.actualizar_cita(1, n_asunto='Clase de Aplicaciones')
            elif o == '11':
                id_cita = int(input('Ingrese el id de la cita: '))
                self.borrar_cita(id_cita)
            elif o == '12':
                fecha = input('Ingrese la fecha (dd-mm-aaaa): ')
                self.leer_citas_fecha(fecha)
            elif o == '13':
                break
            else:
                self.view.opcion_no_valida()
コード例 #3
0
class Controller:

    #Constructor
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto controllers
    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        e, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           dir)
        if e:
            self.view.crear_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        contactos = self.model.leer_contactos_letra(letra)
        if contactos:
            self.view.mostrar_contactos(contactos)
        else:
            self.view.lista_vacia_contactos()

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self,
                            id_contacto=0,
                            n_nombre='',
                            n_tel='',
                            n_correo='',
                            n_dir=''):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel,
                                           n_correo, n_dir)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    #Cita controllers
    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        e, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if e:
            self.view.crear_cita(c)
        else:
            self.view.cita_ya_existe(c)

    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_citas_fecha(self, fecha):
        citas = self.model.leer_citas_fecha(fecha)
        if citas:
            self.view.mostrar_citas(citas)
        else:
            self.view.lista_vacia_citas()

    def leer_todos_citas(self):
        c = self.model.leer_todas_citas()
        self.view.mostrar_citas(c)

    def actualizar_cita(self,
                        id_cita=0,
                        n_id_contacto=0,
                        n_lugar='',
                        n_fecha='',
                        n_hora='',
                        n_asunto=''):
        e = self.model.actualizar_cita(id_cita, n_id_contacto, n_lugar,
                                       n_fecha, n_hora, n_asunto)
        if e:
            self.view.actualizar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    #Menu controllers
    def insertar_contactos(self):
        self.agregar_contacto(
            1, 'Juan Perez', '464-123-1234', '*****@*****.**',
            'Arteaga No 432, Calle Lopez Mateos, San Miguel')
        self.agregar_contacto(2, 'Jose Peralez', '464-321-8765',
                              '*****@*****.**',
                              'Centro No 765, Avenida Guerrero, Salamanca')
        self.agregar_contacto(3, 'Martin Rosalez', '462-539-0203',
                              '*****@*****.**',
                              'Deportiva No 1888, Avenida Reforma, Irapuato')
        self.agregar_contacto(4, 'Mauricio Corrales', '462-940-1122',
                              '*****@*****.**',
                              'Espanita No 425, Avenida Jacarandas, Silao')

    def insertar_citas(self):
        self.agregar_cita(1, 2, 'Tacos la Herradura', '22-02-2020', '20:00',
                          'salida con amigos')
        self.agregar_cita(2, 4, 'Aula 310', '22-02-2020', '14:00',
                          'Clase de Sistemas de Informacion')
        self.agregar_cita(3, 1, 'Casa', '22-02-2020', '7:00',
                          'Cita con el medico')
        self.agregar_cita(4, 3, 'Plaza de toros', '29-02-2020', '15:00',
                          'Ir a la corrida de toros')

    def menu(self):
        #Display menu
        o = '0'
        while (o != '9'):
            self.view.menu()
            o = input('Selecciona una opcion (1-9): ')
            if o == '1':
                c1 = int(input('Id_contacto: '))
                c2 = input('Nombre: ')
                c3 = input('Telefono: ')
                c4 = input('Correo: ')
                c5 = input('Direccion: ')
                self.agregar_contacto(c1, c2, c3, c4, c5)
                pass
            elif o == '2':
                c1 = int(input('Id_cita: '))
                c2 = int(input('Id_contacto: '))
                c3 = input('Lugar: ')
                c4 = input('Fecha: ')
                c5 = input('Hora: ')
                c6 = input('Asunto: ')
                self.agregar_cita(c1, c2, c3, c4, c5, c6)
                pass
            elif o == '3':
                c1 = int(input('Id_contacto: '))
                c2 = input('Nombre: ')
                c3 = input('Telefono: ')
                c4 = input('Correo: ')
                c5 = input('Direccion: ')
                self.actualizar_contacto(c1, c2, c3, c4, c5)
                pass
            elif o == '4':
                c1 = int(input('Id_cita: '))
                c2 = int(input('Id_contacto: '))
                c3 = input('Lugar: ')
                c4 = input('Fecha: ')
                c5 = input('Hora: ')
                c6 = input('Asunto: ')
                self.actualizar_cita(c1, c2, c3, c4, c5, c6)
                pass
            elif o == '5':
                c1 = int(input('Id_contacto: '))
                self.borrar_contacto(c1)
                pass
            elif o == '6':
                c1 = int(input('Id_cita: '))
                self.borrar_cita(c1)
                pass
            elif o == '7':
                c1 = input('Primer letra del nombre: ')
                self.leer_contactos_letra(c1)
                pass
            elif o == '8':
                c1 = input('Fecha de cita: ')
                self.leer_citas_fecha(c1)
                pass
            elif o == '9':
                self.view.end()
            else:
                self.view.opcion_no_valida()

    def start(self):
        #Display a welcome message
        self.view.start()
        #Insertar data in model
        self.insertar_contactos()
        self.insertar_citas()
        #Show all contacts in DB
        self.leer_todos_contactos()
        self.leer_todos_citas()
        #Show menu
        self.menu()
コード例 #4
0
class Controller:
    def __init__(self):
        self.model=Model()
        self.view=View()


    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        b, c=self.model.agregar_contactos(id_contacto, nombre, tel, correo, dir)
        if b:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)
    
    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_contactos(self):
        c=self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self, id_contacto, n_nombre='', n_tel='', n_correo='', n_dir=''):
        e=self.model.actualizar_contacto(id_contacto, n_nombre, n_tel, n_correo, n_dir)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e,c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contacto_letra(self, letra):
        c=self.model.leer_contacto_letra(letra)
        self.view.mostrar_contactos(c)


    #Citas controllers

    def insertar_contactos(self):
        self.agregar_contacto(1,'Fernando Salinas', '419-100-1138','*****@*****.**','Dr. Mora, Gto')
        self.agregar_contacto(2,'Juan Perez', '423-990-9876','*****@*****.**','Salamanca, Gto')
        self.agregar_contacto(3,'Jose Hernandez', '8787-132-9777','*****@*****.**','Guanajuato, Gto')

    


    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        b, c=self.model.agregar_cita(id_cita, id_contacto, lugar, fecha, hora, asunto)
        if b:
            self.view.agregar_cita(c)
        else:
            self.view.cita_ya_existe(c)
    
    
    
    def leer_cita(self, id_cita):
        e, ci= self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(ci)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_todas_citas(self):
        ci=self.model.leer_todas_citas()
        self.view.mostrar_citas(ci)
    
    def actuaizar_cita(self, id_cita, n_id_contacto = '', n_lugar = '', n_fecha = '', n_hora = '', n_asunto = ''):
        e=self.model.actualizar_cita(id_cita, n_id_contacto, n_lugar, n_fecha, n_hora, n_asunto)
        if e:
            self.view.actualizar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e,c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_citas_fecha(self, fecha):
        lista=self.model.leer_citas_fecha(fecha)
        self.view.mostrar_citas(lista)

    def insertar_cita(self):
            self.agregar_cita(1,1, 'Salon 310', '05-03-2020', '14:00', 'Clase de Sistemas de Informacion')
            self.agregar_cita(1,2, 'Salon 310', '02-03-2020', '12:00', 'Clase de Circuitos Electricos')

    def start(self):
        self.view.start()

        self.insertar_contactos()
        self.insertar_cita()
        self.leer_todos_contactos()
        self.leer_contacto_letra('J')
        self.leer_todas_citas()
        self.leer_citas_fecha('02-03-2020')


    def menu(self):
        self.view.menu()
        o= input('Selecciona una opcion (1-9')
        if o=='1':
            id=input('ID: ')
            id=int(id)
            nom=input('Nombre: ')
            tel=input('Telefono(xxx-xxx-xxxx): ')
            correo=input('Correo: ')
            dir=input('Direccion: ')
            self.agregar_contacto(id, nom, tel, correo, dir)
        elif o=='2':
           pass 
        elif o=='3':
            pass
        elif o=='4':
            pass
        elif o=='5':
            pass
        elif o=='6':
            pass
        elif o=='7':
            pass
        elif o=='8':
            pass
        elif o=='9':
            self.view.end()
        else:
            pass
コード例 #5
0
class Controller:
    #Constructor
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto controllers

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def insertar_contactos(self, id_contacto, nombre, tel, correo, dir):
        self.view.agregar_contacto()
        self.view.agregar_contacto()
        self.view.agregar_contacto()

    #Cita controllers

    def leer_todas_citas(self):
        c = self.model.leer_todas_citas()
        self.view.mostrar_citas(c)

    def insertar_citas(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        self.view.agregar_cita()
        self.view.agregar_cita()
        self.view.agregar_cita()

    def start(self):
        #Display a welcome message
        self.view.start()
        #Insert data in model
        self.insertar_contactos(1, 'Juan Perez', '464-123-1234',
                                '*****@*****.**', 'Arteaga 5 Col Carranza')
        self.insertar_contactos(2, 'Parque', '464-456-4578', '*****@*****.**',
                                'Colon')
        self.insertar_contactos(3, 'Veronica', '464-123-7589',
                                '*****@*****.**', 'Hidalgo 4 col RdP')

        self.insertar_citas(1, 1, 'Aula 310', '20-02-2020', '14:00',
                            'Clase de Sistemas de Informacion')
        self.insertar_citas(2, 2, 'Plaza', '15-03-2020', '12:00', 'Salir')
        self.insertar_citas(3, 3, 'Medico', '05-03-2020', '11:00',
                            'Consulta medica')

        #Show all contacts in DB
        self.leer_todos_contactos()
        self.leer_contactos_letra('a')

    def menu(self):
        #Display menu
        self.view.menu()
        o = input('Selecciona una opcion (1-10)')
        if o == '1':

            def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
                b, c = self.model.agregar_contacto(id_contacto, nombre, tel,
                                                   correo, dir)
                if b:
                    self.view.agregar_contacto(c)
                else:
                    self.view.contacto_ya_existe(c)
        elif o == '2':

            def leer_contacto(self, id_contacto):
                e, c = self.model.leer_contacto(id_contacto)
                if e:
                    self.view.mostrar_contacto(c)
                else:
                    self.view.contacto_no_existe(id_contacto)
        elif o == '3':

            def actualizar_contacto(self,
                                    id_contacto,
                                    n_nombre='',
                                    n_tel='',
                                    n_correo='',
                                    n_dir=''):
                e = self.model.actualizar_contacto(id_contacto, n_nombre,
                                                   n_tel, n_correo, n_dir)
                if e:
                    self.view.actualizar_contacto(id_contacto)
                else:
                    self.view.contacto_no_existe(id_contacto)
        elif o == '4':

            def borrar_contacto(self, id_contacto):
                e, c = self.model.borrar_contacto(id_contacto)
                if e:
                    self.view.borrar_contacto(c)
                else:
                    self.view.contacto_no_existe(id_contacto)
        elif o == '5':

            def leer_contactos_letra(self, letra):
                c = self.model.leer_contactos_letra(letra)
                self.view.mostrar_contactos(c)
        elif o == '6':

            def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora,
                             asunto):
                b, c = self.model.agregar_cita(id_cita, id_contacto, lugar,
                                               fecha, hora, asunto)
                if b:
                    self.view.agregar_cita(c)
                else:
                    self.view.contacto_ya_existe(c)
        elif o == '7':

            def leer_cita(self, id_cita):
                e, c = self.model.leer_cita(id_cita)
                if e:
                    self.view.mostrar_cita(c)
                else:
                    self.view.cita_no_existe(id_cita)
        elif o == '8':

            def actualizar_cita(self, id_cita, n_id_contacto, n_lugar, n_fecha,
                                n_hora, n_asunto):
                e = self.model.actualizar_cita(id_cita, n_id_contacto, n_lugar,
                                               n_fecha, n_hora, n_asunto)
                if e:
                    self.view.actualizar_cita(id_cita)
                else:
                    self.view.cita_no_existe(id_cita)
        elif o == '9':

            def borrar_cita(self, id_cita):
                e, c = self.model.borrar_cita(id_cita)
                if e:
                    self.view.borrar_cita(c)
                else:
                    self.view.cita_no_existe(id_cita)
        elif o == '10':

            def leer_citas_fecha(self, fecha):
                c = self.model.leer_citas_fecha(fecha)
                self.view.mostrar_citas(c)

            self.view.end()
        else:
            self.view.opcion_no_valida()
コード例 #6
0
ファイル: controller.py プロジェクト: FabiSG/AgendaPython
class Controller:

    def __init__(self):
        self.model = Model()
        self.view = View()

        #Contacto controllers (lo que se puede hacer con los metodos)

    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        e, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo, dir)  #llamar el metodo agregar contacto de modelo
        if e:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e: 
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c) 

    def actualizar_contacto(self, id_contacto, n_nombre= '', n_tel='', n_correo='', n_dir=''):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel, n_correo, n_dir)  #e bandera
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.leer_contactos_letra(letra)
        self.view.mostrar_contactos(c)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_citas_fecha(self, fecha):
        c = self.model.leer_citas_fecha(fecha)
        self.view.mostrar_citas(c)

    ###############-- cita controller ---########################################3
    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        e, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha, hora, asunto)  #llamar el metodo agregar contacto de modelo
        if e:
            self.view.agregar_cita(c)
        else:
            self.view.cita_ya_existe(c)   

    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if e: 
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def actualizar_cita(self, id_cita, n_id_contacto='', n_lugar='', n_fecha='', n_hora='', n_asunto=''):
        e = self.model.actualizar_cita(id_cita, n_id_contacto, n_lugar, n_fecha, n_hora, n_asunto)  #e bandera
        if e:
            self.view.actualizar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    ######################General methods
    def insertar_contactos(self):
        self.agregar_contacto(1, 'Juan Perez', '464-123-1234', '*****@*****.**', 'Zaragoza 110')
        self.agregar_contacto(2, 'Maria Lopez', '462-122-4562', '*****@*****.**', 'Arteaga 55')
        self.agregar_contacto(3, 'Brenda hernandez', '456-545-7812', '*****@*****.**', '5 de Mayo')

    def insertar_citas(self):
        self.agregar_cita(1, 1, 'Obregon 5', '15-04-20', '12:00', 'Corte de cabello')
        self.agregar_cita(2, 2, 'Allende 2', '6-05-20', '5:00', 'Dentista')
        self.agregar_cita(3, 1, 'zapata 13', '22-07-20', '2:00', 'curso')

    def start(self):
        #display a welcome message
        self.view.start()
        #insert in model
        self.insertar_contactos()
        self.insertar_citas()
        #shoe all contacts in DB
        self.leer_todos_contactos()
        #self.leer_contactos_letra('J')
        self.menu()

    ##############Menu
    def menu(self):
       #Display menu
       self.view.menu()
       o = input("Selecciona una opcion (1-11): ")

       if o == '1':
            id_contacto = int(input('Nuevo ID del contacto: '))
            nombre = input('Nombre: ')
            tel = input('Telefono: ')
            correo = input('Correo:')
            dir = input('Direccion: ')
            self.agregar_contacto(id_contacto, nombre, tel, correo, dir)

       elif o == '2':
           id_contacto = int(input('ID del contacto a buscar: '))
           self.leer_contacto(id_contacto)

       elif o == '3':
           id_contacto = int(input('ID del contacto a actualizar: '))
           nombre = input('Nuevo nombre: ')
           tel = input('Nuevo telefono: ')
           correo = input('Nuevo correo: ')
           dir = input('Nueva direccion: ')
           self.actualizar_contacto(id_contacto, nombre, tel, correo, dir)

       elif o == '4':
           id_contacto = int(input('ID contacto a eliminar: '))
           self.borrar_contacto(id_contacto)

       elif o == '5':
            letra = input('letra: ')
            self.leer_contactos_letra(letra)

       elif o == '6':
           self.leer_todos_contactos()

       elif o == '7':
           id_cita = int(input('ID cita: '))
           id_contacto = int(input('ID del contacto: '))
           lugar = input('Lugar de la cita: ')
           fecha = input('Fecha de la cita: ')
           hora = input('Hora de la cita: ')
           asunto = input('Asunto: ')
           self.agregar_cita(id_cita, id_contacto, lugar, fecha, hora, asunto)

       elif o == '8':
           id_cita = int(input('ID de la cita a buscar: '))
           self.leer_cita(id_cita)

       elif o == '9':
           id_cita = int(input('ID cita a actualizar: '))
           id_contacto = int(input('ID contacto a actualizar: '))
           lugar = input('Nuevo lugar de la cita: ')
           fecha = input('Nueva fecha de la cita: ')
           hora = input('Nueva hora de la cita: ')
           asunto = input('Nuevo asunto de la cita: ')
           self.actualizar_cita(id_cita, id_contacto, lugar, fecha, hora, asunto)

       elif o == '10':
           id_cita = int(input('ID cita a eliminar: '))
           self.borrar_cita(id_cita)
     
 
       elif o == '11':
           self.view.end()
       else:
           self.view.opcion_no_valida()
    #cita controller
コード例 #7
0
class Controller:
    # Constructor
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto Controllers
    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        e, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           dir)
        if e:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contactos(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self,
                            id_contacto,
                            n_nombre='',
                            n_tel='',
                            n_correo='',
                            n_dir=''):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel,
                                           n_correo, n_dir)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.leer_contactos_letra(letra)
        self.view.mostrar_contactos(c)

    #----------------- Citas Controller ----------------------------#
    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        e, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if e:
            self.view.agregar_cita(c)
        else:
            self.view.cita_no_existe(c)

    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_todos_citas(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_Cita(self,
                        id_cita,
                        id_ncontacto='',
                        n_lugar='',
                        n_fecha='',
                        n_hora='',
                        n_asunto=''):
        e = self.model.actualizar_Cita(id_cita, id_ncontacto, n_lugar, n_fecha,
                                       n_hora, n_asunto)
        if e:
            self.view.actualizar_contacto(id_cita)
        else:
            self.view.contacto_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def buscar_cita(self, fecha):
        c = self.model.buscar_cita(fecha)
        self.view.mostrar_cita(c)

    # General methods
    def insertar_contactos(self):
        self.agregar_contacto(1, 'Francisco Zárate', '473-162-1246',
                              '*****@*****.**', 'Juan Rojas Gonzales')
        self.agregar_contacto(2, 'Carlos Canno', '464-145-1835',
                              '*****@*****.**', 'Vulcano')
        self.agregar_contacto(3, 'Jonathan Hernandez', '464-132-1235',
                              '*****@*****.**', 'Arteaga no 6')
        '''
    def insertar_citas(self):
        self.agregar_cita(1, 1, 'Dicis', '17/02/2020', '15:30', 'Sistemas')
        self.agregar_cita(2, 2, 'Escuela', '20/11/2020', '20:30', 'NLP')
        self.agregar_cita(3, 1, 'Centro', '18/03/2020', '13:30', 'Trabajo')
        '''

    def start(self):
        # Display a welcome message
        self.view.start()

        # Insertar data in model
        self.insertar_contactos()
        #self.insertar_citas()

        #Show all contacts in DB
        self.leer_todos_contactos()
        #self.leer_contactos_letra('a')

    def write_contact(self):
        id = input("ID: ")
        n = str(input("Ingrese nombre: "))
        t = str(input("Ingrese telefono: "))
        c = str(input("Ingrese correo: "))
        d = str(input("Direccion: "))

        self.agregar_contacto(id, n, t, c, d)

    def search_contacto(self):
        letra = str(input('Ingresa letra a buscar: '))
        self.leer_contactos_letra(letra)

    def delete_contacto(self):
        id = input("Id contacto a borrar: ")
        self.borrar_contacto(id)

    def update_contaco(self):
        print("Si no desea modificar alguna parte del contacto presiona enter")
        id_contacto = input("Inserte el id del contacto que desea modificar:")
        n_nombre = str(input("Inserte el nuevo nombre:"))
        n_tel = str(input("Inserte el nuevo telefono:"))
        n_correo = str(input("Inserte el nuevo correo:"))
        n_dir = str(input("Inserte el nuevo direccion:"))
        self.actualizar_contacto(id_contacto, n_nombre, n_tel, n_correo, n_dir)

    def menu(self):
        #Display menu
        self.view.menu()
        o = input('Selecciona una opcion (1-9): ')

        if o == '1':
            self.write_contact()
        elif o == '2':
            self.search_contacto()
        elif o == '3':
            self.update_contaco()
        elif o == '4':
            pass
        elif o == '5':
            pass
        elif o == '6':
            pass
        elif o == '7':
            pass
        elif o == '8':
            pass
        elif o == '9':
            self.view.end()
        else:
            self.view.opcion_no_valida()
コード例 #8
0
class Controller:
    #Contrusctor
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto controllers
    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        e, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           dir)
        if e:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self,
                            id_contacto,
                            n_nombre='',
                            n_tel='',
                            n_correo='',
                            n_dir=''):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel,
                                           n_correo, n_dir)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.contactos_letra(letra)
        self.view.mostrar_contactos(c)

    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        e, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if e:
            self.view.agregar_cita(c)
        else:
            self.view.cita_ya_existe(c)

    def leer_todas_citas(self):
        c = self.model.leer_todas_citas()
        self.view.mostrar_citas(c)

    def insertar_contactos(self):
        self.agregar_contacto(1, 'Juan Perez', '4641661118',
                              '*****@*****.**', 'Av siempre viva 113')
        self.agregar_contacto(2, 'Carlos Martinez', '6473350',
                              '*****@*****.**', 'Cerro Azul 201')
        self.agregar_contacto(3, 'Armando Navarro', '6473350',
                              '*****@*****.**',
                              'Piedras negras 234')
        self.agregar_contacto(4, 'Adriana Prieto', '64891111',
                              '*****@*****.**', 'Jalisto 032')

    def insertar_citas(self):
        self.agregar_cita(1, 1, 'Cerveceria Chapultepec', '26/01/2020',
                          '14:30', 'Tomar')
        self.agregar_cita(2, 1, 'MCarty´s', '10/09/2020', '14:30', 'Platicar')
        self.agregar_cita(3, 2, 'Casa de Levi', '26/05/20', '14:30',
                          'Tomar mas !')

    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def actualizar_cita(self,
                        id_cita,
                        n_id_contacto='',
                        n_lugar='',
                        n_fecha='',
                        n_hora='',
                        n_asunto=''):
        e = self.model.actualizar_cita(id_cita, n_id_contacto, n_lugar,
                                       n_fecha, n_hora, n_asunto)
        if e:
            self.view.actualizar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_citas_fecha(self, fecha):
        c = self.model.cita_fecha(fecha)
        self.view.mostrar_citas(c)

    def start(self):
        #Display a welcome mesagge
        self.view.start()
        #insert data in model
        self.insertar_contactos()
        self.insertar_citas()
        #show all contacts in DB
        self.leer_todos_contactos()
        self.leer_contactos_letra('a')
        self.leer_todas_citas()

    def menu(self):
        #Display menu
        self.view.menu()
        while True:
            o = input('Seleccion una opcion (1-13):  ')

            if o == '1':
                id_contacto = int(input('ID del contacto:'))
                nombre = input('Nombre: ')
                tel = input('Telefono: ')
                correo = input('Correo: ')
                dir = input('Direccion ')
                self.agregar_contacto(id_contacto, nombre, tel, correo, dir)
            if o == '2':
                self.leer_todos_contactos()
            if o == '3':
                id_contacto = int(input('ID del contacto:'))
                self.leer_contacto(id_contacto)
            if o == '4':
                id_contacto = int(input('ID del contacto:'))
                nombre = input('Nombre: ')
                tel = input('Telefono: ')
                correo = input('Correo: ')
                dir = input('Direccion ')
                self.actualizar_contacto(id_contacto, nombre, tel, correo, dir)
            if o == '5':
                g = input('Ingrese id de contacto:  ')
                self.borrar_contacto(g)
            if o == '6':
                g = input('Ingrese una letra:  ')
                print(g)
                self.leer_contactos_letra(g)
            if o == '7':
                id_cita = int(input('ID de la cita:'))
                id_contacto = int(input('ID del contacto:'))
                lugar = input('Lugar: ')
                fecha = input('Fecha: ')
                hora = input('Hora: ')
                asunto = input('Asunto ')
                self.agregar_cita(id_cita, id_contacto, lugar, fecha, hora,
                                  asunto)
            if o == '8':
                self.leer_todas_citas()
            if o == '9':
                g = input('Ingrese una letra:  ')
                self.leer_cita(g)
            if o == '10':
                id_cita = int(input('ID de la cita:'))
                id_contacto = int(input('ID del contacto:'))
                lugar = input('Lugar: ')
                fecha = input('Fecha: ')
                hora = input('Hora: ')
                asunto = input('Asunto ')
                self.actualizar_cita(id_cita, id_contacto, lugar, fecha, hora,
                                     asunto)
            if o == '11':
                self.borrar_cita(1)
            if o == '12':
                fecha = input('Ingrese la fecha (dd-mm-aaaa): ')
                self.leer_citas_fecha(fecha)
            elif o == '13':
                self.view.end()
                break
コード例 #9
0
ファイル: controller.py プロジェクト: Laele/MVC-Agenda
class Controller:

    #Constructor
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto controllers
    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        b, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           dir)
        if b:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_exite(id_contacto)

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self,
                            id_contacto=None,
                            n_nombre=None,
                            n_tel=None,
                            n_correo=None,
                            n_dir=None):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel,
                                           n_correo, n_dir)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.buscar_contacto_letra(letra)
        self.view.mostrar_contactos(c)

    #Cita controllers

    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        b, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if b:
            self.view.agregar_cita(c)
        else:
            self.view.cita_ya_existe(id_cita)

    def leer_cita(self, id_cita):
        b, c = self.model.leer_cita(id_cita)
        if b:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_exite(id_cita)

    def leer_todas_citas(self):
        c = self.model.leer_todas_citas()
        self.view.mostrar_citas(c)

    def actualizar_cita(self,
                        id_cita=None,
                        n_id_contacto=None,
                        n_lugar=None,
                        n_fecha=None,
                        n_hora=None,
                        n_asunto=None):
        e = self.model.actualizar_cita(self, id_cita, n_id_contacto, n_lugar,
                                       n_fecha, n_hora, n_asunto)
        if e:
            self.view.modificar_cita(id_cita)
        else:
            self.view.cita_no_exite(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_cita_fecha(self, fecha):
        c = self.model.leer_cita_fecha(fecha)
        self.view.mostrar_citas(c)

    #General methods
    def insertar_contactos(self):
        self.agregar_contacto(1, "Luis Soriano", 4641145785,
                              "*****@*****.**",
                              "Monte Aragon 221 Primavera 2")
        self.agregar_contacto(2, "Alan Alvarez", 4641156784,
                              "*****@*****.**",
                              "Juan Rojas 228 Humanista 1")

    def insertar_citas(self):
        pass

    def start(self):
        #Display a welcome message
        self.view.start()
        #Insert data in model
        self.insertar_contactos()
        self.insertar_citas()
        #Show all contacts in DB
        self.leer_todos_contactos()
        self.leer_contactos_letra('a')

    def menu(self):
        #Display menu
        self.view.menu()
        o = input('Selecciona una opcion (1-9)')
        if o == '1':
            id_contacto = input("Introduce el id del contacto: ")
            nombre = input("Introduce el nombre del contacto: ")
            tel = input("Introduce el telefono del contacto: ")
            correo = input("Introduce el correo del contacto: ")
            dir = input("Introduce direccion del contacto: ")
            self.agregar_contacto(id_contacto, nombre, tel, correo, dir)
        elif o == '2':
            self.leer_todos_contactos()
        elif o == '3':
            print("Da enter si no quieres sustituir dicho dato.")
            id_contacto = input("Introduce el id del contacto a cambiar: ")
            n_nombre = input("Introduce el nuevo nombre: ")
            n_tel = input("Introduce el nuevo telefono: ")
            n_correo = input("Introduce el nuevo correo: ")
            n_dir = input("Introduce la nueva direccion: ")
            self.actualizar_contacto(int(id_contacto), n_nombre, n_tel,
                                     n_correo, n_dir)
        elif o == '4':
            id_contacto = input("Introduce el id del contacto a eliminar: ")
            self.borrar_contacto(int(id_contacto))
        elif o == '5':
            id_cita = input("Introduce el id de la cita: ")
            id_contacto = input("Introduce el id del contacto a citar: ")
            lugar = input("Introduce el Lugar de la cita: ")
            fecha = input("Introduce la fecha de la cita: ")
            hora = input("Introduce la hora de la cita: ")
            asunto = input("Introduce el asunto de la cita: ")

            self.agregar_citaint(int(id_cita), int(id_contacto), lugar, fecha,
                                 hora, asunto)
        elif o == '6':
            self.leer_todas_citas()
        elif o == '7':
            print("Da enter si no quieres sustituir dicho dato.")
            id_cita = input("Introduce el id de la cita a cambiar: ")
            n_id_contacto = input(
                "Introduce el id del nuevo contacto a citar: ")
            n_lugar = input("Introduce el nuevo lugar: ")
            n_fecha = input("Introduce la nueva fecha: ")
            n_hora = input("Introduce la nueva hora: ")
            n_asunto = input("Introduce el nuevo asunto: ")

            self.actualizar_cita(int(id_cita), int(n_id_contacto), n_lugar,
                                 n_fecha, n_hora, n_asunto)
        elif o == '8':
            id_cita = input("Introduce el id de la cita a borrar: ")
            self.borrar_cita(int(id_cita))
        elif o == '9':
            self.view.end()
        else:
            self.view.opcion_no_valida()
コード例 #10
0
ファイル: controller.py プロジェクト: CelestinoHC/mvc_agenda
class Controller:
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto methods
    def agregar_contacto(self, id_contacto, nombre, tel, correo, direccion):
        b, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           direccion)
        if b:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_los_contactos(self):
        c = self.model.leer_todos_los_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self,
                            id_contacto='',
                            n_nombre='',
                            n_tel='',
                            n_correo='',
                            n_direccion=''):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel,
                                           n_correo, n_direccion)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.leer_contactos_letra(letra)
        self.view.mostrar_contactos(c)

    #General Methods

    def insertar_contactos(self):
        self.agregar_contacto(1, 'Juan Perez', '484-285-9323', '*****@*****.**',
                              'Obregon #102 Col. Independencia')
        self.agregar_contacto(2, 'Javier Fernandez', '484-397-1086',
                              '*****@*****.**', 'Hidalgo #162 Col. Margaritas')
        self.agregar_contacto(3, 'Daniel Salinas', '752-469-7236',
                              '*****@*****.**', 'Zaragoza #175 Col. Revolucion')

    def insertar_citas(self):
        self.agregar_cita(1, 1, 'DICIS', '25/02/2020', '11:00 hrs',
                          'Proyecto SSP')
        self.agregar_cita(2, 3, 'Plazoleta Salamanca', '13/03/2020',
                          '15:00 hrs', 'Jugar Pokemon GO')
        self.agregar_cita(3, 2, 'ENMSS', '29/02/2020', '10:00 hrs',
                          'Examen Inglés')

    def start(self):
        #Display welcome message
        self.view.start()
        #Insert data in model
        self.insertar_contactos()
        self.insertar_citas()
        #Show all the contacts in DB
        self.leer_todos_los_contactos()
        self.leer_contactos_letra('j')

    def menu(self):
        self.view.menu()
        o = input('Selecciona una opcion (1-9): ')
        if o == '1':
            id_contacto = input('ID de contacto: ')
            id_contacto = int(id_contacto)
            nombre = input('Nombre: ')
            tel = input('Telefono (xxx-xxx-xxxx): ')
            correo = input('Correo: ')
            direccion = input('Direccion: ')
            self.agregar_contacto(id_contacto, nombre, tel, correo, direccion)
        elif o == '2':
            id_contacto = input('ID de contacto que desea leer: ')
            id_contacto = int(id_contacto)
            self.leer_contacto(id_contacto)
        elif o == '3':
            id_contacto = input('ID de contacto a actualizar: ')
            id_contacto = int(id_contacto)
            n_nombre = input('Nuevo nombre de contacto: ')
            n_tel = input('Nuevo numero de contacto: ')
            n_correo = input('Nuevo correo de contacto: ')
            n_direccion = input('Nueva direccion de contacto: ')
            self.actualizar_contacto(id_contacto, n_nombre, n_tel, n_correo,
                                     n_direccion)
        elif o == '4':
            id_contacto = input('ID de contacto a borrar: ')
            id_contacto = int(id_contacto)
            self.borrar_contacto(id_contacto)
        elif o == '5':
            id_cita = input('ID de la cita: ')
            id_cita = int(id_cita)
            id_contacto = input('ID de contacto: ')
            id_contacto = int(id_contacto)
            lugar = input('Lugar: ')
            fecha = input('Fecha (dd/mm/aaaa): ')
            hora = input('Hora (hh:mm hrs): ')
            asunto = input('Asunto: ')
            self.agregar_cita(id_cita, id_contacto, lugar, fecha, hora, asunto)
        elif o == '6':
            id_cita = input('ID de cita que desea leer: ')
            id_cita = int(id_cita)
            # id_contacto = input('ID de contacto relacionado con la cita: ')
            # id_contacto = int(id_contacto)
            self.leer_cita(id_cita)
        elif o == '7':
            id_cita = input('ID de la cita que desea actualizar: ')
            id_cita = int(id_cita)
            n_id_contacto = ('ID de contacto: ')
            n_id_contacto = int(n_id_contacto)
            n_lugar = input('Lugar actualizado: ')
            n_hora = input('Hora actualizada: ')
            n_fecha = input('Fecha actualizada: ')
            n_asunto = input('Asunto actualizado: ')
            self.actualizar_cita(id_cita, n_id_contacto, n_lugar, n_fecha,
                                 n_hora, n_asunto)
        elif o == '8':
            id_cita = input('ID de la cita que desea borrar: ')
            id_cita = int(id_cita)
            self.borrar_cita(id_cita)
        elif o == '9':
            self.view.end()
        else:
            self.view.opcion_no_valida()

    #Cita methods

    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        b, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if b:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_todas_las_citas(self):
        c = self.model.leer_todas_las_citas()
        self.view.mostrar_citas(c)

    def actualizar_cita(self,
                        id_cita,
                        n_id_contacto='',
                        n_lugar='',
                        n_fecha='',
                        n_hora='',
                        n_asunto=''):
        e = self.model.actualizar_cita(id_cita, n_id_contacto, n_lugar,
                                       n_fecha, n_hora, n_asunto)
        if e:
            self.view.actualizar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_citas_fecha(self, fecha):
        c = self.model.leer_citas_fecha(fecha)
        self.view.mostrar_citas(c)
コード例 #11
0
class Controller:

    #Constructor

    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto controllers--------------------------------------------------------------------------------------

    def agregar_contacto(self, id_contacto, nombre, tel, correo, direccion):
        v, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           direccion)
        if (v):
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if (e):
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self,
                            id_contacto,
                            nombre='',
                            tel='',
                            correo='',
                            direccion=''):
        e = self.model.actualizar_contacto(id_contacto, nombre, tel, correo,
                                           direccion)
        if (e):
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if (e):
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contacto_letra(self, letra):
        c = self.model.leer_contacto_letra(letra)
        self.view.mostrar_contactos(c)

    #Citas controllers --------------------------------------------------------------------------------------
    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        v, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if (v):
            self.view.agregar_cita(c)
        elif (v == False):
            self.view.cita_ya_existe(c)
        elif (v == -1):
            self.view.contacto_no_existe(c)

    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if (e):
            self.view.mostrar_cita(c)
        else:
            self.view.contacto_no_existe(id_cita)

    def leer_todas_citas(self):
        c = self.model.leer_todas_citas()
        self.view.mostrar_citas(c)

    def actualizar_cita(self,
                        id_cita,
                        id_contacto='',
                        lugar='',
                        fecha='',
                        hora='',
                        ausnto=''):
        e = self.model.actualizar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, ausnto)
        if (e):
            self.view.actualizar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if (e):
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(c)

    def leer_citas_fecha(self, fecha):
        c = self.model.leer_citas_fecha(fecha)
        self.view.mostrar_citas(c)

    #General controllers

    def insertar_contactos(self):
        self.agregar_contacto(1, 'Juan Perez', '462-123-0012',
                              '*****@*****.**', 'Buenavista 11587')
        self.agregar_contacto(2, 'Marco Rodriguez', '462-333-9992',
                              '*****@*****.**', 'Moctezuma 587')
        self.agregar_contacto(3, 'Juanito Robles', '462-223-1292',
                              '*****@*****.**', 'Rosas Secc. 3 25')
        self.agregar_contacto(4, 'Maria Ramirez', '462-832-9212',
                              '*****@*****.**', 'Ecualiptos 1532')
        self.agregar_contacto(5, 'Pablo Picapiedra', '462-093-1221',
                              '*****@*****.**', 'San pedro 10')
        self.agregar_contacto(6, 'Jose Azul', '462-323-0091',
                              '*****@*****.**', 'Apt. B S/N Encinos')

    def insertar_citas(self):
        self.agregar_cita(1, 1, 'Irapuato', '03/05/2020', '12:10', 'Comida')
        self.agregar_cita(2, 2, 'Salamanca', '04/05/2020', '12:00', 'Comida')
        self.agregar_cita(3, 4, 'Gto', '03/05/2020', '12:20', 'Comida')

    def menu(self):

        while (True):

            self.view.menu()
            o = input("Selecciona una opcion (1-13)\nR: ")
            if o == '1':
                dic = {
                    "id": "",
                    "Nombre": "",
                    "Telefono": "",
                    "Correo": "",
                    "Direccion": ""
                }
                for i in dic.keys():
                    print(i, "= ")
                    dic[i] = input("")
                values = []
                for i, j in dic.items():
                    values.append(j)
                self.agregar_contacto(int(values[0]), values[1], values[2],
                                      values[3], values[4])
            elif o == '2':
                dic = {
                    "id": "",
                    "Nombre": "",
                    "Telefono": "",
                    "Correo": "",
                    "Direccion": ""
                }
                for i in dic.keys():
                    print(i, "= ")
                    dic[i] = input("")
                values = []
                for i, j in dic.items():
                    values.append(j)
                self.actualizar_contacto(int(values[0]), values[1], values[2],
                                         values[3], values[4])
            elif o == '3':
                r = int(input("ID CONTACTO: "))
                self.leer_contacto(r)
            elif o == '4':
                r = int(input("ID CONTACTO: "))
                self.borrar_contacto(r)
            elif o == '5':
                dic = {
                    "id": "",
                    "idContacto": "",
                    "Lugar": "",
                    "Fecha": "",
                    "Hora": "",
                    "Asunto": ""
                }
                for i in dic.keys():
                    print(i, "= ")
                    dic[i] = input("")
                values = []
                for i, j in dic.items():
                    values.append(j)
                self.agregar_cita(int(values[0]), int(values[1]), values[2],
                                  values[3], values[4], values[5])
            elif o == '6':
                dic = {
                    "id": "",
                    "idContacto": "",
                    "Lugar": "",
                    "Fecha": "",
                    "Hora": "",
                    "Asunto": ""
                }
                for i in dic.keys():
                    print(i, "= ")
                    dic[i] = input("")
                values = []
                for i, j in dic.items():
                    values.append(j)
                self.actualizar_cita(int(values[0]), int(values[1]), values[2],
                                     values[3], values[4], values[5])
            elif o == '7':
                r = int(input("ID CITA: "))
                self.leer_cita(r)
            elif o == '8':
                r = int(input("ID CITA: "))
                self.borrar_cita(r)
            elif o == '9':
                r = input("Letra: ")
                self.leer_contacto_letra(r)
            elif o == '10':
                r = input("Fecha (dia/mes/año) :")
                self.leer_citas_fecha(r)
            elif o == '11':
                self.leer_todos_contactos()
            elif o == '12':
                self.leer_todas_citas()
            elif o == '13':
                self.view.end()
                break
            else:
                print("Opcion invalida.\n")

    def start(self):
        #Display a welcome message
        self.view.start()
        #Insert data in model
        self.insertar_contactos()
        self.insertar_citas()
        #Show all contacts in DB
        #self.leer_todos_contactos()
        #self.leer_contacto_letra('J')
        self.menu()
コード例 #12
0
class Controller:
    #CONSTRUCTOR
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contacto controllers
    def agregar_contacto(self, id_contacto, nombre, tel, correo, dir):
        e, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           dir)
        if e:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self,
                            id_contacto,
                            n_nombre='',
                            n_tel='',
                            n_correo='',
                            n_dir=''):
        e = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel,
                                           n_correo, n_dir)
        if e:
            self.view.actualizar_contacto(id_contacto)
        else:
            self.view.contacto_no_existe(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)
        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.leer_contactos_letra(letra)
        self.view.mostrar_contactos(c)

    #Cita controllers
    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        e, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if e:
            self.view.agregar_cita(c)
        else:
            self.view.cita_ya_existe(c)

    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_todos_citas(self):
        c = self.model.leer_todos_citas()
        self.view.mostrar_citas(c)

    def actualizar_cita(self,
                        id_cita,
                        n_id_contacto='',
                        n_lugar='',
                        n_fecha='',
                        n_hora='',
                        n_asunto=''):
        e = self.model.actualizar_cita(id_cita, n_id_contacto, n_lugar,
                                       n_fecha, n_hora, n_asunto)
        if e:
            self.view.actualizar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)
        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_citas_letra(self, letra):
        c = self.model.leer_citas_letra(letra)
        self.view.mostrar_citas(c)

    #General methods
    def insertar_contactos(self):
        self.agregar_contacto(1, 'Juan Perez', '4641661118',
                              '*****@*****.**', 'Av siempre viva 113')
        self.agregar_contacto(2, 'Carlos Martinez', '6473350',
                              '*****@*****.**', 'Cerro Azul 201')
        self.agregar_contacto(3, 'Armando Navarro', '6473350',
                              '*****@*****.**', 'Cerro Azul 201')

    def insertar_citas(self):
        self.agregar_cita(1, 1, 'Cerveceria Chapultepec', '26/05/20', '14:30',
                          'Tomar')
        self.agregar_cita(2, 1, 'MCarty´s', '26/05/20', '14:30', 'Tomar')
        self.agregar_cita(3, 2, 'MCarty´s', '26/05/20', '14:30', 'Tomar')

    def start(self):
        #print("esto es un ejemplo de vista sencillo")
        self.view.start()
        #Insert data in model
        self.insertar_contactos()
        self.insertar_citas()
        #Show all contacts in BD
        self.leer_todos_contactos()
        self.leer_todos_citas()
        self.leer_contactos_letra('A')
        self.leer_citas_letra('C')
        self.menu()

    def menu(self):
        #Display menu
        self.view.menu()
        while True:
            self.view.menu()
            o = input('Selecciona una opcion (1-9):')

            #Agregar contacto
            if o == '1':
                id_contacto = int(input('ID del contacto:'))
                nombre = input('Nombre: ')
                tel = input('Telefono: ')
                correo = input('Correo: ')
                dir = input('Direccion ')
                self.agregar_contacto(id_contacto, nombre, tel, correo, dir)

            #Buscar contacto
            elif o == '2':
                id_contacto = int(input('id del contacto que desea mostrar:'))
                self.leer_contacto(id_contacto)
            #Actualizar contacto
            elif o == '3':
                id_contacto = int(input('ID del contacto:'))
                nombre = input('Nombre: ')
                tel = input('Telefono: ')
                correo = input('Correo: ')
                dir = input('Direccion ')
                self.actualizar_contacto(id_contacto, nombre, tel, correo, dir)

            #Borrar contacto
            elif o == '4':
                id_contacto = int(input('id del contacto que desea borrar: '))
                self.borrar_contacto(id_contacto)

            #Agregar cita
            elif o == '5':
                id_cita = int(input('ID de la cita:'))
                id_contacto = int(input('ID del contacto:'))
                lugar = input('Lugar: ')
                fecha = input('Fecha: ')
                hora = input('Hora: ')
                asunto = input('Asunto: ')
                self.agregar_cita(id_cita, id_contacto, lugar, fecha, hora,
                                  asunto)

            #Mostrar cita
            elif o == '6':
                id_cita = int(input('id de la cita que desea mostrar:'))
                self.leer_cita(id_cita)

            #Actualizar cita
            elif o == '7':
                id_cita = int(input('ID de la cita:'))
                id_contacto = int(input('ID del contacto:'))
                lugar = input('Lugar: ')
                fecha = input('Fecha: ')
                hora = input('Hora: ')
                asunto = input('Asunto: ')
                self.actualizar_cita(id_cita, id_contacto, lugar, fecha, hora,
                                     asunto)

            #Borrar cita
            elif o == '8':
                id_cita = int(input('id de la cita que desea borrar: '))
                self.borrar_cita(id_cita)
                break

            #Mostrat todos los contactos
            elif o == '9':
                self.leer_todos_contactos()

            elif o == '10':
                break

            else:
                self.view.opcion_no_valida()
コード例 #13
0
ファイル: controller.py プロジェクト: JohnOrt31/mvc_agenda
class Controller:
    #Constructor
    def __init__(self):
        self.model = Model()
        self.view = View()

    #Contracto controllers
    def agregar_contacto(self, id_contacto, nombre, tel, correo, direccion):
        b, c = self.model.agregar_contacto(id_contacto, nombre, tel, correo,
                                           direccion)
        if b:
            self.view.agregar_contacto(c)
        else:
            self.view.contacto_ya_existe(c)

    def leer_contacto(self, id_contacto):
        e, c = self.model.leer_contacto(id_contacto)
        if e:
            self.view.mostrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_todos_contactos(self):
        c = self.model.leer_todos_contactos()
        self.view.mostrar_contactos(c)

    def actualizar_contacto(self,
                            id_contacto,
                            n_nombre='',
                            n_tel='',
                            n_correo='',
                            n_dir=''):
        e, c = self.model.actualizar_contacto(id_contacto, n_nombre, n_tel,
                                              n_correo, n_dir)

        if e:
            self.view.actualizar_contacto(c)
        else:
            self.view.contacto_no_existen(id_contacto)

    def borrar_contacto(self, id_contacto):
        e, c = self.model.borrar_contacto(id_contacto)

        if e:
            self.view.borrar_contacto(c)
        else:
            self.view.contacto_no_existe(id_contacto)

    def leer_contactos_letra(self, letra):
        c = self.model.leer_contacto_letra(letra)
        self.view.mostrar_contactos(c)

    #Cita controllers
    def agregar_cita(self, id_cita, id_contacto, lugar, fecha, hora, asunto):
        b, c = self.model.agregar_cita(id_cita, id_contacto, lugar, fecha,
                                       hora, asunto)
        if b:
            self.view.crear_cita(c)
        else:
            self.view.cita_ya_existe(c)

    def leer_cita(self, id_cita):
        e, c = self.model.leer_cita(id_cita)
        if e:
            self.view.mostrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

    def leer_todas_citas(self):
        c = self.model.leer_todas_citas()
        self.view.mostrar_citas(c)

    def actualizar_cita(self,
                        id_cita,
                        id_contacto='',
                        lugar='',
                        fecha='',
                        hora='',
                        asunto=''):
        e = self.model.actualizar_cita(self, id_cita, n_id_contacto, n_lugar,
                                       n_fecha, n_hora, n_asunto)

        if e:
            self.view.modificar_cita(id_cita)
        else:
            self.view.cita_no_existe(id_cita)

    def borrar_cita(self, id_cita):
        e, c = self.model.borrar_cita(id_cita)

        if e:
            self.view.borrar_cita(c)
        else:
            self.view.cita_no_existe(id_cita)

############### Ejte ... yo tengo... otros ... datos #############3

    def insertar_contactos(self):
        self.agregar_contacto(1, 'Juan Perez', '464-123-1234', '*****@*****.**',
                              'Arteaga No. 5, San Miguel, Salamanca')
        self.agregar_contacto(2, 'Amanda Leon', '464-987-1234', '*****@*****.**',
                              'Villapaldo No.9 Paraiso, Celaya')
        self.agregar_contacto(3, 'Jessica Mendoza', '461-912-1234',
                              '*****@*****.**',
                              'Girasol No.12 Manzanos, Guanajuato')

    def insertar_citas(self):
        pass

    def start(self):
        #Display a welcome message
        self.view.start()
        self.menu()
        self.view.end()
        #Insert data in mdoel
        #self.insertar_contactos()
        #self.insertar_citas()
        # Show all contacts in DB
        #self.leer_todos_contactos()
        #self.leer_contactos_letra('a')

    def menu(self):
        #Display menu
        self.view.menu()
        o = input('Seleciona una opcion (1-9): ')
        if o == '1':
            self.insertar_contactos()
            self.return_menu()

        elif o == '2':
            self.leer_todos_contactos()
            self.return_menu()

        elif o == '3':
            self.actualizar_contacto(3, 'Jessica Mendoza', '461-912-1234',
                                     '*****@*****.**',
                                     'Girasol No.12 Arboleada Guanajuato')
            self.return_menu()

        elif o == '9':
            self.view.end()

        else:
            self.view.opcion_no_valida()

    def return_menu(self):
        inp = input('Deseas elegir otra opción? \ns: Si \nn: No \n')
        if inp == 's':
            self.menu()
        elif inp == 'n':
            pass