Esempio n. 1
0
        public static void RegistrarEquipamento(int idEquipamentoSelecionado)
        {
            Console.Clear();

            string nome = "";
            bool   nomeInvalido;

            do
            {
                nomeInvalido = false;
                Console.Write("Digite o nome do equipamento: ");
                nome = Console.ReadLine();
                if (nome.Length < 6)
                {
                    nomeInvalido            = true;
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine("Nome inválido. No mínimo 6 caracteres");
                    Console.ResetColor();
                }
            } while (nomeInvalido);


            Console.Write("Digite o preço do equipamento: ");
            double preco = Convert.ToDouble(Console.ReadLine());

            Console.Write("Digite o número do equipamento: ");
            string numeroSerie = Console.ReadLine();

            Console.Write("Digite a data de fabricação do equipamento: ");
            DateTime dataFabricacao = Convert.ToDateTime(Console.ReadLine());

            Console.Write("Digite o fabricante do equipamento: ");
            string fabricante = Console.ReadLine();

            int posicao = ObterPosicaoParaEquipamentos(idEquipamentoSelecionado);

            Equipamento equipamento = null;

            if (idEquipamentoSelecionado == 0)
            {
                equipamento = new Equipamento();
            }

            else
            {
                equipamento = listaEquipamento[posicao];
            }

            equipamento.idEquipamento             = IdEquipamento;
            equipamento.nomeEquipamento           = nome;
            equipamento.numeroSerieEquipamento    = numeroSerie;
            equipamento.precoEquipamento          = preco;
            equipamento.dataFabricacaoEquipamento = dataFabricacao;
            equipamento.fabricanteEquipamento     = fabricante;

            listaEquipamento[posicao] = equipamento;
        }
        public void RegistrarEquipamento()
        {
            Console.Clear();
            Equipamento equipamento  = new Equipamento();
            int         posicao      = ObterPosicaoParaEquipamentos();
            bool        nomeInvalido = false;

            do
            {
                Console.Write("Digite o nome do equipamento: ");
                equipamento.nomeEquipamento = Console.ReadLine();
                if (equipamento.nomeEquipamento.Length < 6)
                {
                    nomeInvalido = true;
                    menu.mensagemErro("Nome inválido. No mínimo 6 caracteres");
                }
                else
                {
                    nomeInvalido = false;
                }
            } while (nomeInvalido);


            Console.Write("Digite o preço do equipamento: ");
            equipamento.precoEquipamento = Convert.ToDouble(Console.ReadLine());

            Console.Write("Digite o número de série do equipamento: ");
            equipamento.numeroSerieEquipamento = Console.ReadLine();

            Console.Write("Digite a data de fabricação do equipamento: ");
            equipamento.dataFabricacaoEquipamento = Convert.ToDateTime(Console.ReadLine());

            Console.Write("Digite o fabricante do equipamento: ");
            equipamento.fabricanteEquipamento = Console.ReadLine();

            equipamento.idEquipamento = idEquipamento++;

            listaEquipamento[posicao] = equipamento;
            quantidadeEquipamento++;
        }
        private void EditorDeEquipamento(int posicao)
        {
            Equipamento equipamento  = new Equipamento();
            bool        nomeInvalido = false;

            do
            {
                Console.Write("Digite o nome do equipamento: ");
                equipamento.nomeEquipamento = Console.ReadLine();
                if (equipamento.nomeEquipamento.Length < 6)
                {
                    nomeInvalido = true;
                    menu.mensagemErro("Nome inválido. No mínimo 6 caracteres");
                }
                else
                {
                    nomeInvalido = false;
                }
            } while (nomeInvalido);


            Console.Write("Digite o preço do equipamento: ");
            equipamento.precoEquipamento = Convert.ToDouble(Console.ReadLine());

            Console.Write("Digite o número de série do equipamento: ");
            equipamento.numeroSerieEquipamento = Console.ReadLine();

            Console.Write("Digite a data de fabricação do equipamento: ");
            equipamento.dataFabricacaoEquipamento = Convert.ToDateTime(Console.ReadLine());

            Console.Write("Digite o fabricante do equipamento: ");
            equipamento.fabricanteEquipamento = Console.ReadLine();

            equipamento.idEquipamento = posicao;

            listaEquipamento[posicao] = equipamento;
        }
        /** Requisito 1.1 [OK] [12,5 % Concluído]
         * Como funcionário, Junior quer ter a possibilidade
         * de registrar equipamentos
         *
         *  Critérios:
         *
         *   •  Deve ter um nome com no mínimo 6 caracteres;
         *   •  Deve ter um preço de aquisição;
         *   •  Deve ter um número de série;
         *   •  Deve ter uma data de fabricação;
         *   •  Deve ter uma fabricante;
         */

        /** Requisito 1.2 [OK] [25% Concluído]
         * Como funcionário, Junior quer ter a possibilidade
         * de visualizar todos os equipamentos registrados em seu inventário
         *
         *  Critérios:
         *
         *   •  Deve mostrar o nome;
         *   •  Deve mostrar o preço de aquisição;
         *   •  Deve mostrar o número de série;
         *   •  Deve mostrar a data de fabricação;
         *   •  Deve mostrar o fabricante;
         */

        /** Requisito 1.3 [OK] [37,5% Concluído]
         * Como funcionário, Junior quer ter a possibilidade
         * de editar um equipamento, sendo que ele possa editar todos os campos
         *
         *  Critérios:
         *
         *   •  Deve ter os mesmos critérios que o Requisito 1.1
         */

        /** Requisito 1.4 [OK] [50% Concluído]
         *
         * Como funcionário, Junior quer ter a possibilidade
         * de excluir um equipamento que esteja registrado.
         *
         *    •   A lista de equipamentos deve ser atualizada
         */

        /** Requisito 2.1 [OK] [62,5% Concluído]
         *
         * Como funcionário, Junior quer ter a possibilidade
         * de registrar os chamados de manutenções que são efetuadas nos equipamentos registrados
         *
         *       •  Deve ter a título do chamado;
         *       •  Deve ter a descrição do chamado;
         *       •  Deve ter um equipamento;
         *       •  Deve ter uma data de abertura;
         */

        /** Requisito 2.2 [OK] [75% Concluído]
         *
         * Como funcionário, Junior quer ter a possibilidade de
         * visualizar todos os chamados registrados para controle.
         *
         *      •  Deve ter o id do chamado;
         *      •  Deve ter a título do chamado;
         *      •  Deve ter a descrição do chamado;
         *      •  Deve ter um equipamento;
         *      •  Deve ter uma data de abertura;
         */

        /** Requisito 2.3 [OK] [87,5% Concluído]
         *
         * Como funcionário, Junior quer ter a possibilidade de
         * editar um chamado que esteja registrado, sendo que ele possa editar todos os campos
         *
         *      •  Deve ter os mesmos critérios que o Requisito 2.1
         */

        /** Requisito 2.4 [OK] [100% Concluído]
         *
         * Como funcionário, Junior quer ter a possibilidade
         * de excluir um chamado
         *
         *      •  A lista de chamados deve ser atualizada
         */



        static void Main(string[] args)
        {
            Menu        menu        = new Menu();
            Equipamento equipamento = new Equipamento();
            Chamado     chamado     = new Chamado();

            while (true)
            {
                string opcao = menu.ObterMenuPrincipal();


                if (menu.EhOpcaoSair(opcao))
                {
                    break;
                }
                if (menu.EhOpcaoInvalidaMenuPrincipal(opcao))
                {
                    menu.mensagemErro("Opção Inválida, tente novamente"); continue;
                }
                if (opcao == "1")
                {
                    string opcaoCadastroEquipamentos = menu.ObterOpcaoCadastroEquipamentos();

                    if (menu.EhOpcaoSair(opcaoCadastroEquipamentos))
                    {
                        break;
                    }
                    if (menu.EhOpcaoInvalidaSubMenu(opcaoCadastroEquipamentos))
                    {
                        break;
                    }

                    if (opcaoCadastroEquipamentos == "1")
                    {
                        equipamento.RegistrarEquipamento();
                    }

                    else if (opcaoCadastroEquipamentos == "2")
                    {
                        equipamento.VisualizarEquipamentos();
                    }

                    else if (opcaoCadastroEquipamentos == "3")
                    {
                        equipamento.EditarEquipamento();
                    }

                    else if (opcaoCadastroEquipamentos == "4")
                    {
                        equipamento.ExcluirEquipamento();
                    }
                }
                else if (opcao == "2")
                {
                    string opcaoControleChamados = menu.ObterOpcaoControleChamados();

                    if (menu.EhOpcaoSair(opcaoControleChamados))
                    {
                        break;
                    }
                    if (menu.EhOpcaoInvalidaSubMenu(opcaoControleChamados))
                    {
                        break;
                    }

                    if (opcaoControleChamados == "1")
                    {
                        chamado.RegistrarChamado();
                    }

                    else if (opcaoControleChamados == "2")
                    {
                        chamado.VisualizarChamados();
                    }

                    else if (opcaoControleChamados == "3")
                    {
                        chamado.EditarChamado();
                    }

                    else if (opcaoControleChamados == "4")
                    {
                        chamado.ExcluirChamado();
                    }
                }

                Console.Clear();
            }
        }
        static void Main(string[] args)
        {
            List <Equipamento> equipamentos = new List <Equipamento>();
            List <Chamado>     chamados     = new List <Chamado>();
            Chamado            chamado      = new Chamado();

            Equipamento equipamento = new Equipamento();
            string      menu;

            bool sair = true;

            do
            {
                menu = OpcaoMenu();

                if (menu == "1")
                {
                    var equipTemp = equipamento.registrar();
                    equipamentos.Add(equipTemp);
                    continue;
                }
                if (menu == "2")
                {
                    equipamento.mostrar(equipamentos);
                    continue;
                }
                if (menu == "3")
                {
                    Console.WriteLine("Excluindo equipamentos....\n");

                    equipamento.mostrar(equipamentos);

                    Console.WriteLine("Digite o número do equipamento que deseja excluir");

                    int numeroSelecionado = Convert.ToInt32(Console.ReadLine());

                    var equipamentoTemp = equipamentos;

                    for (int i = 0; i < equipamentos.Count; i++)
                    {
                        if (equipamentos[i].Id == numeroSelecionado)
                        {
                            equipamentos.RemoveRange(i, 1);
                        }
                    }

                    Console.WriteLine("Equipamento excluído com sucesso! \n");
                    continue;
                }
                if (menu == "4")
                {
                    if (equipamentos.Count == 0)
                    {
                        Console.WriteLine("Nenhum equipamento cadastrado....\n");
                    }
                    else
                    {
                        Console.WriteLine("Editando equipamentos....\n");

                        equipamento.mostrar(equipamentos);

                        Console.WriteLine("Digite o número do equipamento que deseja editar");

                        int numeroSelecionado = Convert.ToInt32(Console.ReadLine());

                        foreach (var item in equipamentos)
                        {
                            if (item.Id == numeroSelecionado)
                            {
                                equipamento.editar(item);
                            }
                        }
                    }

                    continue;
                }
                if (menu == "5")
                {
                    chamados.Add(chamado.registrar());
                    continue;
                }
                if (menu == "6")
                {
                    chamado.mostrar(chamados);
                    continue;
                }

                if (menu == "7")
                {
                    ExcluirChamados(chamados, chamado);
                }

                if (menu == "8")
                {
                    if (chamados.Count == 0)
                    {
                        Console.WriteLine("Nenhuma Chamada cadastrada....\n");
                    }
                    else
                    {
                        Console.WriteLine("Editando Chamada....\n");

                        chamado.mostrar(chamados);

                        Console.WriteLine("Digite o número da Chamada que deseja editar");

                        int numeroSelecionado = Convert.ToInt32(Console.ReadLine());

                        foreach (var item in chamados)
                        {
                            if (item.id == numeroSelecionado)
                            {
                                chamado.Editar(item);
                            }
                        }
                    }
                }


                if (menu.Equals("0"))
                {
                    sair = false;
                }
            } while (sair);
        }