protected void btnDistribuirHorarios_Click(object sender, EventArgs e)
    {
        Calendario calendario = (Calendario)Session["Calendario"];
        AulaBO aulaBO = new AulaBO();
        aulaBO.CriarAulas(calendario);

        //AlocacaoBO alocacaoBO = new AlocacaoBO();
        //alocacaoBO.preencheCalendario(calendario);
    }
Ejemplo n.º 2
0
        public void InsereTurma(Turma turma, Calendario cal)
        {
            InsereTurma(turma);

            ConfigBO configuracoes = new ConfigBO();

            if (configuracoes.IsAulasDistribuidas(cal))
            {
                AulaBO controleAulas = new AulaBO();
                controleAulas.CriarAulas(cal, turma);
            }
        }
Ejemplo n.º 3
0
    protected void Button1_Click(object sender, EventArgs e)
    {
        AulaBO aulabo = new AulaBO();
        Guid g = new Guid("63529733-08BB-466C-BDE5-1F822BDC358C");
        //Aula aula = aulabo.GetAulaById(new Guid("63529733-08BB-466C-BDE5-1F822BDC358C"));
        Aula aula = null;
        Evento evento = null;
        AlocacaoDAO aloc = new AlocacaoDAO();
        RecursosBO rec = new RecursosBO();
        List<Alocacao> lista = new List<Alocacao>();
        DateTime data = new DateTime(2007, 08, 01);
        string hora = "np";
        Alocacao a = new Alocacao(rec.GetRecursoById(g), data, hora, aula, evento);

        aloc.UpdateAlocacao(a);

        //lista = aloc.GetRecursosAlocados(data, hora);
    }
 public ControladorDistribuirAulasBO()
 {
     aulasBO = new AulaBO();
     alocacaoBO = new AlocacaoBO();
     configBO = new ConfigBO();
 }
Ejemplo n.º 5
0
    protected void dgTurmas_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
        {
            List<Turma> listaTurmas = null;
            if (Session["Turmas"] != null)
                listaTurmas = (List<Turma>)Session["Turmas"];

            Label lblAulaId = (Label)e.Item.FindControl("lblAulaId");

            DateTime data = Convert.ToDateTime(Session["Data"]);
            string horario = (string)Session["Horario"];

            AulaBO aulaBO = new AulaBO();
            Aula aula = aulaBO.GetAula(listaTurmas[e.Item.DataSetIndex].Id, data, horario);

            lblAulaId.Text = aula.Id.ToString();

        }
    }
Ejemplo n.º 6
0
    protected void dgTurmas_ItemCommand(object sender, DataGridCommandEventArgs e)
    {
        if (e.CommandName == "Transferir")
        {
            if (rblRecursos.SelectedValue != "")
            {
                DateTime data = Convert.ToDateTime(Session["Data"]);
                Guid eventoId = new Guid(Session["EventoId"].ToString());
                string horario = (string)Session["Horario"];

                Guid recId = new Guid(rblRecursos.SelectedValue);
                List<Troca> listaTrocas = trocaBO.GetNaoVisualizadasByEvento(eventoId, data, horario);

                bool controle = false;
                //verifica se o recurso n esta envolvido em alguma troca
                if (listaTrocas.Count != 0)
                {
                    foreach (Troca t in listaTrocas)
                    {
                        if (t.AlocacaoAtual.Recurso.Id == recId || t.AlocacaoDesejada.Recurso.Id == recId)
                            controle = true;
                    }

                }
                if (!controle)
                {
                    Alocacao aloc = alocBO.GetAlocacao(recId, data, horario);

                    Label lblAulaId = (Label)e.Item.FindControl("lblAulaId");
                    Label lblTurmaId = (Label)e.Item.FindControl("lblTurmaId");

                    Turma turmaRecebeu = turmaBO.GetTurmaById(new Guid(lblTurmaId.Text));
                    Turma turmaTrans = null;

                    Guid eventoTransId = new Guid(Session["EventoId"].ToString());
                    Evento eventoTrans = eventoBO.GetEventoById(eventoTransId);
                    Evento eventoRec = null;

                    Transferencia trans = new Transferencia(Guid.NewGuid(), aloc.Recurso, data, horario, turmaRecebeu, turmaTrans, false, eventoRec, eventoTrans);

                    aloc.Horario = horario;

                    AulaBO aulaBO = new AulaBO();
                    aloc.Aula = aulaBO.GetAulaById(new Guid(lblAulaId.Text));
                    aloc.Evento = null;

                    alocBO.UpdateAlocacao(aloc);

                    transBO.InsereTransferencia(trans);

                    FechaJanela();
                }
                else
                {
                    lblStatus.Text = "Este recurso não pode ser transferido por estar envolvido numa troca.";
                    ddlResponsavel.SelectedIndex = 0;
                    dgTurmas.Visible = false;
                }
            }
            else
            {
                lblStatus.Text = "Selecione um recurso para efetuar a transferência";
            }
        }
    }
