/// <summary> /// As estorias que tiverem sido removidas, devem ter /// sua prioridade retornada para o topo do backlog. /// </summary> private void RnRepriorizarEstoriasExcluidas() { ushort prioridade = 1; _DeletedItems.Reverse(0, _DeletedItems.Count); foreach (Estoria estoria in _DeletedItems) { // estoria.CsSituacao = CsEstoriaDomain.NaoIniciado; estoria.NbPrioridade = prioridade; ((IOrdenacao)estoria).SetReOrdenando(true); estoria.Save(); prioridade++; } if (_DeletedItems.Count > 0) { ICollection estorias = Estoria.GetEstoriasPorProjeto(Session, Projeto); if (estorias != null) { foreach (Estoria estoria in estorias) { if (estoria.NbPrioridade != 0) { estoria.NbPrioridade = prioridade; ((IOrdenacao)estoria).SetReOrdenando(true); estoria.Save(); } prioridade++; } } } _DeletedItems.Clear(); }
/// <summary> /// Caso a lista de prioridades esteja comecando com uma entrega que tenha /// prioridade diferente de 1 entao significa que uma entrega foi incluida /// no ciclo e as entregas que ficaram no backlog deverao ser repriorizadas. /// </summary> public void RnRepriorizarBacklogAtualSeNecessario() { ushort prioridade = 1; ICollection estorias = Estoria.GetEstoriasPorProjeto(Session, Projeto); bool existNovaEstoriaCiclo = false; if (estorias != null) { foreach (Estoria estoria in estorias) { if (estoria.NbPrioridade != 0) { if (estoria.NbPrioridade != 1 && existNovaEstoriaCiclo) { estoria.NbPrioridade = prioridade; ((IOrdenacao)estoria).SetReOrdenando(true); estoria.Save(); } prioridade = estoria.NbPrioridade; prioridade++; } else { existNovaEstoriaCiclo = true; } } } }