static void Main(string[] args)
        {
            Console.WriteLine("Bem vindo as industrias da Geraldo");
            //Aqui está criado um objeto- minhaEmpresa
            Empresa minhaEmpresa = new Empresa();

            //Aqui meu objeto - recebe a propriedade - Ativa q recebe o TRUE verdadeiro
            minhaEmpresa.Ativa = true;
            //Aqui a lista foi estanciada -- Sempre estanciar uma lista --
            minhaEmpresa.Funcionarios = new List <Pessoa>();
            //Aqui seis funcionarios foram criados individualmente

            //Aqui no cenario foram criados objetos dentro da lista - Pessoa, para guardar nas propriedades seu nome, idade e se está empregado
            Pessoa func1 = new Pessoa();

            func1.NomePessoa    = "Zezineo";
            func1.Idade         = 45;
            func1.EstaEmpregado = false;
            //Aqui está chamando a propriedade- EstaEmpregado q está recebendo TRUE ou FALSE para indicar se ele está trabalhando ou não
            Pessoa func2 = new Pessoa();

            func2.NomePessoa    = "Paulinho";
            func2.Idade         = 30;
            func2.EstaEmpregado = false;

            Pessoa func3 = new Pessoa();

            func3.NomePessoa    = "Geraldinho";
            func3.Idade         = 28;
            func3.EstaEmpregado = false;

            Pessoa func4 = new Pessoa();

            func4.NomePessoa    = "Luizinho";
            func4.Idade         = 35;
            func4.EstaEmpregado = true;

            Pessoa func5 = new Pessoa();

            func5.NomePessoa    = "Claudinho";
            func5.Idade         = 20;
            func5.EstaEmpregado = true;

            Pessoa func6 = new Pessoa();

            func6.NomePessoa    = "Pedrinho";
            func6.Idade         = 18;
            func6.EstaEmpregado = false;

            //Aqui o IF verifica se o funcionario- Func1 está empregado ou não e se minha empresa está ativa ou não.
            //SE o funcionario1 está empregado for igual a Falso e minha empresa está ativa for igual a verdadeiro
            if (func1.EstaEmpregado == false && minhaEmpresa.Ativa == true)
            {
                // Então meu objeto-minhaEmpresa que possui minha lista-Pessoa com a propriedade-Funcionarios estará adicionando o Func1 a minha lista de Funcionarios
                minhaEmpresa.Funcionarios.Add(func1);
                //Aqui o Func1 q agora está na lista Pessoa, foi colocado como TRUE pois ele virou verdadeiro e agora está contratado
                func1.EstaEmpregado = true;
            }


            if (func2.EstaEmpregado == false && minhaEmpresa.Ativa == true)
            {
                minhaEmpresa.Funcionarios.Add(func2);
                func2.EstaEmpregado = true;
            }

            if (func3.EstaEmpregado == false && minhaEmpresa.Ativa == true)
            {
                minhaEmpresa.Funcionarios.Add(func3);
                func3.EstaEmpregado = true;
            }

            if (func4.EstaEmpregado == false && minhaEmpresa.Ativa == true)
            {
                minhaEmpresa.Funcionarios.Add(func4);
                func4.EstaEmpregado = true;
            }

            if (func5.EstaEmpregado == false && minhaEmpresa.Ativa == true)
            {
                minhaEmpresa.Funcionarios.Add(func5);
                func5.EstaEmpregado = true;
            }

            if (func6.EstaEmpregado == false && minhaEmpresa.Ativa == true)
            {
                minhaEmpresa.Funcionarios.Add(func6);
                func6.EstaEmpregado = true;
            }



            //Aqui foi estanciado o objeto MaquinaDeCafé e criado avariavel coffeemachine, para receber o método- PrepararCafé, onde está a formula q será apresentado ao usuario
            MaquinaDeCafe coffeemachine = new MaquinaDeCafe();

            //Sempre colocar - FN 11 para mostra o método, quando estiver debugando.

            //Aqui foi criada a variavel-retornoDaMaquina para receber o objeto coffeemachine juntamente com o método PrepararCafé usando o Func2 para execução
            string retornoDaMaquina = coffeemachine.PrepararCafe(func2);

            //Aqui será aprensentado a o usuario a frase que está dentro do método
            Console.WriteLine(retornoDaMaquina);

            //Aqui coffeemachinen chama o método- Ligar para informar q a maquina de café está ligada até que mude sua condição
            coffeemachine.Ligar();

            //Aqui a Variavel- retornoDaMaquina recebe o método já com o funcionario2 para mostra para o usuario logo abaixo.
            retornoDaMaquina = coffeemachine.PrepararCafe(func2);

            Console.WriteLine(retornoDaMaquina);

            Console.ReadLine();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            string opcao        = "";
            int    quantDeFunc  = 0;
            string funcionarios = "";
            string opcaoCafe    = "";


            Console.WriteLine("Bem vindo novo empresario das Industrias da Geraldo ");
            Console.WriteLine(" ");

            Empresa MinhaEmpresa = new Empresa();

            Console.WriteLine("Informe o nome da empresa");
            MinhaEmpresa.NomeDaEmpresa = Console.ReadLine();

            MinhaEmpresa.Ativa = true;
            Console.WriteLine("Sua empresa se encontra ativa ? ");
            Console.WriteLine(" ");
            Console.WriteLine("Digite s para sim ou n para não ");
            opcao = Console.ReadLine();

            if (opcao == "s")
            {
                MinhaEmpresa.Ativa = true;
                Console.WriteLine("Parabéns sua empresa está ativa ");
            }
            else if (opcao == "n")
            {
                MinhaEmpresa.Ativa = false;
                Console.WriteLine("Sua empresa não está ativa, vc precisa ativar sua empresa para entrar nas industrias da Geraldo");
            }

            while (opcao != "s" && opcao != "n")
            {
                Console.WriteLine("Opção invalida, por favor digite s ou n para não ");
                opcao = Console.ReadLine();
            }

            MinhaEmpresa.Funcionarios = new List <Pessoa>();
            Console.WriteLine("Digite quantos funcionarios você deseja cadastrar");
            quantDeFunc = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("A quntidade de funcionarios escolhida é " + quantDeFunc);

            List <Pessoa> nomeFunc = new List <Pessoa>();

            for (int i = 0; i < quantDeFunc; i++)
            {
                Pessoa Func = new Pessoa();

                Console.WriteLine("Por favor informe o nome do funcionario");
                Func.Nome = Console.ReadLine();

                Console.WriteLine("Agora informe a idade do funcionario");
                Func.Idade = Convert.ToInt32(Console.ReadLine());


                Console.WriteLine("Agora informe se o seu funcionario está empregado ou não");
                Console.WriteLine("Digite s para está empregado ou n para não está empregado");
                opcao = (Console.ReadLine());

                if (opcao == "s")
                {
                    Func.EstaEmpregado = true;
                    Console.WriteLine("O funcionario está empregado");
                }
                else if (opcao == "n")
                {
                    Func.EstaEmpregado = false;
                    Console.WriteLine("O funcionario não está empregado");
                }
                while (opcao != "s" && opcao != "n")
                {
                    Console.WriteLine("Opção invalida, por favor digite s ou n para não ");
                    opcao = Console.ReadLine();
                }
                // colocar a regra q ele só pode entrar se ele estiver desempregado e se a empresa estiver ativa

                if (Func.EstaEmpregado == false && MinhaEmpresa.Ativa == true)
                {
                    MinhaEmpresa.Funcionarios.Add(Func);
                    Func.EstaEmpregado = true;
                }
            }
            int escolhaDoCafe = 0;



            Console.WriteLine("Agora escolha qual funcionario ira fazer o café ");



            //Aqui no FOR trago a variavel q criei para receber a lista Funcionarios e uso o (. Count) usado para a quantidade de funcionarios da Empresa
            for (int i = 0; i < MinhaEmpresa.Funcionarios.Count; i++)
            {
                //Aqui vai mostrar para o usuario
                Console.WriteLine(i + " - " + MinhaEmpresa.Funcionarios[i].Nome);
            }

            escolhaDoCafe = Convert.ToInt32(Console.ReadLine());

            MaquinaDeCafe cafeDosFunc = new MaquinaDeCafe();



            //listar os funcs


            string quemFazCafe = cafeDosFunc.PrepararCafe(MinhaEmpresa.Funcionarios[escolhaDoCafe]);

            Console.WriteLine();

            cafeDosFunc.Ligar();

            quemFazCafe = cafeDosFunc.PrepararCafe(MinhaEmpresa.Funcionarios[escolhaDoCafe]);
            Console.WriteLine(quemFazCafe);

            //Aqui eu criei uma variavel e coloquei dentro um método auditoria e dentro entre parenteses(minhaEmpresa)
            string fazendoAudi = cafeDosFunc.Auditoria(MinhaEmpresa);

            Console.WriteLine("Sua empresa continua ativa ? ");
            //Aqui minha variavel chama o método Ativar que recebe o TRUE e q agora é verdadeiro
            MinhaEmpresa.Ativa = true;

            Console.WriteLine(" ");
            Console.WriteLine("Digite s para sim ou n para não ");
            opcao = Console.ReadLine();

            if (opcao == "s")
            {
                MinhaEmpresa.Ativa = true;

                Console.WriteLine(fazendoAudi);
            }
            else if (opcao == "n")
            {
                MinhaEmpresa.Ativa = false;

                Console.WriteLine(fazendoAudi);
            }

            while (opcao != "s" && opcao != "n")
            {
                Console.WriteLine("Opção invalida, por favor digite s ou n para não ");
                opcao = Console.ReadLine();
            }



            //Aqui o FOR fará a contagem de cada funcionario e colocara na tela junto com suas posições e nomes
            for (int i = 0; i < MinhaEmpresa.Funcionarios.Count; i++)
            {
                //Aqui vai mostrar para o usuario a posição- i, com espaço, concatenado com a lista de funcionarios e seus nomes
                Console.WriteLine(i + " - " + MinhaEmpresa.Funcionarios[i].Nome);
            }


            Console.WriteLine("Escolha qual funcionario vc vai demitir");
            escolhaDoCafe = Convert.ToInt32(Console.ReadLine());
            //Aqui foi estanciado o objeto Empresa e criado avariavel mandandoEmbora, para receber o método- Demitir,  q será apresentado ao usuario
            Empresa mandandoEmbora = new Empresa();
            //
            string quemSai = mandandoEmbora.Demitir(MinhaEmpresa.Funcionarios[escolhaDoCafe]);

            Console.WriteLine(quemSai);

            quemSai = mandandoEmbora.Demitir(MinhaEmpresa.Funcionarios[escolhaDoCafe]);
            Console.WriteLine(quemSai);



            Console.WriteLine("Nos arrependemos, informe qual dos funcionarios será recontratado");

            for (int i = 0; i < MinhaEmpresa.Funcionarios.Count; i++)
            {
                if (MinhaEmpresa.Funcionarios[i].EstaEmpregado == false && MinhaEmpresa.Funcionarios[i].Idade > 18)
                {
                    Console.WriteLine("nome do desempregado " + MinhaEmpresa.Funcionarios[i].Nome + " posição: " + i);
                }
            }


            Console.ReadLine();
        }