Пример #1
0
    public static void Main(string[] args)
    {
        int          entrada = 0, submenu = 0, qtdPontos = 0;
        FileStream   dados1         = new FileStream("OrdemServico1.txt", FileMode.Open, FileAccess.Write);//Arquivo pessoa Fisica
        StreamWriter dados1escrever = new StreamWriter(dados1, Encoding.UTF8);

        FileStream   dados2         = new FileStream("OrdemServico2.txt", FileMode.Open, FileAccess.Write);//Arquivo Pessoa Juridica
        StreamWriter dados2escrever = new StreamWriter(dados2, Encoding.UTF8);

        Console.Clear();

        Console.WriteLine("\n*****Orçamento de Manutenção/ Instalação de Sistema de Segurança*****");
        Console.WriteLine("***Investir em Segurança, é investir em qualidade de vida... Parabéns!!!***");
        Console.WriteLine("\n**Dica: duvide sempre da qualidade do preço baixo, a dor de cabeça irá lhe acompanhar!!!**");

        while (entrada == 0)
        {
            try{
                Console.WriteLine("\nPreciso saber, quem é você? 1- Pessoa Fisica ou 2- Pessoa Juridica ");
                entrada = Convert.ToInt32(Console.ReadLine());
            }catch (OverflowException qtdNumerosException) {
                Console.WriteLine("Informação Inválida");
                entrada = 0;
            }catch (FormatException letrasException) {
                Console.WriteLine("Informação Inválida");
                entrada = 0;
            }

            switch (entrada)
            {
            case 1:
                PessoaFisica orcamento1 = new PessoaFisica();
                Console.WriteLine("Agora preciso que me informe seu CPF:");
                while (!orcamento1.SetCpf())
                {
                    Console.WriteLine("O valor informado não é válido, informe os 11 digitos:");
                }
                while (!orcamento1.SetNomeCliente())
                {
                    Console.WriteLine("O nome informado é inválido, não use numeros. Digite novamente: ");
                }
                while (!orcamento1.SetTelefoneCliente())
                {
                    Console.WriteLine("O telefone informado é inválido, não use letras. Digite novamente: ");
                }
                orcamento1.SetEndereco();

                while (submenu == 0)
                {
                    try{
                        Console.WriteLine("Informe o tipo de serviço que deseja? 1- Instalação de Câmeras ou 2- Instalação de Alarme.");
                        submenu = Convert.ToInt32(Console.ReadLine());
                    }catch (OverflowException qtdNumerosException) {
                        Console.WriteLine("Informação Inválida");
                        submenu = 0;
                    }catch (FormatException letrasException) {
                        Console.WriteLine("Informação Inválida");
                        submenu = 0;
                    }
                    if (submenu == 1)
                    {
                        while ((qtdPontos == 0) || (qtdPontos > 32))
                        {
                            try{
                                Console.WriteLine("Informe quantos pontos de Câmeras quer instalar? Não deve ser superior a 32, neste caso contate o consultor!");
                                qtdPontos = Convert.ToInt32(Console.ReadLine());
                            }catch (OverflowException qtdNumerosException) {
                                Console.WriteLine("Informação Inválida");
                                qtdPontos = 0;
                            }catch (FormatException letrasException) {
                                Console.WriteLine("Informação Inválida");
                                qtdPontos = 0;
                            }
                        }
                        Camera servico1 = new Camera(qtdPontos);
                        servico1.SetTipoServico(submenu);
                        servico1.SetQtdPontos(qtdPontos);

                        dados1escrever.WriteLine(entrada);
                        dados1escrever.WriteLine(orcamento1.GetCpf());
                        dados1escrever.WriteLine(orcamento1.GetNomeCliente());
                        dados1escrever.WriteLine("");                                //Espaço Razão Social
                        dados1escrever.WriteLine(orcamento1.GetTelefoneCliente());
                        dados1escrever.WriteLine(orcamento1.GetEndereco());
                        dados1escrever.WriteLine(servico1.GetTipoServico());
                        dados1escrever.WriteLine(servico1.GetQtdPontos());
                        dados1escrever.WriteLine(servico1.GetQtdBnc());
                        dados1escrever.WriteLine(servico1.GetQtdP4());
                        dados1escrever.WriteLine(servico1.GetQtdCaixaProtecao());
                        dados1escrever.WriteLine(servico1.GetQtdCaboRede());
                        dados1escrever.WriteLine(servico1.GetQtdCaboCoaxial());
                        dados1escrever.WriteLine(servico1.GetTamanhoHd());
                        dados1escrever.WriteLine(servico1.GetModeloDvr());
                        dados1escrever.WriteLine(servico1.GetTamanhoFonte());
                        dados1escrever.Close();
                        dados1.Close();
                    }
                    else if (submenu == 2)
                    {
                        while ((qtdPontos == 0) || (qtdPontos > 18))
                        {
                            try{
                                Console.WriteLine("Informe quantos pontos de Sensores quer instalar? Não deve ser superior a 18, neste caso contate o consultor!");
                                qtdPontos = Convert.ToInt32(Console.ReadLine());
                            }catch (OverflowException qtdNumerosException) {
                                Console.WriteLine("Informação Inválida");
                                qtdPontos = 0;
                            }catch (FormatException letrasException) {
                                Console.WriteLine("Informação Inválida");
                                qtdPontos = 0;
                            }
                        }
                        Alarme servico1 = new Alarme(qtdPontos);
                        servico1.SetTipoServico(submenu);
                        servico1.SetQtdPontos(qtdPontos);

                        dados1escrever.WriteLine(entrada);
                        dados1escrever.WriteLine(orcamento1.GetCpf());
                        dados1escrever.WriteLine(orcamento1.GetNomeCliente());
                        dados1escrever.WriteLine("");                                //Espaço Razão Social
                        dados1escrever.WriteLine(orcamento1.GetTelefoneCliente());
                        dados1escrever.WriteLine(orcamento1.GetEndereco());
                        dados1escrever.WriteLine(servico1.GetTipoServico());
                        dados1escrever.WriteLine(servico1.GetQtdPontos());
                        dados1escrever.WriteLine(servico1.GetQtdSirene());
                        dados1escrever.WriteLine(servico1.GetQtdBateria());
                        dados1escrever.WriteLine(servico1.GetQtdCaboRede());
                        dados1escrever.WriteLine(servico1.GetQtdCaboAlarme());
                        dados1escrever.WriteLine(servico1.GetModeloCentral());
                        dados1escrever.Close();
                        dados1.Close();
                    }
                    else
                    {
                        submenu = 0;
                    }
                }
                break;

            case 2:
                PessoaJuridica orcamento2 = new PessoaJuridica();
                Console.WriteLine("Agora preciso que me informe seu CNPJ:");
                while (!orcamento2.SetCnpj())
                {
                    Console.WriteLine("O valor informado não é válido, informe os 14 digitos:");
                }
                while (!orcamento2.SetNomeCliente())
                {
                    Console.WriteLine("O nome informado é inválido, não use numeros. Digite novamente: ");
                }
                while (!orcamento2.SetTelefoneCliente())
                {
                    Console.WriteLine("O telefone informado é inválido, não use letras. Digite novamente: ");
                }
                orcamento2.SetEndereco();

                while (submenu == 0)
                {
                    try{
                        Console.WriteLine("Informe o tipo de serviço que deseja? 1- Instalação de Câmeras ou 2- Instalação de Alarme.");
                        submenu = Convert.ToInt32(Console.ReadLine());
                    }catch (OverflowException qtdNumerosException) {
                        Console.WriteLine("Informação Inválida");
                        submenu = 0;
                    }catch (FormatException letrasException) {
                        Console.WriteLine("Informação Inválida");
                        submenu = 0;
                    }
                    if (submenu == 1)
                    {
                        while ((qtdPontos == 0) || (qtdPontos > 32))
                        {
                            try{
                                Console.WriteLine("Informe quantos pontos de Câmeras quer instalar? Não deve ser superior a 32, neste caso contate o consultor!");
                                qtdPontos = Convert.ToInt32(Console.ReadLine());
                            }catch (OverflowException qtdNumerosException) {
                                Console.WriteLine("Informação Inválida");
                                qtdPontos = 0;
                            }catch (FormatException letrasException) {
                                Console.WriteLine("Informação Inválida");
                                qtdPontos = 0;
                            }
                        }
                        Camera servico2 = new Camera(qtdPontos);
                        servico2.SetTipoServico(submenu);
                        servico2.SetQtdPontos(qtdPontos);

                        dados2escrever.WriteLine(entrada);
                        dados2escrever.WriteLine(orcamento2.GetCnpj());
                        dados2escrever.WriteLine(orcamento2.GetNomeCliente());
                        dados2escrever.WriteLine(orcamento2.GetRazaoSocial());
                        dados2escrever.WriteLine(orcamento2.GetTelefoneCliente());
                        dados2escrever.WriteLine(orcamento2.GetEndereco());
                        dados2escrever.WriteLine(servico2.GetTipoServico());
                        dados2escrever.WriteLine(servico2.GetQtdPontos());
                        dados2escrever.WriteLine(servico2.GetQtdBnc());
                        dados2escrever.WriteLine(servico2.GetQtdP4());
                        dados2escrever.WriteLine(servico2.GetQtdCaixaProtecao());
                        dados2escrever.WriteLine(servico2.GetQtdCaboRede());
                        dados2escrever.WriteLine(servico2.GetQtdCaboCoaxial());
                        dados2escrever.WriteLine(servico2.GetTamanhoHd());
                        dados2escrever.WriteLine(servico2.GetModeloDvr());
                        dados2escrever.WriteLine(servico2.GetTamanhoFonte());
                        dados2escrever.Close();
                        dados2.Close();
                    }
                    else if (submenu == 2)
                    {
                        while ((qtdPontos == 0) || (qtdPontos > 18))
                        {
                            try{
                                Console.WriteLine("Informe quantos pontos de Sensores quer instalar? Não deve ser superior a 18, neste caso contate o consultor!");
                                qtdPontos = Convert.ToInt32(Console.ReadLine());
                            }catch (OverflowException qtdNumerosException) {
                                Console.WriteLine("Informação Inválida");
                                qtdPontos = 0;
                            }catch (FormatException letrasException) {
                                Console.WriteLine("Informação Inválida");
                                qtdPontos = 0;
                            }
                        }
                        Alarme servico2 = new Alarme(qtdPontos);
                        servico2.SetTipoServico(submenu);
                        servico2.SetQtdPontos(qtdPontos);

                        dados2escrever.WriteLine(entrada);
                        dados2escrever.WriteLine(orcamento2.GetCnpj());
                        dados2escrever.WriteLine(orcamento2.GetNomeCliente());
                        dados2escrever.WriteLine(orcamento2.GetRazaoSocial());
                        dados2escrever.WriteLine(orcamento2.GetTelefoneCliente());
                        dados2escrever.WriteLine(orcamento2.GetEndereco());
                        dados2escrever.WriteLine(servico2.GetTipoServico());
                        dados2escrever.WriteLine(servico2.GetQtdPontos());
                        dados2escrever.WriteLine(servico2.GetQtdSirene());
                        dados2escrever.WriteLine(servico2.GetQtdBateria());
                        dados2escrever.WriteLine(servico2.GetQtdCaboRede());
                        dados2escrever.WriteLine(servico2.GetQtdCaboAlarme());
                        dados2escrever.WriteLine(servico2.GetModeloCentral());
                        dados2escrever.Close();
                        dados2.Close();
                    }
                    else
                    {
                        submenu = 0;
                    }
                }
                break;

            default:
                entrada = 0;
                break;
            }
        }
        Console.WriteLine("Obrigado, já temos a informação necessária. Aguarde um momento para ver o valor do serviço...Tecle Enter para ver!!! ");
        Console.ReadKey();

        Orcamento meuOrcamento = new Orcamento();

        meuOrcamento.GerarOrcamento(entrada);

        entrada = 0;
        while ((entrada != 1) && (entrada != 2))
        {
            try{
                Console.WriteLine("\nValor correspondente apenas a mão de obra, quer proseguir para contato e orçamento completo?");
                Console.WriteLine("\n1- Sim, preciso muito. Ou 2- Não, ficou muito caro.");
                entrada = Convert.ToInt32(Console.ReadLine());
            }catch (OverflowException qtdNumerosException) {
                Console.WriteLine("Informação Inválida");
                entrada = 0;
            }catch (FormatException letrasException) {
                Console.WriteLine("Informação Inválida");
                entrada = 0;
            }
        }
        if (entrada == 1)
        {
            Console.WriteLine("***Parabéns, vamos entrar em contato... Vamos preparar um projeto especial para você!!!***");
        }
        else
        {
            Console.WriteLine("***Lamentamos, espero que não tenha problemas futuros... mas caso tenha, estamos à disposição!!!***");
        }
    }