Пример #1
0
        /// <summary>
        /// Método para apresentar o menu e recolher a opção do utilizador
        /// </summary>
        /// <returns>Opção escolhida</returns>
        static int Menu()
        {
            int opcao = -1;

            Console.Clear();

            Console.WriteLine("====== MENU ======");
            Console.WriteLine("1 - Registar cliente");
            Console.WriteLine("2 - Existe cliente?");
            Console.WriteLine();
            Console.WriteLine("3 - Registar obrigação");
            Console.WriteLine("4 - Existe obrigação?");
            Console.WriteLine();
            Console.WriteLine("5 - Registar funcionário");
            Console.WriteLine("6 - Existe funcionário?");
            Console.WriteLine();
            Console.WriteLine("7 - Registar Registo");
            Console.WriteLine();
            Console.WriteLine("8 - Listar registos por obrigação");
            Console.WriteLine("9 - Listar registos por cliente");
            Console.WriteLine();
            Console.WriteLine("10 - Elimina cliente");
            Console.WriteLine("11 - Elimina obrigação");
            Console.WriteLine("12 - Elimina funcionário");
            Console.WriteLine();
            Console.WriteLine("0 - Sair");
            Console.Write("Introduza a opção que deseja: ");
            opcao = RegrasGerais.LeInteiro();

            return opcao;
        }
Пример #2
0
        /// <summary>
        /// 
        /// </summary>
        static void ListaPorCliente()
        {
            // Variáveis auxiliares
            Cliente cliente;
            int nifCliente;
            List<Registo> listagemRegistos;

            // Perguntar ao utilizador o nif do cliente
            Console.WriteLine("Insira o nif do cliente: ");
            nifCliente = RegrasGerais.LeInteiro();

            // Obter cliente
            cliente = Clientes.EnviaCliente(nifCliente);

            // Verificar se o cliente não existe
            if (cliente == null)
            {
                Console.WriteLine("Esse cliente não se encontra registado");
                return;
            }

            // Obter registos do cliente
            listagemRegistos = Registos.ListarPorCliente(cliente);

            // Verificar se tem registos associados
            if (listagemRegistos.Count == 0)
            {
                Console.WriteLine("Não existem registos nessa obrigação.");
                return;
            }

            Console.WriteLine($"Nome do cliente: {cliente.Nome}");

            // Listar registos do cliente
            foreach (Registo r in listagemRegistos)
            {
                Console.WriteLine($"Obrigação: {r.Obrigacao.Nome}");
                Console.WriteLine($"Mês: {r.Mes}");
                Console.WriteLine($"Ano: {r.Ano}");
                Console.WriteLine($"Estado: {r.Estado}");
                Console.WriteLine($"Funcionário: {r.Funcionario.Username}");
                Console.WriteLine("########\n");
            }
        }
Пример #3
0
        // Opção 10 do menu
        /// <summary>
        /// Método para eliminar um cliente
        /// </summary>
        /// <returns></returns>
        static void EliminaCliente()
        {
            // Variável auxiliar
            int nif;
            string aux;

            // Limpar consola
            Console.Clear();

            // Perguntar ao utilizador o nif do cliente que pretende eliminar
            Console.Write("Insira o nif do cliente que deseja eliminar: ");
            nif = RegrasGerais.LeInteiro();

            if (nif == -1)
            {
                Console.WriteLine("O nif é inválido.");
                return;
            }

            if (!ControladorBL.Clientes.ExisteCliente(nif))
            {
                Console.WriteLine("Esse cliente não se encontra registado!");
                return;
            }

            Console.Clear();

            Console.Write("ESTA AÇÃO É IRREVERSÍVEL! TODOS OS DADOS DESTE CLIENTE SÃO ELIMINADOS!\n TEM A CERTEZA QUE DESEJA CONTINUAR? CASO SIM, DIGITE \"S\"\n");
            aux = Console.ReadLine();

            if (aux != "S")
            {
                Console.WriteLine("O cliente não foi eliminado porque o utilizador cancelou.");
                return;
            }

            if (ControladorBL.Clientes.EliminaCliente(nif))
            {
                Console.WriteLine("O cliente foi eliminado.");
                return;
            }

            Console.WriteLine("O cliente não foi eliminado.");
        }
