Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("******** Programa exemplo - usando composição (Composition) **********");
            Console.WriteLine();
            Console.WriteLine();

            Console.Write("Departamento: ");
            string deptoName = Console.ReadLine();

            Console.WriteLine();

            Console.WriteLine("Dados do trabalhador");
            Console.Write("Nome: ");
            string trabName = Console.ReadLine();

            Console.Write("Nivel do trabalhador <Junior/Pleno/Senior>: ");
            WorkerLevel level = Enum.Parse <WorkerLevel>(Console.ReadLine());

            Console.Write("Salario Base: ");
            double SalarioBase = double.Parse(Console.ReadLine());

            Departamento depto  = new Departamento(deptoName);
            Trabalhador  worker = new Trabalhador(trabName, level, SalarioBase, depto);

            Console.WriteLine();

            Console.Write("Digite quantos contratos o trabalhador terá?: ");
            int n = int.Parse(Console.ReadLine());

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine($"Entre com os dados do Contrato #{i}: ");
                Console.Write("Data do contrato: ");
                DateTime DataContrato = DateTime.Parse(Console.ReadLine());

                Console.Write("Valor por hora: ");
                double ValHora = double.Parse(Console.ReadLine());

                Console.Write("Duração do contrato: ");
                int CargaHora = int.Parse(Console.ReadLine());

                HoraContrato TrabContrato = new HoraContrato(DataContrato, ValHora, CargaHora);

                worker.addContrato(TrabContrato);

                Console.WriteLine();
            }

            Console.Write("Ente com o mês e ano para calculo de ganho (MM/AAAA): ");
            string MesAno = Console.ReadLine();
            int    mes    = int.Parse(MesAno.Substring(0, 2));
            int    ano    = int.Parse(MesAno.Substring(3));

            Console.WriteLine($"Nome do trabalhador: {worker.Name}");
            Console.WriteLine($"Departamento: {worker.Departamento.Name}");
            Console.WriteLine($"Ganhos em {MesAno}: {worker.Ganho(ano,mes)}");
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Digite o nome do departamento");
            string       Depart = Console.ReadLine();
            Departamento depto  = new Departamento(Depart);

            Console.WriteLine("Digite as informações do trabalhador");
            Console.WriteLine("Nome.:");
            string nome = Console.ReadLine();

            Console.WriteLine("Digite o nível do Funcionário(Junior | NivelMedio | Senior)");
            NivelTrabalhador nivel = Enum.Parse <NivelTrabalhador>(Console.ReadLine());

            Console.WriteLine("Digite o salário Base do funcionário");
            double salBase = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);



            Trabalhador trabalhador = new Trabalhador(nome, nivel, salBase, depto);

            Console.WriteLine("Quantos contratos para este trabalhador ?");
            int nContrato = int.Parse(Console.ReadLine());

            for (int i = 0; i < nContrato; i++)
            {
                Console.WriteLine("Entre com os dados do contrato .:" + i);
                Console.WriteLine("Data do contrato em (DD/MM/YYYY)");
                DateTime data = DateTime.Parse(Console.ReadLine());
                Console.WriteLine("Digite o valor pago por hora neste contrato");
                double valorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                Console.WriteLine("Digite a quantidade de horas");
                int qtdHoras = int.Parse(Console.ReadLine());

                // Após coletar os dados do contrato devemos entao instanciar os contratos
                HoraContrato contrato = new HoraContrato(data, valorHora, qtdHoras);

                // Adicionar os contratos ao trabalhador
                trabalhador.AddContrato(contrato);
            }

            Console.WriteLine("Entre com o mês e ano para calcular o valor recebido do trabalhador no período  (MM/YYYY) )");
            string mesAno = Console.ReadLine();
            //string[] mesAnoAux = mesAno.Split("/");
            int mes = int.Parse(mesAno.Substring(0, 2)); // pegar a string mesAno recortar a partir da posição 0 dois caracteres
            int ano = int.Parse(mesAno.Substring(3));

            // Imprimir os dados do trbalhador

            Console.WriteLine("Nome .: " + trabalhador.Nome);
            Console.WriteLine("Departamento.:" + trabalhador.Departamento.Nome);
            Console.WriteLine("Valor recebido.: " + mesAno + " : " + trabalhador.Ganho(ano, mes).ToString("F2"), CultureInfo.InvariantCulture);
        }
