private void preencherLista(Dictionary <string, string> param)
 {
     try
     {
         ItemBacklogDAO tDAO = new ItemBacklogDAO();
         tblItemBacklog.ItemsSource = tDAO.recuperar(param);
     }
     catch (Exception ex)
     {
         Alerta alerta = new Alerta("Problema ao tentar acessar o banco de dados: \n" + ex.Message);
         alerta.Show();
         this.Close();
     }
 }
        private bool existeItemBacklog(ItemBacklog item)
        {
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add(ItemTrabalho.ID, Convert.ToString(item.Id));

            ItemBacklogDAO     iDAO      = new ItemBacklogDAO();
            List <ItemBacklog> listaItem = iDAO.recuperar(param);

            if (listaItem.Count > 0)
            {
                return(true);
            }
            return(false);
        }
        private void tblItemBacklog_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
        {
            // ... Get the TextBox that was edited.
            var element = e.EditingElement as System.Windows.Controls.TextBox;
            var text    = element.Text;

            ItemBacklog item = (ItemBacklog)e.Row.Item;

            var coluna = e.Column.DisplayIndex;

            // ... See if the text edit should be canceled.
            //     We cancel if the user typed a question mark.
            if (text.Length == 0)
            {
                e.Cancel = true;
            }
            else
            {
                ItemBacklogDAO iDAO = new ItemBacklogDAO();
                if (coluna < 7)
                {
                    Alerta alerta = new Alerta("Somente as colunas Valor Negocio, Tamanho, Complexidade e PF podem ser alteradas");
                    alerta.Show();
                    e.Cancel = true;
                }
                else
                {
                    if (coluna == 7)
                    {
                        item.ValorNegocio = Convert.ToInt32(text);
                    }
                    else if (coluna == 8)
                    {
                        item.Tamanho = Convert.ToInt32(text);
                    }
                    else if (coluna == 9)
                    {
                        item.Complexidade = Convert.ToInt32(text);
                    }
                    else if (coluna == 10)
                    {
                        item.Pf = Convert.ToDecimal(text);
                    }
                    iDAO.atualizar(item.encapsularLista());
                }
            }
        }
        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));
                    }
                }
                List <string> listaSprint = new List <string>();
                foreach (ListBoxItem item in lstSprint.SelectedItems)
                {
                    listaSprint.Add(Convert.ToString(item.Content));
                }
                DataTable tabela = new DataTable();

                if (opcao == OpcaoIndicadorDados.ITEM_BACKLOG_TRABALHADO)
                {
                    List <ItemBacklog> listaItemBacklog = new List <ItemBacklog>();
                    foreach (Funcionario func in listaFuncionario)
                    {
                        ItemBacklogDAO ibDAO = new ItemBacklogDAO();
                        listaItemBacklog.AddRange(ibDAO.recuperarItensBacklogPorSprintPorResponsavel(listaSprint, func.Codigo));
                    }

                    object[] listaColunas = { "Tipo", "ID", "Título", "Status", "Planejado Para", "Pai", "Data de Modificação", "ID do Projeto", "Valor definido para o Negócio", "Tamanho Estimado", "Complexidade", "PF" };
                    foreach (string str in listaColunas)
                    {
                        tabela.Columns.Add(Convert.ToString(str));
                    }

                    foreach (ItemBacklog item in listaItemBacklog)
                    {
                        object[] linha = new object[listaColunas.Count()];
                        linha[0]  = item.Tipo;
                        linha[1]  = item.Id;
                        linha[2]  = item.Titulo;
                        linha[3]  = item.Status;
                        linha[4]  = item.PlanejadoPara;
                        linha[5]  = item.Pai;
                        linha[6]  = item.DataModificacao;
                        linha[7]  = item.Projeto;
                        linha[8]  = item.ValorNegocio;
                        linha[9]  = item.Tamanho;
                        linha[10] = item.Complexidade;
                        linha[11] = item.Pf;
                        tabela.Rows.Add(linha);
                    }
                }
                else if (opcao == OpcaoIndicadorDados.TAREFA_TRABALHADO)
                {
                    List <Tarefa> listaTarefa = new List <Tarefa>();
                    foreach (Funcionario func in listaFuncionario)
                    {
                        TarefaBO tDAO = new TarefaBO();
                        listaTarefa.AddRange(tDAO.RecuperarTarefasPorSprintPorResponsavel(listaSprint, func.Codigo));
                    }

                    object[] listaColunas = { "ID", "Título", "Responsavel", "Status", "Planejado Para", "Pai", "Data", "Projeto", "Classificação", "Estimativa", "Tempo Gasto" };
                    foreach (string str in listaColunas)
                    {
                        tabela.Columns.Add(Convert.ToString(str));
                    }

                    foreach (Tarefa item in listaTarefa)
                    {
                        object[] linha = new object[listaColunas.Count()];
                        // linha[0] = item.Tipo;
                        linha[0]  = item.Id;
                        linha[1]  = item.Titulo;
                        linha[2]  = item.Responsavel.Nome;
                        linha[3]  = item.Status;
                        linha[4]  = item.PlanejadoPara;
                        linha[5]  = item.Pai;
                        linha[6]  = item.DataModificacao;
                        linha[7]  = item.Projeto;
                        linha[8]  = item.Classificacao;
                        linha[9]  = item.Estimativa;
                        linha[10] = item.TempoGasto;
                        tabela.Rows.Add(linha);
                    }
                }
                baseWindow.preencherGrid(grid, tabela, 80);
            }
        }
        public void realizarUpload(String file)
        {
            string[] lines = System.IO.File.ReadAllLines(file);

            if (lines.Length > 1 && Util.validarArquivoItemBacklog(lines[0]) == true)
            {
                List <ItemBacklog> listaIncluir   = new List <ItemBacklog>();
                List <ItemBacklog> listaAtualizar = new List <ItemBacklog>();

                List <Projeto> listaProjeto = new List <Projeto>();

                for (int i = 1; i < lines.Length; i++)
                {
                    string[]    linha = lines[i].Replace("\"", "").Split('\t');
                    ItemBacklog item  = new ItemBacklog();
                    item.Tipo          = linha[0];
                    item.Id            = Convert.ToInt32(linha[1]);
                    item.Titulo        = linha[2];
                    item.Status        = linha[3];
                    item.PlanejadoPara = linha[4];
                    item.DataColeta    = Convert.ToDateTime(txtData.Text);
                    item.ValorNegocio  = Convert.ToInt32(linha[5].Replace("pts", "").Replace("pt", ""));
                    item.Tamanho       = Convert.ToInt32(linha[6]);
                    item.Complexidade  = Convert.ToInt32(linha[8]);
                    item.Pf            = Convert.ToDecimal(linha[9]);

                    Projeto p = recuperarProjeto(listaProjeto, Convert.ToInt32(linha[7]));
                    if (p != null)
                    {
                        item.Projeto = p.Codigo;
                    }
                    else
                    {
                        int codigo = Convert.ToInt32(((ComboBoxItem)cmbProjeto.SelectedItem).Tag);
                        item.Projeto = codigo;
                    }

                    if (!existeItemBacklog(item))
                    {
                        listaIncluir.Add(item);
                    }
                    else
                    {
                        listaAtualizar.Add(item);
                    }
                }
                ItemBacklogDAO tDAO = new ItemBacklogDAO();
                if (listaIncluir.Count > 0)
                {
                    tDAO.incluir(listaIncluir);
                }
                if (listaAtualizar.Count > 0)
                {
                    tDAO.atualizarPorId(listaAtualizar);
                }

                Alerta alerta = new Alerta("Arquivo incluido com sucesso!");
                alerta.Show();

                preencherLista(new Dictionary <string, string>());
            }
            else
            {
                Alerta alerta = new Alerta("Arquivo invalido");
                alerta.Show();
            }
        }
