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(); }