Ejemplo n.º 3
0
        static void Main()
        {
            Console.Write("Informe o nome do departamento: ");
            string deptoNome = Console.ReadLine();

            Console.Write("\nInforme os dados do colaborador:");
            Console.Write("\nNome: ");
            string nome = Console.ReadLine();

            Console.Write("\nNível ({0}): ", ListarNiveis());
            ColaboradorLevel nivel = Enum.Parse <ColaboradorLevel>(Console.ReadLine());

            Console.Write("\nSalário base: ");
            double baseSalario = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Departamento depto       = new Departamento(deptoNome);
            Colaborador  colaborador = new Colaborador(nome, nivel, baseSalario, depto);


            Console.Write("\nInforme a quantidade de contratos para este trabalhor: ");
            int n = int.Parse(Console.ReadLine());

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine($"\nDigite os dados do contrato -> {i}");
                Console.Write("Data (DD/MM/AAAA): ");
                DateTime data = DateTime.Parse(Console.ReadLine());

                Console.Write("Valor hora: ");
                double valorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

                Console.Write("Duração(horas): ");
                int horas = int.Parse(Console.ReadLine());

                HoraContrato contrato = new HoraContrato(data, valorHora, horas);
                colaborador.AdicionaContrato(contrato);
            }

            Console.Write("\nInforme o Mês/Ano para calcular o ganho (MM/AAAA): ");
            string mesAno = Console.ReadLine();

            int mes = int.Parse(mesAno.Substring(0, 2));
            int ano = int.Parse(mesAno.Substring(3));

            Console.Write("\nNome: " + colaborador.Nome);
            Console.Write("\nDepartamento: " + colaborador.Departamento.Nome);
            Console.Write("\nGanho em: " + mesAno + ": " + colaborador.Ganho(ano, mes).ToString("F2", CultureInfo.InvariantCulture));
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            Console.WriteLine("Entre com o nome do departamento");
            string nomeDepartamento = Console.ReadLine();

            Console.WriteLine("-------------Informações do trabalhador-------------");
            Console.Write("Nome: ");
            string nome = Console.ReadLine();

            Console.Write("Nivel(Junior, Pleno, Senior): ");
            Level nivel = Enum.Parse <Level>(Console.ReadLine());

            Console.Write("Salario base: ");
            double salarioBase = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Departamento departamento = new Departamento(nomeDepartamento);
            Trabalhador  trabalhador  = new Trabalhador(nome, nivel, salarioBase, departamento);

            Console.WriteLine("Serão quantos contratos para este trabalhador?");
            int n = int.Parse(Console.ReadLine());

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine("-----------------");
                Console.WriteLine($"Contrato número #{i}:");
                Console.Write("Data(DD/MM/AAAA): ");
                DateTime data = DateTime.Parse(Console.ReadLine());
                Console.Write("Valor por hora: ");
                double valorPorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                Console.Write("Duração(horas): ");
                int          horas    = int.Parse(Console.ReadLine());
                HoraContrato contrato = new HoraContrato(data, valorPorHora, horas);
                trabalhador.AddContrato(contrato);
            }
            Console.WriteLine("-----------------");
            Console.WriteLine("Entre com mês e ano para calcular o ganho(MM/AAAA): ");
            string mesEAno = Console.ReadLine();

            Console.WriteLine("-----------------");
            int mes = int.Parse(mesEAno.Substring(0, 2));
            int ano = int.Parse(mesEAno.Substring(3));

            Console.WriteLine("Nome: " + trabalhador.Nome);
            Console.WriteLine("Departamento: " + trabalhador.Departamento.Nome);
            Console.WriteLine("Ganho de " + mesEAno + ": " + trabalhador.Ganho(ano, mes).ToString("F2", CultureInfo.InvariantCulture));
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            Console.Write("Digite o nome do departamento: ");
            string nomeDept = Console.ReadLine();

            Console.WriteLine("Entre com a data do trabalhador: ");
            Console.Write("Nome: ");
            string nome = Console.ReadLine();

            Console.Write("Nivel(Junior/Medio/Senior): ");
            string           readNivel = Console.ReadLine();
            TrabalhadorNivel nivel;

            Enum.TryParse(readNivel, true, out nivel);
            Console.Write("Base salarial: ");
            double baseSalarial = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Departamento dept        = new Departamento(nomeDept);
            Trabalhador  trabalhador = new Trabalhador(nome, nivel, baseSalarial, dept);

            Console.Write("Quantos contratos para esse trabalhador: ");
            int n = int.Parse(Console.ReadLine());

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine($"Entre #{i} contrato: ");
                Console.Write("Data (DD/MM/YYYY): ");
                DateTime date = DateTime.Parse(Console.ReadLine());
                Console.Write("Valor por hora: ");
                double valorPorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                Console.Write("Duração de horas: ");
                int          horas    = int.Parse(Console.ReadLine());
                HoraContrato contrato = new HoraContrato(date, valorPorHora, horas);
                trabalhador.AddContrato(contrato);
            }

            Console.WriteLine();
            Console.Write("Entre com o mes e o ano para calcular o ganho(MM/YYYY): ");
            string mesEano = Console.ReadLine();
            int    mes     = int.Parse(mesEano.Substring(0, 2));
            int    ano     = int.Parse(mesEano.Substring(3));

            Console.WriteLine("Nome: " + trabalhador.Nome);
            Console.WriteLine("Departamento: " + trabalhador.Departamento.Nome);
            Console.WriteLine("Renda total " + mesEano + ": " + trabalhador.Salario(ano, mes).ToString("F2", CultureInfo.InvariantCulture));
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            Console.Write("Entre com o nome do Departamento: ");
            string deptNome = Console.ReadLine();

            Console.WriteLine("Entre com os dados do Colaborador: ");
            Console.Write("Nome: ");
            string nome = Console.ReadLine();

            Console.Write("Nivel (Junior/Pleno/Senior): ");
            ColaboradorNivel nivel = Enum.Parse <ColaboradorNivel>(Console.ReadLine());

            Console.Write("Salario base: ");
            double salarioBase = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Departamento dept        = new Departamento(deptNome);
            Colaborador  colaborador = new Colaborador(nome, nivel, salarioBase, dept);

            Console.Write("Quantos contratos para esse colaborador? ");
            int n = int.Parse(Console.ReadLine());

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine($"Entre com o #{i} dado do contrato:");
                Console.Write("Data (DD/MM/YYYY): ");
                DateTime data = DateTime.Parse(Console.ReadLine());
                Console.Write("Valor por hora: ");
                double valorPorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                Console.Write("Duracao (horas): ");
                int horas = int.Parse(Console.ReadLine());

                HoraContrato contrato = new HoraContrato(data, valorPorHora, horas);
                colaborador.AddContrato(contrato);
            }

            Console.WriteLine();
            Console.Write("Entre com o mes e o ano para calcular o ganho (MM/YYYY): ");
            string mesEAno = Console.ReadLine();
            int    mes     = int.Parse(mesEAno.Substring(0, 2));
            int    ano     = int.Parse(mesEAno.Substring(3));

            Console.WriteLine("Nome: " + colaborador.Nome);
            Console.WriteLine("Departamento: " + colaborador.Departamento.Nome);
            Console.WriteLine("Ganho por " + mesEAno + ": " + colaborador.Ganho(ano, mes).ToString("F2"), CultureInfo.InvariantCulture);
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            Console.Write("Entre com o nome do Departamento: ");
            string deptNome = Console.ReadLine();
            Console.WriteLine("Entre com os dados do Trabalhador: ");
            Console.Write("Nome :");
            string nome = Console.ReadLine();
            Console.Write("Level (Junior/MidLevel/Senior): ");
            WorkerLevel level = Enum.Parse<WorkerLevel>(Console.ReadLine());
            Console.Write("Salário base: ");
            double salarioBase = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);

            Departamento dept = new Departamento(deptNome);
            Trabalhador trabalhador = new Trabalhador(nome, level, salarioBase, dept);

            Console.Write("Quantos contratos para este trabalhador? ");
            int n = int.Parse(Console.ReadLine());

            for (int i = 1; i <= n; i++)
            {
                Console.WriteLine($"Enter #{i} contract data: ");
                Console.Write("Date (DD/MM/YYY): ");
                DateTime data = DateTime.Parse(Console.ReadLine());
                Console.Write("Valor por hora: ");
                double valorPorHora = double.Parse(Console.ReadLine(), CultureInfo.InvariantCulture);
                Console.Write("Duração (horas): ");
                int horas = int.Parse(Console.ReadLine());
                HoraContrato contrato = new HoraContrato(data, valorPorHora, horas);
                trabalhador.AddContrato(contrato);
            }
            Console.WriteLine();
            Console.Write("Entre com o mes e ano para calcular o ganho (MM/YYY): ");
            string mesEAno = Console.ReadLine();
            int mes = int.Parse(mesEAno.Substring(0, 2));
            int ano = int.Parse(mesEAno.Substring(3));

            Console.WriteLine("Nome: " + trabalhador.Nome);
            Console.WriteLine("Departamento: " + trabalhador.Departamento.Nome);
            Console.WriteLine("Ganho de " + mesEAno + ": " + trabalhador.Ganho(ano, mes).ToString("F2", CultureInfo.InvariantCulture);
        }