/// <summary> /// Obtenção do próximo Ciclo não finalizado /// </summary> /// <returns>Objeto de CicloDesenv</returns> public CicloDesenv GetProximoCicloNaoFinalizado() { CicloDesenv ciclo = null; Projeto.Ciclos.Filter = CriteriaOperator.Parse("NbCiclo > ? AND CsSituacaoCiclo != ? AND CsSituacaoCiclo != ?", NbCiclo, CsSituacaoCicloDomain.Concluido, CsSituacaoCicloDomain.Cancelado); if (Projeto.Ciclos.Count > 0) { Projeto.Ciclos.Sorting.Add(new SortProperty("NbCiclo", SortingDirection.Ascending)); ciclo = Projeto.Ciclos[0]; } // Retirada do Filtro Projeto.Ciclos.Filter = null; return(ciclo); }
/// <summary> /// Criação das Listas de Itens Pendentes /// </summary> /// <returns>True, se criou e False se não criou</returns> public bool CriarListasItensPendentes(bool save = true) { int count; // Reiniciando valores _ListaPrioridades = new List <CicloDesenvEstoria>(); _ListaProximoCiclo = new List <CicloDesenvEstoria>(); DesenvEstorias.Filter = CriteriaOperator.Parse("CsSituacao = ? OR CsSituacao = ?", CsSituacaoEstoriaCicloDomain.NaoIniciado, CsSituacaoEstoriaCicloDomain.EmDesenv); // quantidade de registros no filtro count = DesenvEstorias.Count; if (count > 0) { RnCriarListasDestinoEstorias(DesenvEstorias); DesenvEstorias.Filter = null; // Próximo Ciclo CicloDesenv ciclo = GetProximoCicloNaoFinalizado(); if (ciclo == null) { _ListaPrioridades = new List <CicloDesenvEstoria>(_ListaProximoCiclo); _ListaProximoCiclo = new List <CicloDesenvEstoria>(); if (save) { RnSalvarDestinoEstoriasPendentes(); } return(false); } return(true); } DesenvEstorias.Filter = null; return(false); }
/// <summary> /// Salva o destino das Estórias pendentes /// </summary> public void RnSalvarDestinoEstoriasPendentes() { ushort position = 1; // Prioridades foreach (CicloDesenvEstoria estoria in _ListaPrioridades) { estoria.CsSituacao = CsSituacaoEstoriaCicloDomain.Replanejado; estoria.Estoria.NbPrioridade = position; estoria.Estoria.Save(); position++; } CicloDesenv nextCiclo = GetProximoCicloNaoFinalizado(); position = 1; // Próximo Ciclo foreach (CicloDesenvEstoria estoria in _ListaProximoCiclo) { estoria.CsSituacao = CsSituacaoEstoriaCicloDomain.Replanejado; if (nextCiclo != null) { new CicloDesenvEstoria(Session) { CsSituacao = CsSituacaoEstoriaCicloDomain.NaoIniciado, Ciclo = nextCiclo, Estoria = estoria.Estoria, Meta = true, NbSequencia = position }.Save(); position++; } } }