示例#1
0
        private static void Main(string[] args)
        {
            // Boxing             = tipo primitivo >>>>> tipo por referência. (object)
            // Unboxing           = tipo por referência. (object) >>>>>> tipo primitivo
            // Variancia          = Funcionario CLT >>>>> Funcionario >>>>> Entidade >>>>> Object
            // Contra variancia   = Object >>>> Entidade .........

            /*
             *  1ª Funcionario CLT
             *  2ª Autonomo
             *  3ª Prolabore
             *
             *  Criar 10 Funcionário de cada tipo,
             *      onde o valor do salario seja a soma de todos os salarios anteriores iniciados de
             *      1, somado 1 a cada novo salario.
             *  (Ex: 2,3,6,12.........) -> Salario Contratual.
             *  Não resetar o salário ao mudar de tipo.
             *  Calcular a folha para esses funcionários.
             *  Aprensentar no Console os salarios calculados "matricula: salario" Ex: 1: 200
             *  A matricula deve ser iniciado de 1 e cada novo somar mais 1;
             *  (Ex: 1,2,3,4,......30)
             *  Calcular mes 02/2021.
             */

            var repositorioFuncionario            = new RepositorioFuncionario();
            var repositorioValoresCalculados      = new RepositorioValoresCalculados();
            var repositorioAfastamentoFuncionario = new RepositorioAfastamentoFuncionario();
            var repositorioDiasTrabalhados        = new RepositorioDiasTrabalhados();
            var registroDiasTrabalhados           = new RegistroDiasTrabalhados(repositorioDiasTrabalhados);


            GeradorFuncionario.GerarFuncionario(repositorioFuncionario, 40);
            //var relatorioFuncionarioAsc = new RelatorioCrescenteNome(repositorioFuncionario);
            //relatorioFuncionarioAsc.GerarRelatorio();

            //var relatorioFuncionarioDesc = new RelatorioDecrescenteNome(repositorioFuncionario);

            //GeradorRelatorio.GerarRelatorio(new RelatorioDecrescenteNome(repositorioFuncionario));
            GeradorRelatorio.GerarRelatorio(new RelatorioAdmissaoDataNome(repositorioFuncionario, true));


            // relatorioFuncionarioDesc.GerarRelatorio();

            /*
             * registroDiasTrabalhados.AdicionarRegistro(31, new DateTime(2021, 2, 5), new DateTime(2021, 2, 10));
             * registroDiasTrabalhados.AdicionarRegistro(32, new DateTime(2021, 2, 5), new DateTime(2021, 2, 10));
             * registroDiasTrabalhados.AdicionarRegistro(33, new DateTime(2021, 2, 5), new DateTime(2021, 2, 12));
             *
             * repositorioFuncionario.ConsultarTodos().ForEach(funcionario =>
             * CalculadoraSalarioFuncionario.CalculaSalario(funcionario,
             * repositorioValoresCalculados,
             * repositorioAfastamentoFuncionario,
             * repositorioDiasTrabalhados,
             * 2021,
             * 2));
             *
             * repositorioValoresCalculados.ConsultarTodos().ForEach(valorCalculado =>
             * Console.WriteLine(valorCalculado.Matricula + " : " + valorCalculado.Salario));
             */



            /*
             *  Criar um relatorio com as seguites informaçoes
             * 1- Matricula do funcionario / Nome do funcionario / Mes e Ano calculo / Valor calculado /
             * -> Ordenado por matricula ou nome
             * lambda inner join
             *
             */
            /*
             * O Desafio FINAL!
             * - Criar um novo tipo de funcionário (Menor Aprendiz)
             * - Esse tipo de funcionário não poderá ter mais de 21 Anos de Idade
             * - Para o Cálculo, terá a mesma regra do CLT, porém sem considerar Afastamentos.
             * - Por fim apresentar o seguinte Relatório:
             * - Categoria: CLT, Autonomo, Prolabore, Intermitente, Menor Aprendiz.
             *  - Nome:
             *  - Data Admissão:
             *  - Valor Salario Contratual
             *  - Valor Calculado
             *  - Idade do funcionário
             *
             * Para Cada funcionário saltar uma linha
             */
            Console.Read();
        }
示例#2
0
        private void btnIniciar_Click(object sender, EventArgs e)
        {
            var config = ConfigExperimento.CriaPorArquivo(tbArquivoFrases.Text);

            if (config == null)
            {
                MessageBox.Show("Nenhum arquivo de configuração selecionado!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            var nomePesquisador = tbNomePesquisador.Text;

            if (nomePesquisador == "")
            {
                MessageBox.Show("O nome do pesquisador é obrigatório!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            var nomeParticipante = tbNomeParticipante.Text;

            if (nomeParticipante == "")
            {
                MessageBox.Show("O nome do participante é obrigatório!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            var idadeParticipante = numIdadeParticipante.Value;

            if (idadeParticipante == 0)
            {
                MessageBox.Show("A idade do participante é obrigatório!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            var sexoParticipante = cbSexoParticipante.SelectedItem;

            if (sexoParticipante == null)
            {
                MessageBox.Show("O sexo do participante é obrigatório!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            var numeroParticipante = numNumeroParticipante.Value;

            if (numeroParticipante == 0)
            {
                MessageBox.Show("O número do participante é obrigatório!", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }

            var backGround = new TelaMensagem("", false);

            backGround.Show();
            new TelaMensagem("Clique em qualquer lugar para iniciar o experimento", true).ShowDialog();

            var geradorRelatorio = new GeradorRelatorio(
                nomePesquisador,
                nomeParticipante,
                Convert.ToInt32(idadeParticipante),
                sexoParticipante.ToString(),
                Convert.ToInt32(numeroParticipante),
                config
                );

            new TelaFrase(config, geradorRelatorio).ShowDialog();
            geradorRelatorio.GerarRelatorio();

            new TelaMensagem("Fim do experimento, por favor chamar o experimentador", false).ShowDialog();
            backGround.Close();
        }