Ejemplo n.º 7
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;
            }
        }
Ejemplo n.º 8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!IsPostBack)
            {
                if (Session["AppState"] != null && ((AppState)Session["AppState"]) == AppState.Admin)
                {
                    Server.Transfer("~/Default/Erro.aspx?Erro=O sistema está bloqueado.");
                }
                //else if ((AppState)Session["AppState"] != AppState.Requisicoes)
                //    Server.Transfer("~/Default/Erro.aspx?Erro=Os recursos já foram distribuídos.");
                else
                {
                    if (Session["Calendario"] == null)
                    {
                        Response.Redirect("../Default/SelecionarCalendario.aspx");
                    }
                    Guid idturma = new Guid();
                    if (Request.QueryString["GUID"] != null)
                    {
                        try
                        {
                            idturma = new Guid(Request.QueryString["GUID"]);
                        }
                        catch (FormatException)
                        {
                            Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
                        }
                        Session["TurmaId"] = idturma;
                        cal = (Calendario)Session["Calendario"];

                        CategoriaAtividadeBO cateBO = new CategoriaAtividadeBO();
                        listaAtividades = cateBO.GetCategoriaAtividade();
                        AulaBO AulaBO = new AulaBO();
                        List<Aula> listaAulas = null;
                        try
                        {
                            listaAulas = AulaBO.GetAulas(idturma);
                        }
                        catch (Exception)
                        {
                            Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
                        }

                        foreach (Aula a in listaAulas)
                        {
                            categorias.Add(a.CategoriaAtividade.Id);
                            argb.Add(a.CategoriaAtividade.Cor);
                        }

                        Disciplina disc = listaAulas[0].TurmaId.Disciplina;
                        CategoriaDisciplina cat = disc.Categoria;
                        //lblTitulo.text += " " + cat.Descricao;

                        // Mega gambiarra master extended++
                        // TODO: retirar assim que possível!
                        if(cat.Descricao.IndexOf("Outras Unidades") != -1)
                            facin = false;
                        lblTitulo.Text = listaAulas[0].TurmaId.Disciplina.Nome + " - Turma " + listaAulas[0].TurmaId.Numero;//+ " " + facin;
                        Session["facin"] = facin;

                        dgAulas.DataSource = listaAulas;
                        dgAulas.DataBind();

                    }
                }
            }
        }
        catch (DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
Ejemplo n.º 9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            aulaBo = new AulaBO();
            reqBo = new RequisicoesBO();
            try
            {
                cal = (Calendario)Session["Calendario"];

                // Obtém as requisições do semestre (todas)
                IList<Requisicao> listaReq = reqBo.GetRequisicoesPorCalendario(cal);

                // Cria um conjunto para armazenar os números das turmas com pedidos de recursos
                reqTurmas = new HashSet<Guid>();
                foreach (Requisicao req in listaReq)
                    reqTurmas.Add(req.Aula.TurmaId.Id);

                TurmaBO turma = new TurmaBO();
                List<Turma> listaTurma = turma.GetTurmas(cal);
                listaTurma.Sort();
                if (listaTurma.Count == 0)
                {
                    lblStatus.Text = "Nenhuma turma cadastrada.";
                    lblStatus.Visible = true;
                }
                else
                {
                    // Turmas sem solicitações de recursos, não teóricas e não de pós
                    List<TurmaVerifica> turmasRecursos = new List<TurmaVerifica>();
                    // Turmas restantes (todas as outras)
                    List<TurmaVerifica> turmasRestante = new List<TurmaVerifica>();
                    // Total de turmas restantes
                    int totalTurmasRestante = 0;
                    // Total de turmas que deveriam solicitar recursos
                    int totalTurmasRecursos = 0;
                    // Total de turmas com falta de preenchimento em algum aspecto
                    int totalRestanteFalta = 0;
                    // Total de turmas sem solicitação de recursos
                    int totalRecursosFalta = 0;
                    foreach (Turma t in listaTurma)
                    {
                        TurmaVerifica nova = new TurmaVerifica
                        {
                            Id = t.Id,
                            Numero = t.Numero,
                            Calendario = t.Calendario,
                            Disciplina = t.Disciplina,
                            DataHora = t.DataHora,
                            Professor = t.Professor,
                            Curso = t.Curso
                        };
                        // "teorica" representa turmas teóricas ou de algum pós
                        bool teorica = nova.Disciplina.Categoria.Descricao.Contains("Teórica") ||
                            nova.Disciplina.Categoria.Descricao.Contains("PPG") ||
                            nova.Curso.Nome.Contains("PPG") ||
                            nova.Curso.Nome.StartsWith("Física");

                        // Se a turma não é "teórica", ela deveria solicitar recursos
                        if (!teorica)
                            totalTurmasRecursos++;
                        else
                            // Caso contrário, conta nas demais
                            totalTurmasRestante++;

                        // Verifica o preenchimento dos dados, retorna true se
                        // a turma está incompleta
                        if (verificaTurma(ref nova, t.Disciplina.G2))
                        {
                            // Se a turma deveria solicitar recursos e não o fez,
                            // conta mais uma e adiciona na lista de pendentes
                            if (nova.RecursosOK == "NÃO" && !teorica)
                            {
                                turmasRecursos.Add(nova);
                                totalRecursosFalta++;
                            }
                            // Se a turma não precisa solicitar recursos, conta
                            // nas restantes e adiciona na lista
                            if(teorica)
                            {
                                turmasRestante.Add(nova);
                                totalRestanteFalta++;
                            }
                        }
                    }

                    // Calcula os percentuais
                    double percRecursos = totalRecursosFalta / (double)totalTurmasRecursos;
                    lblPercentualRecursos.Text = String.Format("Turmas sem solicitações de recursos (excluindo teóricas e pós): {1} de {2} ({0:P})", percRecursos, totalRecursosFalta, totalTurmasRecursos);

                    double percPreench = totalRestanteFalta / (double)totalTurmasRestante;
                    lblPercentualGeral.Text = String.Format("Demais turmas com pendências: {1} de {2} ({0:P})", percPreench, totalRestanteFalta, totalTurmasRestante);

                    grvListaTurmas.RowDataBound += grvListaTurmas_RowDataBound;
                    grvListaTurmas.DataSource = turmasRecursos;
                    grvListaTurmas.DataBind();

                    grvListaTurmasGeral.RowDataBound += grvListaTurmasGeral_RowDataBound;
                    grvListaTurmasGeral.DataSource = turmasRestante;
                    grvListaTurmasGeral.DataBind();
                }
            }
            catch (BusinessData.DataAccess.DataAccessException ex)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
            }
            catch (Exception ex)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
            }
        }
    }
