public static CicloDesenv Criar(WexDb contexto, Projeto projeto, string txMeta = "") { CicloDesenv ciclo = new CicloDesenv() { TxMeta = txMeta, Projeto = projeto.Oid }; CicloDesenvDAO.SalvarCicloDesenv(contexto, ciclo); return(ciclo); }
public void GivenQueOCiclo1DoProjetoProjeto01EstejaComSituacaoEmAndamentoComAsEstorias(int numeroCiclo, string nomeProjeto, CsSituacaoCicloDomain situacaoCiclo, Table table) { List <EstoriaBindHelper> estorias = table.CreateSet <EstoriaBindHelper>().ToList(); Projeto projeto = ProjetoDao.Instancia.ConsultarProjetoPorNome(contexto, nomeProjeto); List <CicloDesenv> ciclos = CicloDesenvDAO.ConsultarCiclosDesenvDoProjeto(contexto, projeto.Oid); CicloDesenv ciclo = ciclos[numeroCiclo - 1]; ciclo.CsSituacaoCiclo = (int)situacaoCiclo; CicloDesenvDAO.SalvarCicloDesenv(contexto, ciclo); for (int i = 0; i < estorias.Count; i++) { Estoria estoria = EstoriaDAO.ConsultarEstoriaPorNome(contexto, estorias[i].Titulo); CicloDesenvEstoria estoriaCiclo = CicloDesenvEstoriaFactoryEntity.Criar(contexto, ciclo, estoria, estorias[i].Situacao); } }
public static List <GraficoEstimadoRealizadoDTO> CalcularGraficoEstimadoVsRealizadoProjeto(Guid oidProjeto) { List <GraficoEstimadoRealizadoDTO> graficos = new List <GraficoEstimadoRealizadoDTO>(); int cicloInicioTendencia = 0; uint ritmoTime = 0; using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { List <WexProject.BLL.Entities.Execucao.CicloDesenv> ciclos = CicloDesenvDAO.ConsultarCiclosDesenvDoProjeto(contexto, oidProjeto); if (ciclos.Count <= 0) { return(graficos); } foreach (WexProject.BLL.Entities.Execucao.CicloDesenv ciclo in ciclos) { ritmoTime = Convert.ToUInt32(ciclo.Projeto1.NbRitmoTime); if (graficos.Count > 0) { GraficoEstimadoRealizadoDTO newGraficoEstimadoRealizado = new GraficoEstimadoRealizadoDTO() { ProjetoOid = ciclo.Projeto1.Oid, Ciclo = Convert.ToInt32(ciclo.NbCiclo), Estimado = Convert.ToInt32(ciclo.Projeto1.NbTamanhoTotal) / Convert.ToInt32(ciclo.Projeto1.NbCicloTotalPlan) + graficos[graficos.Count - 1].Estimado }; if (ciclo.CsSituacaoCiclo == Convert.ToInt32(CsSituacaoCicloDomain.Concluido) || ciclo.CsSituacaoCiclo == Convert.ToInt32(CsSituacaoCicloDomain.Cancelado)) { newGraficoEstimadoRealizado.Realizado = ciclo.NbPontosRealizados + graficos[graficos.Count - 1].Realizado; } else { newGraficoEstimadoRealizado.Realizado = graficos[graficos.Count - 1].Realizado; } //Ultimo ciclo do projeto. if (ciclo.NbCiclo == ciclos.Count) { if (newGraficoEstimadoRealizado.Estimado < ciclo.Projeto1.NbTamanhoTotal) { newGraficoEstimadoRealizado.Estimado += (Convert.ToInt32(ciclo.Projeto1.NbTamanhoTotal) - newGraficoEstimadoRealizado.Estimado); } else if (newGraficoEstimadoRealizado.Estimado > ciclo.Projeto1.NbTamanhoTotal) { newGraficoEstimadoRealizado.Estimado -= (Convert.ToDouble(newGraficoEstimadoRealizado.Estimado) - Convert.ToInt32(ciclo.Projeto1.NbTamanhoTotal)); } } graficos.Add(newGraficoEstimadoRealizado); } else { graficos.Add(new GraficoEstimadoRealizadoDTO() { ProjetoOid = ciclo.Projeto1.Oid, Ciclo = Convert.ToInt32(ciclo.NbCiclo), Estimado = Convert.ToInt32(ciclo.Projeto1.NbTamanhoTotal) / Convert.ToDouble(ciclo.Projeto1.NbCicloTotalPlan), Realizado = ciclo.NbPontosRealizados }); } if (ciclo.CsSituacaoCiclo == Convert.ToInt32(CsSituacaoCicloDomain.Concluido) || ciclo.CsSituacaoCiclo == Convert.ToInt32(CsSituacaoCicloDomain.Cancelado)) { cicloInicioTendencia = Convert.ToInt32(ciclo.NbCiclo); } } double? tendenciaAcumulada = 0; Boolean addtendencia = false; if (cicloInicioTendencia == 0) { addtendencia = true; graficos[0].RitimoSugerido = CalcularRitmoSugerido(null, Convert.ToInt32(ciclos[0].Projeto1.NbTamanhoTotal), ciclos.Count); } if (cicloInicioTendencia < graficos.Count) { foreach (GraficoEstimadoRealizadoDTO item in graficos) { if (cicloInicioTendencia == Convert.ToInt32(item.Ciclo)) { item.Tendencia = item.Realizado; tendenciaAcumulada += item.Tendencia; addtendencia = true; item.RitimoSugerido = CalcularRitmoSugerido(item, Convert.ToInt32(ciclos[0].Projeto1.NbTamanhoTotal), ciclos.Count); } else { if (addtendencia) { item.Tendencia = tendenciaAcumulada + ritmoTime; tendenciaAcumulada += ritmoTime; item.Realizado = null; } else { item.Tendencia = null; } } } } } return(graficos); }
/// <summary> /// Método responsável por calcular o gráfico do ritmo do time por projeto /// </summary> /// <param name="contexto">Contexto do banco</param> /// <param name="oidProjeto">Oid do projeto que servirá para a pesquisa</param> /// <returns>Lista dos graficos em DTO</returns> public static List <GraficoRitmoTimeDTO> CalcularGraficoRitmoTimeProjeto(Guid oidProjeto) { List <GraficoRitmoTimeDTO> graficosDTO = new List <GraficoRitmoTimeDTO>(); using (WexDb contexto = ContextFactoryManager.CriarWexDb()) { List <WexProject.BLL.Entities.Execucao.CicloDesenv> ciclos = CicloDesenvDAO.ConsultarCiclosDesenvDoProjeto(contexto, oidProjeto); int cicloInicioTendencia = 0; foreach (WexProject.BLL.Entities.Execucao.CicloDesenv ciclo in ciclos) { if (ciclo.CsSituacaoCiclo == Convert.ToInt32(CsSituacaoCicloDomain.Concluido) || ciclo.CsSituacaoCiclo == Convert.ToInt32(CsSituacaoCicloDomain.Cancelado)) { graficosDTO.Add(new GraficoRitmoTimeDTO() { Ciclo = Convert.ToInt32(ciclo.NbCiclo), Ritmo = ciclo.NbPontosRealizados, Planejado = ciclo.NbPontosPlanejados, Meta = GraficoRitmoTimeBO.ConsultarPontosMeta(ciclo.CicloDesenvEstorias.ToList()) }); } else { graficosDTO.Add(new GraficoRitmoTimeDTO() { Ciclo = Convert.ToInt32(ciclo.NbCiclo), Ritmo = 0, Planejado = ciclo.NbPontosPlanejados, Meta = GraficoRitmoTimeBO.ConsultarPontosMeta(ciclo.CicloDesenvEstorias.ToList()) }); } if (ciclo.CsSituacaoCiclo == Convert.ToInt32(CsSituacaoCicloDomain.Concluido) || ciclo.CsSituacaoCiclo == Convert.ToInt32(CsSituacaoCicloDomain.Cancelado)) { cicloInicioTendencia = Convert.ToInt32(ciclo.NbCiclo); } } Boolean addNull = false; if (cicloInicioTendencia == 0) { addNull = true; } foreach (GraficoRitmoTimeDTO item in graficosDTO) { if (addNull) { item.Ritmo = null; item.Planejado = null; item.Meta = null; } if (item.Ciclo.Equals(cicloInicioTendencia)) { addNull = true; } } return(graficosDTO); } }