Exemple #1
0
        private void executarAcao(DataGrid grid, int opcao, bool inteiro)
        {
            if (validarExibicaoTabela())
            {
                DateTime dtInicio = this.txtDtInicio.Text.Length > 0 ? Convert.ToDateTime(this.txtDtInicio.Text) : new DateTime(2014, 01, 01);
                DateTime dtFim    = this.txtDtFinal.Text.Length > 0 ? Convert.ToDateTime(this.txtDtFinal.Text) : new DateTime(2020, 12, 31);

                FuncionarioDAO     fDAO             = new FuncionarioDAO();
                List <Funcionario> listaFuncionario = new List <Funcionario>();
                if (chkTodosFuncionario.IsChecked == true)
                {
                    String lotacao = Convert.ToString(((ComboBoxItem)cmbLotacao.SelectedItem).Content);
                    Dictionary <string, object> param = new Dictionary <string, object>();
                    param.Add(Funcionario.LOTACAO, lotacao);
                    listaFuncionario.AddRange(fDAO.Recuperar(param));
                }
                else
                {
                    foreach (ListBoxItem item in lstFuncionario.SelectedItems)
                    {
                        int codigo = Convert.ToInt32(item.Tag);
                        listaFuncionario.Add(fDAO.Recuperar(codigo));
                    }
                }

                DataTable tabela = new DataTable();
                if (opcao == OpcaoIndicadorApropriacao.APROPRIACAO)
                {
                    List <ApropriacaoTarefa> listaApropriacao = new List <ApropriacaoTarefa>();
                    foreach (Funcionario func in listaFuncionario)
                    {
                        ApropriacaoBO tDAO = new ApropriacaoBO();
                        listaApropriacao.AddRange(tDAO.recuperarApropriacaoPorResponsavel(func.Nome, dtInicio, dtFim));
                    }

                    object[] listaColunas = { "Nome", "Data", "Horas", "Tarefa", "Titulo", "Macroatividade", "Mnemonico" };
                    foreach (string str in listaColunas)
                    {
                        tabela.Columns.Add(Convert.ToString(str));
                    }

                    foreach (ApropriacaoTarefa item in listaApropriacao)
                    {
                        object[] linha = new object[listaColunas.Count()];
                        linha[0] = item.Nome;
                        linha[1] = item.Data;
                        linha[2] = item.Hora;
                        linha[3] = item.Tarefa;
                        linha[4] = item.Titulo;
                        linha[5] = item.Macroatividade;
                        linha[6] = item.Mnemonico;
                        tabela.Rows.Add(linha);
                    }
                }
                baseWindow.preencherGrid(grid, tabela, 80);
            }
        }
        private void executarAcao(DataGrid grid, int opcao, bool inteiro)
        {
            if (validarExibicaoTabela())
            {
                int      ano      = Convert.ToInt32(((ComboBoxItem)cmbAno.SelectedItem).Content);
                int      mes      = Convert.ToInt32(((ComboBoxItem)cmbMes.SelectedItem).Content);
                DateTime dtInicio = new DateTime(ano, mes, 1);
                DateTime dtFim    = new DateTime(ano, mes, DataHoraUtil.recuperarDiaFinalMes(ano, mes));

                FuncionarioDAO     fDAO             = new FuncionarioDAO();
                List <Funcionario> listaFuncionario = new List <Funcionario>();

                foreach (ListBoxItem item in lstFuncionario.SelectedItems)
                {
                    int codigo = Convert.ToInt32(item.Tag);
                    listaFuncionario.Add(fDAO.Recuperar(codigo));
                }

                SiscopBO      tDAO    = new SiscopBO();
                ApropriacaoBO apropBO = new ApropriacaoBO();

                List <Siscop> listaSiscop = new List <Siscop>();
                Dictionary <DateTime, decimal> apropriacaoPorDia = new Dictionary <DateTime, decimal>();

                foreach (Funcionario func in listaFuncionario)
                {
                    listaSiscop.AddRange(tDAO.recuperarSiscopPorResponsavel(func.Codigo, dtInicio, dtFim));
                    apropriacaoPorDia = apropBO.recuperarApropriacaoPorResponsavelPorDia(func.Nome, dtInicio, dtFim);
                }

                DataTable tabela = new DataTable();
                if (opcao == OpcaoIndicadorPonto.PONTO_BATIDO)
                {
                    object[] listaColunas = { "Data", "Apropriado", "Total", "Manha", "Almoco", "Tarde", "Extra", "Entrada 1", "Saida 1", "Entrada 2", "Saida 2", "Extra 1", "Extra 2" };
                    foreach (string str in listaColunas)
                    {
                        tabela.Columns.Add(Convert.ToString(str));
                    }

                    string   file   = @"C:\workspace-vs\DE607\csharp\GEP_DE607\GEP_DE607\Csv\siscopPadrao.csv";
                    string[] linhas = System.IO.File.ReadAllLines(file);

                    decimal totalHorarioApropriado = 0;
                    decimal totalPontoMes          = 0;

                    foreach (Siscop item in listaSiscop)
                    {
                        object[] linha = new object[listaColunas.Count()];

                        linha[0] = item.Data.ToShortDateString();

                        decimal horarioApropriado = recuperarHorarioApropriado(apropriacaoPorDia, item.Data);
                        linha[1] = horarioApropriado;
                        totalHorarioApropriado += horarioApropriado;

                        string diffManha = recuperarDiferencaHoras(item.Entrada1.Trim(), 1, item.Saida1.Trim(), 2, linhas, item.Responsavel.Nome);
                        linha[3] = diffManha;
                        string diffAlmoco = recuperarDiferencaHoras(item.Saida1.Trim(), 2, item.Entrada2.Trim(), 3, linhas, item.Responsavel.Nome);
                        linha[4] = diffAlmoco;
                        string diffTarde = recuperarDiferencaHoras(item.Entrada2.Trim(), 3, item.Saida2.Trim(), 4, linhas, item.Responsavel.Nome);
                        linha[5] = diffTarde;

                        //07:45
                        string totalDia = DataHoraUtil.calcularTotalDia(diffManha, diffTarde);
                        if (totalDia.Length > 0)
                        {
                            Decimal total = Convert.ToDecimal(totalDia.Substring(0, 2)) + Convert.ToDecimal(totalDia.Substring(3, 2)) / 60;
                            totalPontoMes += total;
                            linha[2]       = total.ToString("#.#");
                        }
                        else
                        {
                            linha[2] = totalDia;
                        }

                        linha[6]  = "";
                        linha[7]  = item.Entrada1;
                        linha[8]  = item.Saida1;
                        linha[9]  = item.Entrada2;
                        linha[10] = item.Saida2;
                        linha[11] = item.Extra1;
                        linha[12] = item.Extra2;
                        tabela.Rows.Add(linha);
                    }
                    lblTotalApropriadoMes.Content = totalHorarioApropriado.ToString("#.#");
                    lblTotalPontoMes.Content      = totalPontoMes.ToString("#.#");
                }
                else if (opcao == OpcaoIndicadorPonto.CODIGO_PONTO)
                {
                    object[] listaColunas = { "Codigo 68/13/14/18", "Codigo 21", "Codgo #/99", "> 10", "<7 ou >21", "Flex", "T <3 >5", "T >6", "Int <1", "Int >2" };
                    foreach (string str in listaColunas)
                    {
                        tabela.Columns.Add(Convert.ToString(str));
                    }

                    string   file   = @"C:\workspace-vs\DE607\csharp\GEP_DE607\GEP_DE607\Csv\siscopPadrao.csv";
                    string[] linhas = System.IO.File.ReadAllLines(file);

                    CodigoPonto codigoPonto = new CodigoPonto();

                    calcularCodigos(listaSiscop, codigoPonto, linhas);

                    object[] linha = new object[listaColunas.Count()];
                    linha[0] = codigoPonto.Codigo68;
                    linha[1] = codigoPonto.Codigo21;
                    linha[2] = codigoPonto.Codigo99;
                    linha[3] = codigoPonto.Maior10;
                    linha[4] = codigoPonto.Maior21;
                    linha[5] = codigoPonto.Flex;
                    linha[6] = codigoPonto.Turno35;
                    linha[7] = codigoPonto.Turno6;
                    linha[8] = codigoPonto.Intervalo1;
                    linha[9] = codigoPonto.Intervalo2;
                    tabela.Rows.Add(linha);
                }
                baseWindow.preencherGrid(grid, tabela, 80);
            }
        }
        private void realizarUpload(string file)
        {
            string       msg  = "";
            ComboBoxItem item = (ComboBoxItem)cmbTipoCarga.SelectedItem;

            string[] linhas = System.IO.File.ReadAllLines(file);
            if (linhas.Length > 1 && validarArquivo(item.Content.ToString(), linhas[0]))
            {
                msg = "Arquivo incluido com sucesso";
                if (item.Content.Equals(Constantes.FUNCIONARIO))
                {
                    List <Funcionario> listaFuncionario = recuperarListaFuncionario(linhas);
                    FuncionarioBO      funcBO           = new FuncionarioBO();
                    funcBO.Incluir(listaFuncionario);
                }
                else if (item.Content.Equals(Constantes.TAREFA))
                {
                    List <Tarefa> listaTarefa = recuperarListaTarefa(linhas);
                    TarefaBO      tarefaBO    = new TarefaBO();
                    tarefaBO.Incluir(listaTarefa);
                }
                else if (item.Content.Equals(Constantes.DEFEITO) || item.Content.Equals(Constantes.RELATO))
                {
                    List <Bug> listaBug = recuperarListaBug(linhas);
                    BugBO      bugBO    = new BugBO(Constantes.DEFEITO);
                    bugBO.incluirLista(listaBug);
                }
                else if (item.Content.Equals(Constantes.APROPRIACAO))
                {
                    List <Apropriacao> listaApropriacao         = recuperarListaApropriacao(linhas);
                    ApropriacaoBO      apropBO                  = new ApropriacaoBO();
                    List <int>         listaTarefasInexistentes = apropBO.validarListaApropriacaoInexistente(listaApropriacao);
                    if (listaTarefasInexistentes.Count > 0)
                    {
                        msg = "As seguintes tarefas não estão cadastradas: ";
                        foreach (int i in listaTarefasInexistentes)
                        {
                            msg += i + ", ";
                        }
                        msg.Substring(0, msg.Length - 2);
                    }
                    else
                    {
                        apropBO.incluirLista(listaApropriacao);
                    }
                }
                else if (item.Content.Equals(Constantes.ITEM_BACKLOG))
                {
                    List <ItemBacklog> listaItemBacklog = recuperarListaItemBacklog(linhas);
                    ItemBacklogBO      itemBO           = new ItemBacklogBO();
                    itemBO.incluirLista(listaItemBacklog);
                }
                else if (item.Content.Equals(Constantes.SPRINT))
                {
                    List <Sprint> listaSprint = recuperarListaSprint(linhas);
                    SprintBO      itemBO      = new SprintBO();
                    itemBO.incluirLista(listaSprint);
                }
                else if (item.Content.Equals(Constantes.PROJETO))
                {
                    List <Projeto> listaProjeto = recuperarListaProjeto(linhas);
                    ProjetoBO      itemBO       = new ProjetoBO();
                    itemBO.incluirLista(listaProjeto);
                }
                else if (item.Content.Equals(Constantes.SISCOP))
                {
                    List <Siscop> listaSiscop = recuperarListaSiscop(linhas);
                    SiscopBO      itemBO      = new SiscopBO();
                    itemBO.incluirLista(listaSiscop);
                }
            }
            else
            {
                msg = "Arquivo sem dados ou invalido";
            }
            Alerta alerta = new Alerta(msg);

            alerta.Show();
        }