Ejemplo n.º 10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Session["Opcoes"] = 0;
            if (Session["Calendario"] == null)
            {
                Response.Redirect("../Default/SelecionarCalendario.aspx");
            }
            listaRequisicoes = new List<DecoratorRequisicoes>();
            if (Request.QueryString["AulaId"] != String.Empty)
            {
                try
                {
                    AulaBO controleAulas = new AulaBO();
                    aulaAtual = controleAulas.GetAulaById(new Guid(Request.QueryString["AulaId"]));

                    Session.Add("aulaAtual", aulaAtual);
                }
                catch (Exception )
                {
                    Response.Redirect("../Docentes/SelecionaTurma.aspx");
                }
            }
             PopulaDDLCategoriaRecursos();
            GetRequisicoes();
            listaRequisicoes = Session["listaRequisicoes"] as List<DecoratorRequisicoes>;
            Session["Opcoes"] = listaRequisicoes.Count;
        }
        calendarioAtual = (Calendario)Session["Calendario"];
        listaRequisicoes = Session["listaRequisicoes"] as List<DecoratorRequisicoes>;
        aulaAtual = Session["aulaAtual"] as Aula;
        limparSessao = false;
    }
Ejemplo n.º 11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (IsPostBack)
                return;

            if (Session["AppState"] != null && ((AppState)Session["AppState"]) == AppState.Admin)
            {
                Server.Transfer("~/Default/Erro.aspx?Erro=O sistema está bloqueado.");
            }
            else if (Session["AppState"] != null && (AppState)Session["AppState"] != AppState.AtivoSemestre)
                Server.Transfer("~/Default/Erro.aspx?Erro=O semestre ainda não foi iniciado.");
            else
            {
                if (Session["Calendario"] == null)
                {
                    Response.Redirect("../Default/SelecionarCalendario.aspx");
                }
                //FIXME: falta um else aqui?
                Guid idturma = new Guid();
                if (Request.QueryString["GUID"] != null)
                {
                    try
                    {
                        idturma = new Guid(Request.QueryString["GUID"]);
                    }
                    catch (FormatException)
                    {
                        Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
                    }

                    Session["TurmaId"] = idturma;
                    cal = (Calendario)Session["Calendario"];

                    CategoriaAtividadeBO cateBO = new CategoriaAtividadeBO();
                    listaAtividades = cateBO.GetCategoriaAtividade();
                    AulaBO AulaBO = new AulaBO();
                    List<Aula> listaAulas = null;
                    try
                    {
                        listaAulas = AulaBO.GetAulas(idturma);
                    }
                    catch (Exception)
                    {
                        Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
                    }
                    Disciplina d = listaAulas[0].TurmaId.Disciplina;
                    CategoriaDisciplina cat = d.Categoria;

                    // Mega gambiarra master extended++
                    // TODO: retirar assim que possível!
                    if(cat.Descricao.IndexOf("Outras Unidades") != -1)
                            facin = false;
                    Session["facin"] = facin;

                    lblTitulo.Text = d.Cod + "-" + d.Cred + " " + d.Nome + ", turma " + listaAulas[0].TurmaId.Numero;//" "+facin;

                    foreach (Aula a in listaAulas)
                    {
                        categorias.Add(a.CategoriaAtividade.Id);
                        argb.Add(a.CategoriaAtividade.Cor);
                    }
                    dgAulas.DataSource = listaAulas;
                    dgAulas.DataBind();

                    // Monta dicionário com bloqueio de recursos devido a uso de outros
                    // Movido para Global.asax (Application_Start)
                    //Dictionary<Guid, Tuple<Guid,Guid>> blocks = new Dictionary<Guid, Tuple<Guid,Guid>>();
                    //List<Recurso> listRec = recursosBO.GetRecursos();
                    //foreach (Recurso r in listRec) {
                    //    if(r.Bloqueia1 != Guid.Empty || r.Bloqueia2 != Guid.Empty)
                    //    {
                    //        //System.Diagnostics.Debug.WriteLine("block: " + r.Id + " -> " + r.Bloqueia1 + ", " + r.Bloqueia2);
                    //        blocks.Add(r.Id, new Tuple<Guid,Guid>(r.Bloqueia1, r.Bloqueia2));
                    //    }
                    //}
                    //Session["blocks"] = blocks;
                }
            }
        }
        catch (DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }
