コード例 #1
0
ファイル: cli.py プロジェクト: sdrrv/AED_Projeto_G01
class CLI:
    def __init__(self):
        self.controller = Controller()

        while True:
            line = input()
            if line == "":
                exit()
            commands = line.split()

            # Resgistar Profissional-----------------------"RP Categoria Nome"
            if (commands[0] == "RP"):
                if self.controller.has_professional(commands[2]):
                    print("Profissional existente.")

                elif not self.controller.has_categoria(commands[1]):
                    print("Categoria inexistente.")

                else:
                    self.controller.registar_profissional(
                        commands[1], commands[2])
                    print("Profissional registado com sucesso.")

            # Resgistar Utente------------------------------"RU Nome FaixaEtária"
            elif (commands[0] == "RU"):

                if self.controller.has_utente(commands[1]):
                    print("Utente existente.")

                elif not self.controller.has_faixa_etaria(commands[2]):
                    print("Faixa etária inexistente.")

                else:
                    self.controller.registar_utente(commands[1], commands[2])
                    print("Utente registado com sucesso.")

            # Resgistar Familia-----------------------------"RF NomeFamilia"
            elif (commands[0] == "RF"):

                if self.controller.has_familia(commands[1]):
                    print("Família existente.")
                else:
                    self.controller.registar_familia(commands[1])
                    print("Família registada com sucesso.")

            # Associar utente a familia---------------------"AF Nome NomeFamiia"
            elif (commands[0] == "AF"):
                if not self.controller.has_utente(commands[1]):
                    print("Utente inexistente.")

                elif not self.controller.has_familia(commands[2]):
                    print("Família inexistente.")

                elif self.controller.get_utente(
                        commands[1]).get_familia() != None:
                    print("Utente pertence a família.")
                else:
                    self.controller.associar_utente_a_familia(
                        commands[1], commands[2])
                    print("Utente associado a família.")

            # Desassociar utende de familia------------------"DF Nome"
            elif (commands[0] == "DF"):
                if not self.controller.has_utente(commands[1]):
                    print("Utente inexistente.")

                elif not self.controller.get_utente(commands[1]).has_familia():
                    print("Utente não pertence a família.")

                else:
                    self.controller.desassociar_utente_a_familia(commands[1])
                    print("Utente desassociado de família.")

            # Listar Profissionais---------------------------"LP"
            elif (commands[0] == "LP"):
                if not self.controller.has_profissionais():
                    print("Sem profissionais registados.")
                else:
                    profissionais = self.controller.listar_profissionais()
                    categoria = Cheats().categoria()
                    #categoria = self.controller.categorias_to_array()
                    for i in range(3):
                        for name in profissionais.get(i):
                            print(f"{categoria[i]} {name}.")

            # Listar Utentes---------------------------------"LU"
            elif (commands[0] == "LU"):
                if not self.controller.has_utentes():
                    print("Sem utentes registados.")
                else:
                    utentes = self.controller.listar_utentes()
                    etaria = Cheats().faixas()
                    for i in range(3):
                        for name in utentes.get(i):
                            print(f"{etaria[i]} {name}.")

            # Listar Familias--------------------------------"LF"
            elif (commands[0] == "LF"):
                if not self.controller.has_familias():
                    print("Sem famílias registadas.")
                else:
                    familias = self.controller.listar_familias()
                    for name in familias:
                        print(f'{name}.')

            # Mostrar Familia--------------------------------"MF NomeFamila"
            elif (commands[0] == "MF"):
                if not self.controller.has_familia(commands[1]):
                    print("Família inexistente.")
                else:
                    familia = self.controller.mostrar_familia(commands[1])
                    etaria = Cheats().faixas()
                    for i in range(3):
                        for name in familia.get(0):
                            print(f"{etaria[i]} {name}.")

            # Marcar ciudados a utente-----------------------"MC Nome // Serviço // Categoria Nome Profissional"
            elif (commands[0] == "MC"):
                if not self.controller.has_utente(commands[1]):
                    print("Utente inexistente.")
                else:
                    nome = commands[1]
                    dump = self.controller.create_dump()
                    sequence = self.controller.create_dump()
                    while True:
                        checker = self.controller.create_checker()
                        subline = input()
                        if subline == "":
                            break
                        inp = subline.split()
                        if len(inp) == 1:
                            servico = inp[0]
                            if not self.controller.has_servico(inp[0]):
                                checker.change_servico()
                            else:
                                sequence.insert_last(servico)
                        elif len(inp) == 2:
                            if not self.controller.has_categoria(inp[0]):
                                checker.change_categoria()
                            elif not self.controller.has_professional(inp[1]):
                                checker.change_profissional()
                            else:
                                categoria = inp[0]
                                profissional = inp[1]
                                if not self.controller.servico_has_categoria(
                                        servico, categoria):
                                    checker.change_cinvalida()
                                else:
                                    cuidado = self.controller.create_cuidado(
                                        nome, servico, categoria, profissional)
                                    dump.insert_last(cuidado)

                    if not self.controller.is_valid_sequence(sequence):
                        checker.change_sinvalida()
                    if checker.checks_out():
                        self.controller.marcar_cuidados_a_utente(nome, dump)
                        print("Cuidados marcados com sucesso.")
                    else:
                        print(self.controller.give_checker_error(checker))

            # Cancelar cuidados a utente---------------------"CC Nome"
            elif (commands[0] == "CC"):
                if not self.controller.has_utente(commands[1]):
                    print("Utente inexistente.")
                elif not self.controller.has_utente_any_cuidados(commands[1]):
                    print("Utente sem cuidados de saúde marcados.")
                else:
                    self.controller.cancelar_cuidados_marcados_a_utente(
                        commands[1])
                    print("Cuidados de saúde desmarcados com sucesso.")

            # Listar cuidados marcados a utente -------------"LCU Nome"
            elif (commands[0] == "LCU"):
                if not self.controller.has_utente(commands[1]):
                    print("Utente inexistente.")
                elif not self.controller.has_utente_any_cuidados(commands[1]):
                    print("Utente sem cuidados de saúde marcados.")
                else:

                    pass

            # Listar cuidados marcados a Familia -------------"LCF NomeFamilia"
            elif (commands[0] == "LCF"):
                pass

            # Listar serviços marcados a profissional----------"LSP Categoria NomeProfissional"
            elif (commands[0] == "LSP"):
                pass

            # Listar marcações por tipo de serviço--------------"LMS Serviço"
            elif (commands[0] == "LMS"):
                pass

            else:
                print("Instrução inválida.")
