Example #1
0
        public Disciplinas(List <DAO.Professor> professores)
        {
            disciplinas = new List <Sorteio.Disciplina>();
            foreach (DAO.Professor professor in professores)
            {
                foreach (DAO.PreferenciaDisciplinas pref in professor.prefDisciplinas)
                {
                    bool addDisciplina = true;
                    foreach (Sorteio.Disciplina disciplina in disciplinas)
                    {
                        if (disciplina.disciplina.id == pref.disciplina.id)
                        {
                            disciplina.preferencias.Add(pref);
                            addDisciplina = false;
                            break;
                        }
                    }

                    if (addDisciplina)
                    {
                        Sorteio.Disciplina disciplina = new Sorteio.Disciplina();
                        disciplina.disciplina   = pref.disciplina;
                        disciplina.preferencias = new List <DAO.PreferenciaDisciplinas>();
                        disciplina.preferencias.Add(pref);

                        disciplinas.Add(disciplina);
                    }
                }
            }

            if (this.disciplinas.Count > 0)
            {
                this.probabilidade = (100 / (this.disciplinas.Count));
            }
        }
Example #2
0
        public Disciplinas(List <DAO.Disciplina> disciplinasPeriodo, List <Sorteio.Disciplina> disciplinasProfessor)
        {
            this.probabilidade = (100 / disciplinasPeriodo.Count);

            disciplinas = new List <Sorteio.Disciplina>();
            foreach (DAO.Disciplina disciplina in disciplinasPeriodo)
            {
                Sorteio.Disciplina temp = new Sorteio.Disciplina();
                temp.disciplina           = disciplina;
                temp.cargaHorariaRestante = disciplina.cargaHorariaSemanal;
                temp.faixaIni             = probabilidade * disciplinas.Count;
                temp.faixaFim             = temp.faixaIni + probabilidade - 1;
                temp.preferencias         = new List <DAO.PreferenciaDisciplinas>();

                foreach (Disciplina disciplinaProf in disciplinasProfessor)
                {
                    if (temp.disciplina.id == disciplinaProf.disciplina.id)
                    {
                        temp.preferencias = disciplinaProf.preferencias;
                        break;
                    }
                }

                disciplinas.Add(temp);
            }
        }
Example #3
0
        public Professores(Sorteio.Disciplina disciplina)
        {
            professores = new List <DAO.Professor>();

            foreach (DAO.PreferenciaDisciplinas pref in disciplina.preferencias)
            {
                professores.Add(pref.professor);
            }
        }
Example #4
0
        public Professores(Sorteio.Disciplina disciplina, DAO.Turno turno)
        {
            professores = new List <DAO.Professor>();
            this.turno  = turno;

            foreach (DAO.PreferenciaDisciplinas pref in disciplina.preferencias)
            {
                if (valido(pref))
                {
                    professores.Add(pref.professor);
                }
            }
        }