Ejemplo n.º 12
0
 public ControladorDistribuirAulasBO()
 {
     aulasBO    = new AulaBO();
     alocacaoBO = new AlocacaoBO();
     configBO   = new ConfigBO();
 }
Ejemplo n.º 13
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;
            }
        }
Ejemplo n.º 14
0
        public void InsereTurma(Turma turma, Calendario cal)
        {
            InsereTurma(turma);

            ConfigBO configuracoes = new ConfigBO();
            if (configuracoes.IsAulasDistribuidas(cal))
            {
                AulaBO controleAulas = new AulaBO();
                controleAulas.CriarAulas(cal,turma);
            }
        }
Ejemplo n.º 15
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["DownHtml"] == null)
        {
            Server.Transfer("~/Docentes/SelecionaTurma.aspx");
            return;
        }

        if (Session["TurmaId"] == null)
        {
            // FIXME: nem sempre o usuário estava na ListaEventos.
            Server.Transfer("~/Docentes/ListaEventos.aspx");
            return;
        }

        dgAulas.ItemDataBound += new DataGridItemEventHandler(dgAux_ItemDataBound);
        dgAulas.DataSource = Session["DownHtml"] as DataTable;
        dgAulas.DataBind();

        MemoryStream ms = new MemoryStream();
        StreamWriter sw = new StreamWriter(ms, Encoding.UTF8);
        HtmlTextWriter txtSaida = new HtmlTextWriter(sw);

        Guid idturma = (Guid)Session["TurmaId"];
        string titulo = "***";
        try
        {
            AulaBO AulaBO = new AulaBO();
            List<Aula> listaAulas = null;
            try
            {
                listaAulas = AulaBO.GetAulas(idturma);
            }
            catch (Exception)
            {
                Response.Redirect("~/Default/Erro.aspx?Erro=Codigo de turma inválido!");
                return;
            }
            Turma turma = listaAulas[0].TurmaId;
            Disciplina disciplina = turma.Disciplina;
            titulo = disciplina.Cod + "-"+disciplina.Cred + " " +disciplina.Nome + " (" + turma.Numero + ")";

            txtSaida.Write("<html>\n");
            txtSaida.Write("<head>\n</head>\n");
            txtSaida.Write("<body>\n");
            txtSaida.Write("<H1>\n" + titulo + "</H1>\n");
            dgAulas.RenderControl(txtSaida);
            txtSaida.Write("\n</body>\n</html>");
        }
        catch (System.IO.IOException)
        {
            Response.Redirect("~/Default/Erro.aspx");
            return;
        }
        finally
        {
            sw.Dispose();
        }

        Response.AddHeader("Content-disposition",
              "attachment; filename=cronograma.html");
        Response.ContentType = "text/html";
        Response.ContentEncoding = Encoding.UTF8;

        try
        {
            Response.BinaryWrite(ms.ToArray());
            Response.End();
        }
        finally
        {
            ms.Close();
        }
    }