コード例 #2
0
ファイル: novocli.py プロジェクト: sdrrv/AED_Projeto_G01
class CLI():
    def __init__(self):
        self.controller = Controller()

        while True:
            line = input()
            if line == "":
                exit()
            commands = line.split()
            ###########################################################################################
            # Resgistar Profissional
            if (commands[0] == "RP"):
                if self.controller.has_professional(commands[2]):
                    print("Profissional existente.")
                elif not self.controller.has_categoria(commands[1]):
                    print("Categoria inexistente.")

                else:
                    self.controller.registar_profissional(
                        commands[1], commands[2])
                    print("Profissional registado com sucesso.")
###########################################################################################
            elif (commands[0] == "RU"):
                if self.controller.has_utente(commands[1]):
                    print("Utente existente.")

                elif not self.controller.has_faixa_etaria(commands[2]):
                    print("Faixa etária inexistente.")

                else:
                    self.controller.registar_utente(commands[1], commands[2])
                    print("Utente registado com sucesso.")
###########################################################################################
            elif (commands[0] == "RF"):
                if self.controller.has_familia(commands[1]):
                    print("Família existente.")
                else:
                    self.controller.registar_familia(commands[1])
                    print("Família registada com sucesso.")

###########################################################################################
            elif (commands[0] == "AF"):
                if not self.controller.has_utente(commands[1]):
                    print("Utente inexistente.")
                elif not self.controller.has_familia(commands[2]):
                    print("Família inexistente.")
                elif self.controller.has_utente_a_familia(command[1]):
                    print("Utente pertence a família.")
                else:
                    self.controller.associar_utente_a_familia(
                        commands[1], commands[2])
                    print("Utente associado a família.")

###########################################################################################
            elif (commands[0] == "DF"):
                if not self.controller.has_utente(commands[1]):
                    print("Utente inexistente.")
                elif not self.controller.has_utente_a_familia(commands[1]):
                    print("Utente não pertence a família.")
                else:
                    self.controller.desassociar_utente_a_familia(commands[1])
                    print("Utente desassociado de família.")
###########################################################################################
            elif (commands[0] == "LP"):
                if not self.controller.has_profissionais():
                    print("Sem profissionais registados.")
                else:
                    self.controller.listar_profissionais()