Example #6
0
        private void executarAcao(DataGrid grid, Label lbl, int opcao, bool inteiro)
        {
            if (validarExibicaoTabela())
            {
                DataTable          tabela           = new DataTable();
                List <Funcionario> listaFuncionario = new List <Funcionario>();
                List <string>      listaColunas     = new List <string>();
                prepararTabela(tabela, listaFuncionario, listaColunas, inteiro);

                decimal mediaGeral = 0;
                foreach (Funcionario func in listaFuncionario)
                {
                    object[] linha = new object[listaColunas.Count + 2]; // +2 por causa das colunas nome e media
                    linha[0] = func.Nome;
                    decimal media = 0;
                    for (int i = 0; i < listaColunas.Count; i++)
                    {
                        if (opcao == OpcaoIndicador.NUM_TAREFA_POR_SPRINT)
                        {
                            TarefaBO tBO = new TarefaBO();
                            linha[i + 1] = tBO.RecuperarQtdeItensPorSprintPorResponsavel(listaColunas[i], func.Codigo);
                        }
                        else if (opcao == OpcaoIndicador.NUM_RELATO_CORRIGIDO_POR_SPRINT)
                        {
                            BugDAO rDAO = new BugDAO(Constantes.RELATO);
                            linha[i + 1] = rDAO.recuperarQtdeItensPorSprintPorResponsavel(listaColunas[i], func.Codigo);
                        }
                        else if (opcao == OpcaoIndicador.NUM_ITEM_POR_SPRINT)
                        {
                            ItemBacklogDAO ibDAO = new ItemBacklogDAO();
                            linha[i + 1] = ibDAO.recuperarQtdeItensBacklogPorSprintPorResponsavel(listaColunas[i], func.Codigo);
                        }
                        else if (opcao == OpcaoIndicador.COMPLEXIDADE_ITEM_POR_SPRINT)
                        {
                            // =SOMARPRODUTO(($Backlog.$E$2:$E$200=B$2)*($Backlog.$R$2:$R$200>0)*($Backlog.$I$2:$I$200))/SOMARPRODUTO(($Backlog.$E$2:$E$200=B$2)*($Backlog.$R$2:$R$200>0))
                            // E = Planejado Para
                            // R = Somatorio numero tarefas do funcionario no item de backlog
                            // I = Complexidade do Item

                            ItemBacklogDAO ibDAO = new ItemBacklogDAO();
                            linha[i + 1] = ibDAO.recuperarComplexidadeItensPorSprintPorResponsavel(listaColunas[i], func.Codigo);
                        }
                        else if (opcao == OpcaoIndicador.NUM_DEFEITO_CORRIGIDO_POR_SPRINT)
                        {
                            // =SOMARPRODUTO(($Backlog.$E$2:$E$200=B$2)*($Backlog.$R$2:$R$200>0)*($Backlog.$M$2:$M$200))/SOMARPRODUTO(($Backlog.$E$2:$E$200=B$2)*($Backlog.$R$2:$R$200>0))
                            // M = Quantidade de defeitos do Item

                            BugDAO dDAO = new BugDAO(Constantes.DEFEITO);
                            linha[i + 1] = dDAO.recuperarQtdeItensPorSprintPorResponsavel(listaColunas[i], func.Codigo);
                        }
                        else if (opcao == OpcaoIndicador.NUM_DEFEITO_CRIADO_POR_SPRINT)
                        {
                            BugBO dBO = new BugBO(Constantes.DEFEITO);
                            linha[i + 1] = dBO.recuperarQtdeItensPorSprintPorCriador(listaColunas[i], func.Nome);
                        }
                        //else if (opcao == OpcaoIndicador.NUM_DEFEITO_POR_ITEM_BACKLOG)
                        //{
                        //    // =SOMARPRODUTO(($Backlog.$E$2:$E$200=B$2)*($Backlog.$R$2:$R$200>0)*($Backlog.$M$2:$M$200))/SOMARPRODUTO(($Backlog.$E$2:$E$200=B$2)*($Backlog.$R$2:$R$200>0))
                        //    // M = Quantidade de defeitos do Item

                        //    BugDAO dDAO = new BugDAO(Constantes.DEFEITO);
                        //    linha[i + 1] = dDAO.recuperarMediaDefeitosPorSprintPorResponsavel(listaColunas[i], func.Codigo);
                        //}
                        //else if (opcao == OpcaoIndicador.NUM_TAREFA_ESTIMATIVA_MAIOR_TEMPO_GASTO)
                        //{
                        //    TarefaDAO tDAO = new TarefaDAO();
                        //    linha[i + 1] = tDAO.recuperarQtdeTarefasPorSprintTempoGastoMaiorEstimativa(listaColunas[i], func.Codigo);
                        //}
                        //else if (opcao == OpcaoIndicador.NUM_TAREFA_TEMPO_GASTO_MAIOR_24)
                        //{
                        //    TarefaDAO tDAO = new TarefaDAO();
                        //    linha[i + 1] = tDAO.recuperarQtdeTarefasTempoGastoMaior24(listaColunas[i], func.Codigo);
                        //}
                        else
                        {
                            linha[i + 1] = i;
                        }
                        media += Convert.ToDecimal(linha[i + 1]);
                    }
                    mediaGeral += Decimal.Round((media / listaColunas.Count), 2);
                    linha[listaColunas.Count + 1] = Decimal.Round((media / listaColunas.Count), 2);
                    tabela.Rows.Add(linha);
                }
                lbl.Content = Decimal.Round((mediaGeral / tabela.Rows.Count), 2);;
                preencherGrid(grid, tabela);
            }
        }