/// <summary> /// Altera a prioridade para a última. /// </summary> /// <param name="filaTurma"></param> public void JogarParaUltimaPrioridadeReal(FilaTurma filaTurma) { Prioridades.Where(p => p.PrioridadeReal > filaTurma.PrioridadeReal).ToList().ForEach(p => { p.PrioridadeReal -= 1; }); filaTurma.PrioridadeReal = Prioridades.Max(x => x.PrioridadeReal) + 1; OrdenaPrioridades(); }
public void JogarParaFinalFila(FilaTurma filaTurma) { Posicoes.Where(p => p.Fila.PosicaoReal > filaTurma.Fila.PosicaoReal).ToList().ForEach(p => { p.Fila.PosicaoReal -= 1; }); filaTurma.Fila.PosicaoReal = Posicoes.Max(x => x.Fila.PosicaoReal) + 1; OrdenaPosicoes(); }
public bool Contains(FilaTurma filaTurma) { if (FilaTurma.Fila.Equals(filaTurma.Fila) && FilaTurma.Turma.Equals(filaTurma.Turma)) { return(true); } if (Dependente == null) { return(false); } return(Dependente.Contains(filaTurma)); }
/// <summary> /// Retorna a soma da CH das turmas em espera com menor prioridade que a turma passada por parâmetro /// </summary> /// <param name="filaTurma"></param> /// <returns>Soma da CH</returns> public int CHEmEspera(FilaTurma filaTurma) { int ch = 0; foreach (FilaTurma ft in Prioridades) { if (ft.Fila.Id.Equals(filaTurma.Fila.Id) && ft.Turma.Id.Equals(filaTurma.Turma.Id)) { break; } if (ft.StatusAlgoritmo == StatusFila.EmEspera) { ch += ft.Turma.CH; } } return(ch); }