Пример #4
0
        // Opção 1 do menu
        /// <summary>
        /// Método para registar um novo cliente
        /// </summary>
        /// <returns></returns>
        static void RegistarCliente()
        {
            // Variáveis auxiliares
            int nif;
            string nome;
            Cliente cliente;

            Console.Write("Insira o NIF do cliente: ");
            nif = RegrasGerais.LeInteiro();

            // Verificar se o NIF do cliente já está registado
            if (Clientes.ExisteCliente(nif))
            {
                Console.WriteLine("O NIF indicado já se encontra registado!");
                return;
            }

            Console.Write("Insira o nome: ");
            nome = Console.ReadLine();

            // Verificar se o nome inserido é válido
            if (!RegrasGerais.ValidaNome(nome))
            {
                Console.WriteLine("O nome não é válido!\n Tente novamente!");
                return;
            }

            cliente = new Cliente(nif, nome);

            // se o cliente não for inserido
            if (!Clientes.RegistaCliente(cliente))
            {
                Console.WriteLine("O cliente não foi adicionado.");
                return;
            }

            Console.WriteLine("O cliente foi adicionado.");
        }
Пример #5
0
        // Opção 5 do menu
        /// <summary>
        /// Método para registar um novo funcionário
        /// </summary>
        /// <returns></returns>
        static void RegistaFuncionario()
        {
            // Variáveis auxiliares
            int tentativas;
            string username, password;
            Funcionario funcionario;

            // Inicializar variáveis
            tentativas = 0;
            username = "";

            while (!RegrasGerais.ValidaNome(username))
            {
                if (tentativas > 0)
                    Console.WriteLine("O username não é válido");

                Console.Write("Insira o username: "******"Insira a password: "******"O funcionário não foi registado");
                return;
            }

            Console.WriteLine("O funcionário foi registado");
        }
Пример #6
0
        // Opção 7 do menu
        /// <summary>
        /// Método para registar tarefas efetuadas
        /// </summary>
        /// <returns></returns>
        static void RegistaRegisto()
        {
            // Variáveis auxiliares
            Cliente cliente;
            Funcionario funcionario;
            Obrigacao obrigacao;
            Registo registo;
            Estado estadoRegisto;
            int mes, ano, nif, tentativas;
            string username, nomeObrigacao;

            // Inicializar variáveis
            cliente = null;
            funcionario = null;
            obrigacao = null;
            tentativas = 0;
            mes = 0;
            ano = 0;

            Console.WriteLine("Cria registo!");

            // Ciclo que pergunta o cliente até ser válido
            while (cliente == null)
            {
                if (tentativas > 0)
                    Console.WriteLine("Esse cliente não existe!");

                Console.WriteLine("Insira o NIF do cliente associado: ");
                nif = RegrasGerais.LeInteiro();

                cliente = Clientes.EnviaCliente(nif);
                tentativas++;
            }

            tentativas = 0;

            // Ciclo que pergunta o cliente até ser válido
            while (funcionario == null)
            {
                if (tentativas > 0)
                    Console.WriteLine("Esse funcionário não existe!");

                Console.WriteLine("Insira o username do funcionário associado: ");
                username = Console.ReadLine();

                funcionario = Funcionarios.EnviaFuncionario(username);
                tentativas++;
            }

            tentativas = 0;

            // Ciclo que pergunta a obrigação até ser válida
            while (obrigacao == null)
            {
                if (tentativas > 0)
                    Console.WriteLine("Essa obrigação não existe!");

                Console.WriteLine("Insira o nome da obrigação associada: ");
                nomeObrigacao = Console.ReadLine();

                obrigacao = Obrigacoes.EnviaObrigacao(nomeObrigacao);
                tentativas++;
            }

            tentativas = 0;

            // Pede ao utilizador o estado do registo
            estadoRegisto = RegrasGerais.LeEstado();

            // Ciclo para verificar se o mês é válido
            while (mes > 12 || mes < 1)
            {
                if (tentativas > 0)
                    Console.WriteLine("Esse mês não existe!");

                Console.WriteLine("Insira o mês do registo: ");
                mes = RegrasGerais.LeInteiro();

                tentativas++;
            }

            tentativas = 0;

            // Ciclo para verificar se o ano é válido
            while (ano < 2000 || ano > DateTime.Now.Year)
            {
                if (tentativas > 0)
                    Console.WriteLine("Esse ano não é aceite!");

                Console.WriteLine("Insira o ano do registo: ");
                ano = RegrasGerais.LeInteiro();

                tentativas++;
            }

            // Cria o registo
            registo = new Registo(cliente, funcionario, obrigacao, mes, ano, estadoRegisto);

            // Verificar se o registo não foi adicionado
            if (!Registos.RegistaRegisto(registo))
            {
                Console.WriteLine("O registo não foi registado.");
                return;
            }

            Console.WriteLine("O registo foi registado.");
        }