Ejemplo n.º 16
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!IsPostBack)
            {
                if (Session["AppState"] != null && ((AppState)Session["AppState"]) == AppState.Admin)
                {
                    Server.Transfer("~/Default/Erro.aspx?Erro=O sistema está bloqueado.");
                }
                else
                {
                    if (Session["Calendario"] == null)
                    {
                        Response.Redirect("../Default/SelecionarCalendario.aspx");
                    }
                    Guid idturma;
                    if (Request.QueryString["GUID"] != null)
                    {
                        idturma = new Guid(Request.QueryString["GUID"]);

                        Session["TurmaId"] = idturma;
                        cal = (Calendario)Session["Calendario"];

                        CategoriaAtividadeBO cateBO = new CategoriaAtividadeBO();
                        listaAtividades = cateBO.GetCategoriaAtividade();
                        AulaBO AulaBO = new AulaBO();
                        List<Aula> listaAulas = AulaBO.GetAulas(idturma);

                        foreach (Aula a in listaAulas)
                        {
                            categorias.Add(a.CategoriaAtividade.Id);
                            argb.Add(a.CategoriaAtividade.Cor);
                        }

                        dgAulas.DataSource = listaAulas;
                        dgAulas.DataBind();

                    }
                }
            }
        }
        catch (DataAccessException ex)
        {
            Response.Redirect("~/Default/Erro.aspx?Erro=" + ex.Message);
        }
    }