コード例 #1
0
 /// <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();
 }
コード例 #2
0
 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();
 }
コード例 #3
0
        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));
        }
コード例 #4
0
        /// <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);
        }