Пример #1
0
        public void CriarAulas(Calendario cal, Turma t)
        {
            try
            {
                //ordena lista da datas
                cal.Datas.Sort();
                //Recebe a lista das turmas
                TurmaBO contadorroleTurmas = new TurmaBO();
                IList<Entities.Turma> listaTurmas = contadorroleTurmas.GetTurmas(cal);
                Util.DataHelper dheper = new BusinessData.Util.DataHelper();
                //Recebe a lista das atividades
                CategoriaAtividadeBO contadorroleAtividades = new CategoriaAtividadeBO();
                IList<CategoriaAtividade> listaAtividades = contadorroleAtividades.GetCategoriaAtividade();
                if (listaAtividades.Count == 0)
                {
                    throw new IndexOutOfRangeException();
                }

                CategoriaAtividade cat = listaAtividades[0];
                foreach (CategoriaAtividade categoria in listaAtividades)
                {
                    if (categoria.Descricao.Equals("Aula"))
                        cat = categoria;
                }

                AulaBO contadorroleAulas = new AulaBO();
                Aula aulaAux;

                    string horario = t.DataHora;

                    //dado um horario pucrs(2ab,4cd), exclui os horarios e guarda os dias em array de inteiros
                    string diasPucrs = Regex.Replace(horario, "[a-zA-Z]", String.Empty);

                    int tamanho = diasPucrs.Length;
                    int[] dias = new int[tamanho];
                    for (int i = 0; i < tamanho; i++)
                    {
                        dias[i] = Convert.ToInt32(diasPucrs.Substring(i, 1));
                    }

                    string[] horariosPucrs = horario.Split(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }, StringSplitOptions.RemoveEmptyEntries);

                    DateTime aux = cal.InicioG1;

                    while (aux <= cal.FimG2)
                    {
                        for (int i = 0; i < dias.Length; i++)
                        {
                            if ((int)(aux.DayOfWeek) == (dias[i] - 1))
                            {
                                aulaAux = Aula.newAula(t, horariosPucrs[i], aux, string.Empty, cat);
                                this.InsereAula(aulaAux);
                            }
                        }
                        aux = aux.AddDays(1);
                    }

            }
            catch (DataAccessException ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public void CriarAulas(Calendario cal)
        {
            try
            {
                //ordena lista da datas
                cal.Datas.Sort();
                //Recebe a lista das turmas
                TurmaBO contadorroleTurmas         = new TurmaBO();
                IList <Entities.Turma> listaTurmas = contadorroleTurmas.GetTurmas(cal);
                Util.DataHelper        dheper      = new BusinessData.Util.DataHelper();
                //Recebe a lista das atividades
                CategoriaAtividadeBO       contadorroleAtividades = new CategoriaAtividadeBO();
                IList <CategoriaAtividade> listaAtividades        = contadorroleAtividades.GetCategoriaAtividade();
                if (listaAtividades.Count == 0)
                {
                    throw new IndexOutOfRangeException();
                }

                CategoriaAtividade cat = listaAtividades[0];
                foreach (CategoriaAtividade categoria in listaAtividades)
                {
                    if (categoria.Descricao.Equals("Aula"))
                    {
                        cat = categoria;
                    }
                }

                AulaBO contadorroleAulas = new AulaBO();
                Aula   aulaAux;
                //Percorre todas as turmas na lista
                foreach (Turma turmaAux in listaTurmas)
                {
                    string horario = turmaAux.DataHora;

                    //dado um horario pucrs(2ab,4cd), exclui os horarios e guarda os dias em array de inteiros
                    string diasPucrs = Regex.Replace(horario, "[a-zA-Z]", String.Empty);

                    int   tamanho = diasPucrs.Length;
                    int[] dias    = new int[tamanho];
                    for (int i = 0; i < tamanho; i++)
                    {
                        dias[i] = Convert.ToInt32(diasPucrs.Substring(i, 1));
                    }

                    string[] horariosPucrs = horario.Split(new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }, StringSplitOptions.RemoveEmptyEntries);

                    DateTime aux = cal.InicioG1;

                    while (aux <= cal.FimG2)
                    {
                        for (int i = 0; i < dias.Length; i++)
                        {
                            if ((int)(aux.DayOfWeek) == (dias[i] - 1))
                            {
                                aulaAux = Aula.newAula(turmaAux, horariosPucrs[i], aux, string.Empty, cat);
                                this.InsereAula(aulaAux);
                            }
                        }
                        aux = aux.AddDays(1);
                    }
                }
            }
            catch (DataAccessException ex)
            {
                throw ex;
            }
        }