コード例 #1
0
    public void CarregarGrupos()
    {
        DataSet dsGruposAtual = new DataSet();

        dsGruposAtual = Grupo_DB.SelectAllGruposAtual(Convert.ToInt32(Session["codPIAtivo"]), Convert.ToInt32(Session["codAtr"]));

        int qtdGrupos = dsGruposAtual.Tables[0].Rows.Count;

        Label lbl = new Label();

        for (int i = 0; i < qtdGrupos; i++)
        {
            int      codGrupo         = Convert.ToInt32(dsGruposAtual.Tables[0].Rows[i]["gru_codigo"]);
            string[] matriculasAlunos = Grupo_Aluno_DB.SelectAllMatriculaByGrupo(codGrupo);
            string[] nomesAlunos      = Funcoes.NomeAlunosByMatricula(matriculasAlunos);

            Table table = new Table();
            table.ID       = "tabelaGrupo" + i;
            table.CssClass = "tableGrupos";
            table.Style.Add("width", "45%");
            lbl      = new Label();
            lbl.Text = "<br/> <hr>";
            pnlGrupos.Controls.Add(lbl);

            TableHeaderRow  thr = new TableHeaderRow();
            TableHeaderCell th  = new TableHeaderCell();
            th.Text = dsGruposAtual.Tables[0].Rows[i]["GRU_NOME_PROJETO"].ToString();
            thr.Cells.Add(th);
            table.Rows.Add(thr);

            TableRow  row;
            TableCell cell;

            for (int j = 0; j < nomesAlunos.Length; j++)
            {
                row       = new TableRow();
                cell      = new TableCell();
                cell.Text = nomesAlunos[j];
                row.Cells.Add(cell);
                table.Rows.Add(row);
            }

            //ADICIONANDO OS COMPONENTES PARA O PAINEL
            pnlGrupos.Controls.Add(table);
        }
    }
コード例 #2
0
    protected void btnLibera_Click(object sender, EventArgs e)
    {
        string[]     assuntoGrupo = lblMsgAssunto.Text.Split('-'); //separa a string de assunto automática
        int          codReq       = Convert.ToInt32(lblMsgId.Text);
        Requerimento req          = Requerimento_DB.Select(codReq);
        int          codGrupo     = req.CodigoGrupo;

        if (Requerimento_DB.Update(codReq, 2, codGrupo) == 0)
        {
            Grupo_DB.Update(codGrupo);
            Requerimento_DB.UpdateTime(codReq);
            lblMsgStatus.Text             = "Em Andamento";
            mdlHeader.Attributes["style"] = "background-color: #f9ae0e;color: #fff; border-bottom: none; height: 54px; position: absolute; z-index: 999; width: 100%; box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.26);";

            txtResponder.Text = "";
            UpdatePanel3.Update();


            string usuario   = Session["nome"].ToString();
            string matricula = Session["matricula"].ToString();
            string msg       = "O grupo " + assuntoGrupo[1] + "foi liberado para edição de nota por " + usuario;


            Mensagem men = new Mensagem(codReq, matricula, msg, usuario);

            if (Mensagem_DB.Insert(men) == 0)
            {
            }
            else
            {
            }
        }
        else
        {
        }
        abrirMensagens(codReq);
        CarregarGridAtivos();

        UpdatePanel3.Update();
        UpdatePanel1.Update();
        UpdatePanel2.Update();

        ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "openModal();", true);
    }
コード例 #3
0
    protected void btnFinalizarGrupos_Click(object sender, EventArgs e)
    {
        if (Session["MediaGrupo"] != null)
        {
            Grupo gru = new Grupo();
            gru.Gru_codigo  = Convert.ToInt32(ddlFinalizarGrupos.SelectedValue);
            gru.Gru_media   = Convert.ToDouble(Session["MediaGrupo"]);
            gru.Gru_usuario = Session["nome"].ToString();
            Grupo_DB.UpdateGrupoAvaliado(gru);

            DataSet dsGruposFinalizar = new DataSet();
            dsGruposFinalizar = Grupo_DB.SelectAllGruposFinalizar(Convert.ToInt32(Session["codPIAtivo"]), Convert.ToInt32(Session["codAtr"]));
            if (dsGruposFinalizar == null)
            {
                Session["GruposFinalizar"] = null;
                ScriptManager.RegisterStartupScript(this, this.GetType(), "myModalTodosFinalizados", "msgTodosFinalizados();", true);
            }
            else
            {
                Session["GruposFinalizar"] = dsGruposFinalizar;
                ScriptManager.RegisterStartupScript(this, this.GetType(), "myModalGrupoFinalizado", "msgGrupoFinalizado();", true);
            }
        }
    }
コード例 #4
0
    protected void btnFinalizarCriarPi_Click(object sender, EventArgs e)
    {
        //INSERINDO NA TABELA PROJETO_INTER
        Projeto_Inter pi = new Projeto_Inter();

        pi.Pri_codigo   = Convert.ToInt32(lblCodigoPiAut.Text);
        pi.Pri_semestre = Convert.ToInt32(Session["semestre"]);
        pi.Cur_nome     = Session["curso"].ToString();
        Semestre_Ano san = new Semestre_Ano();

        san           = Semestre_Ano_DB.Select();
        pi.San_codigo = san;
        Projeto_Inter_DB.Insert(pi);

        string sqlInsertEventos = "";

        //INSERINDO NA TABELA EVENTOS
        if (desc[0] != "")
        {
            for (int i = 0; i < desc.Length; i++)
            {
                Eventos eve = new Eventos();
                eve.Pri_codigo    = pi;
                eve.Eve_tipo      = desc[i];
                eve.Eve_usuario   = Session["nome"].ToString();
                sqlInsertEventos += "(0," + eve.Pri_codigo.Pri_codigo + ",'" + dat[i] + "','" + eve.Eve_tipo + "','" + eve.Eve_usuario + "'),";
            }

            Eventos_DB.Insert(sqlInsertEventos.Substring(0, sqlInsertEventos.Length - 1));
        }

        //INSERINDO NA TABELA ATRIBUICAO_PI

        int[]    atrDisciplina         = listAtrDisciplinas.ToArray();
        int[]    codDisciplina         = listCodDisciplinas.ToArray();
        string[] nomeProf              = listNomeProfEnvolvidos.ToArray();
        string   sqlInsertAtribuicaoPI = "";

        for (int i = 0; i < atrDisciplina.Length; i++)
        {
            Atribuicao_PI atr = new Atribuicao_PI();
            atr.Adi_codigo         = atrDisciplina[i];
            atr.Pri_codigo         = pi;
            atr.Dis_codigo         = codDisciplina[i];
            atr.Pro_nome           = nomeProf[i];
            sqlInsertAtribuicaoPI += "(" + atr.Pri_codigo.Pri_codigo + "," + atr.Adi_codigo + "," + atr.Dis_codigo + ",'" + atr.Pro_nome + "'),";
        }
        Atribuicao_PI_DB.Insert(sqlInsertAtribuicaoPI.Substring(0, sqlInsertAtribuicaoPI.Length - 1));


        //INSERINDO NA TABELA CRITERIO_PI
        string sqlInsertCriterioPI = "";
        int    indiceCrit          = 0;

        foreach (ListItem li in listaCritPi.Items)
        {
            TextBox txtPeso = (TextBox)PanelCriterios.FindControl("txtCriterio" + (indiceCrit));
            for (int i = 0; i < atrDisciplina.Length; i++)
            {
                Criterio_PI      critPi = new Criterio_PI();
                Criterios_Gerais crit   = new Criterios_Gerais();
                Atribuicao_PI    atr    = new Atribuicao_PI();
                atr.Adi_codigo       = atrDisciplina[i];
                crit.Cge_codigo      = Convert.ToInt32(li.Value);
                critPi.Cge_codigo    = crit;
                critPi.Adi_codigo    = atr;
                critPi.Pri_codigo    = pi;
                critPi.Cpi_peso      = Convert.ToInt32(txtPeso.Text);
                critPi.Cpi_usuario   = Session["nome"].ToString();
                sqlInsertCriterioPI += "(0," + critPi.Cge_codigo.Cge_codigo + "," + critPi.Pri_codigo.Pri_codigo + "," + critPi.Adi_codigo.Adi_codigo + "," + critPi.Cpi_peso + ",'" + critPi.Cpi_usuario + "'),";
            }
            indiceCrit++;
        }
        Criterio_PI_DB.Insert(sqlInsertCriterioPI.Substring(0, sqlInsertCriterioPI.Length - 1));

        //INSERINDO NA TABELA GRUPO
        int ultCodGrupo = Grupo_DB.SelectUltimoCod();

        if (ultCodGrupo == -2)
        {
            ultCodGrupo = 1;
        }
        else
        {
            ultCodGrupo++;
        }
        string sqlInsertGrupo      = "";
        string sqlInsertGrupoAluno = "";

        for (int i = 1; i < index; i++)
        {
            if (ViewState["NomeGrupo" + i.ToString()] != null)
            {
                string nomeGrupo = ViewState["NomeGrupo" + i.ToString()].ToString();
                Grupo  gru       = new Grupo();
                gru.Gru_codigo       = ultCodGrupo;
                gru.Gru_nome_projeto = nomeGrupo;
                gru.Pri_codigo       = pi;
                gru.Gru_usuario      = Session["nome"].ToString();
                sqlInsertGrupo      += "(" + gru.Gru_codigo + "," + gru.Pri_codigo.Pri_codigo + ",'" + gru.Gru_nome_projeto + "',null,0,'" + gru.Gru_usuario + "'),";

                Grupo_Aluno gal = new Grupo_Aluno();
                gal.Gru_codigo  = gru;
                gal.Gal_usuario = Session["nome"].ToString();

                string[] codAlunos = ViewState["CodAlunos" + i.ToString()].ToString().Split('|');
                for (int j = 0; j < codAlunos.Length - 1; j++)
                {
                    if (codAlunos[j] != null)
                    {
                        gal.Alu_matricula    = codAlunos[j];
                        sqlInsertGrupoAluno += "('" + gal.Alu_matricula + "'," + gal.Gru_codigo.Gru_codigo + ",'" + gal.Gal_usuario + "'),";
                    }
                }
            }
            ultCodGrupo++;
        }
        Grupo_DB.Insert(sqlInsertGrupo.Substring(0, sqlInsertGrupo.Length - 1));
        Grupo_Aluno_DB.Insert(sqlInsertGrupoAluno.Substring(0, sqlInsertGrupoAluno.Length - 1));

        Session["codPIAtivo"] = Funcoes.SelectCodPIAtivoByAtr(Convert.ToInt32(Session["codAtr"]));
        DataSet dsGruposAvaliar = new DataSet();

        dsGruposAvaliar          = Grupo_DB.SelectAllGruposAvaliar(Convert.ToInt32(Session["codPIAtivo"]), Convert.ToInt32(Session["codAtr"]));
        Session["GruposAvaliar"] = dsGruposAvaliar;

        ScriptManager.RegisterStartupScript(this, this.GetType(), "myModalPiCadastrado", "msgFinalizarCadastroPi();", true);
    }
コード例 #5
0
    private void PegarValoresNotas()
    {
        double valorMultiplicacao = 0, valor = 0, mediaDisciplina = 0, mediaPonderada = 0, somaMediaPonderada = 0;
        int    rowsCount = Convert.ToInt32(Session["rowsCount"]);
        int    colsCount = Convert.ToInt32(Session["colsCount"]);
        int    somaPeso  = 0;

        string[] todosPesos = valorPeso.Value.Split('|');

        DataSet dsCriteriosPesos = (DataSet)Session["dsCriteriosPesos"];
        int     cpiCodigo        = 0;

        string[] codAlunos = (string[])Session["matriculasAlunos"];

        string sqlInsertHistoricoAluDisc = "";

        for (int j = 1; j < colsCount; j++) //ALUNOS
        {
            Historico_Aluno_Disciplina his = new Historico_Aluno_Disciplina();
            Grupo_Aluno gal = new Grupo_Aluno();

            gal.Alu_matricula = codAlunos[j - 1];
            his.Alu_matricula = gal;

            for (int i = 0; i < rowsCount; i++) //CRITÉRIOS
            {
                //txtNotasRow_1_Col_1 = [0] = txtNotasRow - [1] = 1 - [2] = Col - [3] = 1
                TextBox txtNota = (TextBox)Page.FindControl("ctl00$ctl00$cphConteudo$cphConteudoCentral$txtNotasRow_" + i.ToString() + "_Col_" + j.ToString());

                valor = Convert.ToDouble(txtNota.Text);
                string auxNota = txtNota.Text.Replace(',', '.');
                valorMultiplicacao += valor * Convert.ToInt32(todosPesos[i]);
                //ESTÁ COM ERRO QUADO USA NUMERO DECIMAL PESQUISAR valor.ToString("D", cultureInfo);

                somaPeso += Convert.ToInt32(todosPesos[i]);

                cpiCodigo = Convert.ToInt32(dsCriteriosPesos.Tables[0].Rows[i]["CPI_CODIGO"]); //CÓDIGO DO CRITÉRIO PI
                Criterio_PI cpi = new Criterio_PI();
                cpi.Cpi_codigo = cpiCodigo;
                his.Cpi_codigo = cpi;
                //his.His_nota = valor;
                his.His_usuario = Session["nome"].ToString();

                sqlInsertHistoricoAluDisc += "(0,'" + his.Alu_matricula.Alu_matricula + "'," + his.Cpi_codigo.Cpi_codigo + "," + auxNota + ",'" + his.His_usuario + "'),";
            }
            mediaPonderada      = valorMultiplicacao / somaPeso;
            somaMediaPonderada += mediaPonderada; //SOMA DAS MEDIAS PONDERADAS DE CADA ALUNO
            somaPeso            = 0;
            valorMultiplicacao  = 0;
        }
        Historico_Aluno_Disciplina_DB.Insert(sqlInsertHistoricoAluDisc.Substring(0, sqlInsertHistoricoAluDisc.Length - 1));

        int qtdAlunos = colsCount - 1; // QUANTIDADE DE COLUNAS MENOS 1 POR CAUSA DA COLUNA QUE TEM CRITÉRIOS

        mediaDisciplina = Math.Round((somaMediaPonderada / qtdAlunos), 1);

        Grupo gru = new Grupo();

        gru.Gru_codigo = Convert.ToInt32(ddlGrupos.SelectedValue);

        Projeto_Inter pri = new Projeto_Inter();

        pri.Pri_codigo = Convert.ToInt32(Session["CodigoPIAtivoMateria"]);

        Atribuicao_PI api = new Atribuicao_PI();

        api.Adi_codigo = Convert.ToInt32(Session["codAtr"]);

        Media_Disciplina mdd = new Media_Disciplina();

        mdd.Pri_codigo = pri;
        mdd.Adi_codigo = api;
        mdd.Gru_codigo = gru;
        mdd.Mdd_media  = mediaDisciplina;

        Media_Disciplina_DB.Insert(mdd);

        ddlGrupos.Items.RemoveAt(ddlGrupos.SelectedIndex);

        DataSet dsGruposFinalizar = new DataSet();

        dsGruposFinalizar = Grupo_DB.SelectAllGruposFinalizar(Convert.ToInt32(Session["codPIAtivo"]), Convert.ToInt32(Session["codAtr"]));
        if (dsGruposFinalizar == null)
        {
            Session["GruposFinalizar"] = null;
        }
        else
        {
            Session["GruposFinalizar"] = dsGruposFinalizar;
        }

        DataSet dsGruposAvaliar = new DataSet();

        dsGruposAvaliar = Grupo_DB.SelectAllGruposAvaliar(Convert.ToInt32(Session["codPIAtivo"]), Convert.ToInt32(Session["codAtr"]));
        if (dsGruposAvaliar == null)
        {
            Session["GruposAvaliar"] = null;
            ScriptManager.RegisterStartupScript(this, this.GetType(), "myModalTodosAvaliados", "msgTodosAvaliados();", true);
        }
        else
        {
            Session["GruposAvaliar"] = dsGruposAvaliar;
            ScriptManager.RegisterStartupScript(this, this.GetType(), "myModalGrupoAvaliado", "msgGrupoAvaliado();", true);
        }
    }
コード例 #6
0
    protected void gdvProjetos_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "verDetalhes")
        {
            GridViewRow gvr = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer); //pega a linha da grid pela fonte do comando

            Label lblCodigoGrupo = (Label)gdvProjetos.Rows[gvr.RowIndex].FindControl("lblCodigo");
            int   gru_codigo     = Convert.ToInt32(lblCodigoGrupo.Text);

            LinkButton lblNome  = (LinkButton)gdvProjetos.Rows[gvr.RowIndex].FindControl("lblNome");
            string     gru_nome = lblNome.Text;
            //Grupo gru = Grupo_DB.Select(gru_codigo);

            Label lblCodigoPI = (Label)gdvProjetos.Rows[gvr.RowIndex].FindControl("lblCodigoPI");
            int   CodigoPI    = Convert.ToInt32(lblCodigoPI.Text);

            Label  lblCurso   = (Label)gdvProjetos.Rows[gvr.RowIndex].FindControl("lblCurso");
            string nome_curso = lblCurso.Text;

            Label  lblSemestreCurso = (Label)gdvProjetos.Rows[gvr.RowIndex].FindControl("lblSemestreCurso");
            string semestre_curso   = lblSemestreCurso.Text;

            Label  lblStatus = (Label)gdvProjetos.Rows[gvr.RowIndex].FindControl("lblStatus");
            string status    = lblStatus.Text;

            lblInformacoes.Text = "<pre>Grupo: " + gru_nome + " / Curso: " + nome_curso + "</br>Semestre: " + semestre_curso + " / Status: " + status + "</pre>";

            /*lblNomeGrupoModal.Text = gru_nome;
             * lblCursoModal.Text = nome_curso; //pega o nome do curso e coloca na célula da coluna correspondente ao curso daquela linha
             * lblSemestreModal.Text = semestre_curso;
             * lblStatusModal.Text = status;*/

            DataSet cod_disciplina = Atribuicao_PI_DB.SelectDisciplinaByCod(CodigoPI);
            DataSet nome_professor = Atribuicao_PI_DB.SelectNomeProfessor(CodigoPI);

            int qtd = nome_professor.Tables[0].Rows.Count;

            string[] professores = new string[qtd];
            for (int i = 0; i < qtd; i++)
            {
                professores[i] = nome_professor.Tables[0].Rows[i]["pro_nome"].ToString();
            }

            string[] matriculas_alunos = Grupo_Aluno_DB.SelectAllMatriculaByGrupo(gru_codigo);
            string[] nome_alunos       = Funcoes.NomeAlunosByMatricula(matriculas_alunos);
            string[] nome_disciplina   = Funcoes.DisciplinasByCodigo(cod_disciplina);

            DataTable dt = new DataTable();
            dt.Columns.Add("T", typeof(string));
            dt.Columns.Add("Detalhes", typeof(string));

            DataRow dr = dt.NewRow();
            for (int i = 0; i < matriculas_alunos.Length; i++) //Lista com alunos
            {
                dr["T"]        = "Alunos";
                dr["Detalhes"] = dr["Detalhes"] + nome_alunos[i] + ", ";
            }
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            for (int i = 0; i < nome_disciplina.Length; i++) //Lista com disciplina
            {
                dr["T"]        = "Disciplinas";
                dr["Detalhes"] = dr["Detalhes"] + nome_disciplina[i] + ", ";
            }
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            for (int i = 0; i < qtd; i++) //Lista com professores
            {
                dr["T"]        = "Professores";
                dr["Detalhes"] = dr["Detalhes"] + professores[i] + ", ";
            }
            dt.Rows.Add(dr);

            gdvDetalhes.DataSource = dt;
            gdvDetalhes.DataBind();

            foreach (GridViewRow linha in gdvDetalhes.Rows)                     //percorre cada linha da grid
            {
                Label    lblDetalhes = (Label)linha.FindControl("lblDetalhes"); //acha o label de Nome e liga a outro label
                string[] split       = lblDetalhes.Text.Split(',');
                lblDetalhes.Text = "";

                for (int i = 0; i < split.Length - 1; i++)
                {
                    lblDetalhes.Text = lblDetalhes.Text + split[i] + "</br>";
                }
            }

            UpdatePanelModalNovoCriterio.Update();
            ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "openModal();", true);
        }

        if (e.CommandName == "projHabilitar")
        {
            GridViewRow gvr       = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer); //pega a linha da grid pela fonte do comando
            Label       lblCodigo = (Label)gdvProjetos.Rows[gvr.RowIndex].FindControl("lblCodigo");

            //string lblCodigo = gdvProjetos.Rows[gvr.RowIndex].Cells[0].Text;
            int cod = Convert.ToInt32(lblCodigo.Text);

            if (Grupo_DB.Update(cod) == 0)
            {
                CarregaGrid();
                UpdatePanelAtivados.Update();
                lblMsg.Text = "Projeto habilitado para alterações de nota com Sucesso!";
            }
            else
            {
                CarregaGrid();
                UpdatePanelAtivados.Update();
                lblMsg.Text = "Erro ao habilitar projeto!";
            }
        }
    }
コード例 #7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // VERIFICAR SE O PROFESSOR NÃO ESCOLHEU UMA DISCIPLINA E REDIRECIONA PARA A PÁGINA ESCOLHER DISCIPLINA
        if (Session["disciplina"] == "")
        {
            Response.Redirect("~/EscolherDisciplina");
        }
        if (!IsPostBack)
        {
            CarregarGridAtivos();
            txtCategoria.Items.Insert(0, new ListItem("Selecione", "Selecione"));
            txtCategoria.Items.Insert(1, new ListItem("Alteração de notas", "1"));
            txtCategoria.Items.Insert(2, new ListItem("Problema com cadastros", "2"));
            txtCategoria.Items.Insert(3, new ListItem("Problema com avaliações", "3"));
            txtCategoria.Items.Insert(4, new ListItem("Sugestão", "4"));

            int     codAtr   = Convert.ToInt32(Session["codAtr"]);
            DataSet dsGrupos = Grupo_DB.SelectAllGruposFinalizadosAtual(codAtr);
            int     qtd      = dsGrupos.Tables[0].Rows.Count;

            string[]   alunos_matricula1;
            string[][] alunos_matricula2 = new string [qtd][];
            string[]   alunos_nome;
            string[]   alunos_primeiro_nome;
            string[]   grupos       = new string[qtd];
            string[]   codigo_grupo = new string[qtd];

            for (int i = 0; i < qtd; i++)
            {
                alunos_matricula1    = dsGrupos.Tables[0].Rows[i]["Alunos"].ToString().Split('-');
                alunos_nome          = Funcoes.NomeAlunosByMatricula(alunos_matricula1);
                alunos_primeiro_nome = Funcoes.SplitNomes(alunos_nome);
                alunos_matricula2[i] = new string [alunos_matricula1.Length + 1];
                codigo_grupo[i]      = dsGrupos.Tables[0].Rows[i]["gru_codigo"].ToString();

                for (int j = 0; j < alunos_matricula1.Length + 1; j++)
                {
                    if (j == 0)
                    {
                        alunos_matricula2[i][j] = dsGrupos.Tables[0].Rows[i]["gru_nome_projeto"].ToString();
                    }
                    else
                    {
                        alunos_matricula2[i][j] = alunos_primeiro_nome[j - 1];
                    }

                    if (j == alunos_matricula1.Length)
                    {
                        grupos[i] = grupos[i] + "" + alunos_matricula2[i][j];
                    }
                    else
                    {
                        grupos[i] = grupos[i] + "" + alunos_matricula2[i][j] + " - ";
                    }
                }
            }

            if (qtd > 0)
            {
                for (int i = 0; i < qtd; i++)
                {
                    ddlGrupo.Items.Insert(i, new ListItem(grupos[i], codigo_grupo[i]));
                }
            }
            else
            {
                ddlGrupo.Enabled = false;
                ddlGrupo.Items.Insert(0, new ListItem("Nenhum grupo finalizado encontrado.", "0"));
            }
        }
    }
コード例 #8
0
    //EVENTO DO BOTÃO CONFIRMAR: PEGA LINHA SELECIONADA E ARMAZENA OS DADOS DA MESMA
    protected void btnConfirmar_Click(object sender, EventArgs e)
    {
        //LINHA NÃO SELECIONADA
        int linhaSelecionada = -1;
        int codAtr           = 0;

        foreach (GridViewRow grid in gdv.Rows)                    //PERCORRER TODA A GRID
        {
            RadioButton rb = (RadioButton)grid.FindControl("rb"); //PROCURANDO UM RB


            if (rb.Checked)
            {
                linhaSelecionada = grid.RowIndex;//RECEBE A LINHA SELECIONADA
                break;
            }
        }

        if (linhaSelecionada != -1)//CASO TENHA RB SELECIONADO
        {
            string curso      = gdv.Rows[linhaSelecionada].Cells[1].Text;
            string semestre   = gdv.Rows[linhaSelecionada].Cells[2].Text;
            string disciplina = gdv.Rows[linhaSelecionada].Cells[3].Text;
            string mae        = gdv.Rows[linhaSelecionada].Cells[4].Text;
            codAtr = Convert.ToInt32(gdv.Rows[linhaSelecionada].Cells[5].Text);

            // SESSÕES COM OS DADOS DA LINHA SELECIONADA
            Session["curso"]      = curso;
            Session["semestre"]   = semestre;
            Session["disciplina"] = disciplina;
            Session["codAtr"]     = codAtr;

            // CARREGAR DISCIPLINAS ENVOLVIDAS EM SESSOES
            DataSet    dsEnvolvidas = new DataSet();
            Calendario cal          = new Calendario();
            cal          = Calendario.SelectbyAtual();
            dsEnvolvidas = Professor.SelectAllPIsbyCalendario(cal.Codigo, cal.AnoSemestreAtual);

            // CRIA LISTAS REFERENTE AOS CÓDIGOS, ATRIBUIÇÕES, NOMES E MÃES DE DISCIPLINAS ENVOLVIDAS PARA POSTERIORMENTE
            // SEREM COLOCADAS EM SESSÕES
            string[]      dadosDisc      = new string[4];
            List <string> codEnvolvidas  = new List <string>();
            List <string> atrEnvolvidas  = new List <string>();
            List <string> nomeEnvolvidas = new List <string>();
            List <string> maeEnvolvidas  = new List <string>(); // MÃE OU FILHA
            List <string> nomeProf       = new List <string>();

            string projeto = "PROJETO";

            for (int i = 0; i < dsEnvolvidas.Tables[0].Rows.Count; i++)
            {
                dadosDisc = Funcoes.tratarDadosProfessor(dsEnvolvidas.Tables[0].Rows[i][1].ToString());
                // VERIFICA TODAS AS MATÉRIAS QUE PERTENCEM A ESSE PI
                if ((dadosDisc[0] == Session["Curso"].ToString()) && (dadosDisc[1] == Session["Semestre"].ToString()))
                {
                    if (!dadosDisc[2].Contains(projeto))
                    {
                        codEnvolvidas.Add(dadosDisc[3]);
                        atrEnvolvidas.Add(dsEnvolvidas.Tables[0].Rows[i][0].ToString());
                        nomeEnvolvidas.Add(dadosDisc[2]);
                        maeEnvolvidas.Add(dsEnvolvidas.Tables[0].Rows[i][2].ToString());
                        nomeProf.Add(dadosDisc[4]);
                    }
                }
            }

            string[] vetCodEnvolvidas = codEnvolvidas.ToArray();
            Session["codEnvolvidas"] = vetCodEnvolvidas;
            string[] vetAtrEnvolvidas = atrEnvolvidas.ToArray();
            Session["atrEnvolvidas"] = vetAtrEnvolvidas;
            string[] vetNomeEnvolvidas = nomeEnvolvidas.ToArray();
            Session["nomeEnvolvidas"] = vetNomeEnvolvidas;
            string[] vetMaeEnvolvidas = maeEnvolvidas.ToArray();
            Session["maeEnvolvidas"] = vetMaeEnvolvidas;
            string[] vetNomeProf = nomeProf.ToArray();
            Session["nomeProfEnvolvidos"] = vetNomeProf;

            // CARREGAR SESSOES
            Session["codPIAtivo"] = Funcoes.SelectCodPIAtivoByAtr(codAtr);
            if (Convert.ToInt32(Session["codPIAtivo"]) != -2 && Convert.ToInt32(Session["codPIAtivo"]) != 0)
            {
                DataSet dsGruposAvaliar   = new DataSet();
                DataSet dsGruposFinalizar = new DataSet();
                dsGruposAvaliar            = Grupo_DB.SelectAllGruposAvaliar(Convert.ToInt32(Session["codPIAtivo"]), Convert.ToInt32(Session["codAtr"]));
                dsGruposFinalizar          = Grupo_DB.SelectAllGruposFinalizar(Convert.ToInt32(Session["codPIAtivo"]), Convert.ToInt32(Session["codAtr"]));
                Session["GruposFinalizar"] = dsGruposFinalizar;
                Session["GruposAvaliar"]   = dsGruposAvaliar;
            }
            else
            {
                Session["codPIAtivo"]      = null;
                Session["GruposAvaliar"]   = null;
                Session["GruposFinalizar"] = null;
                Session["Grupos"]          = null;
                Session["codDisciplinas"]  = null;
            }

            if (mae == "<span class='glyphicon glyphicon-star'></span>")
            {
                Session["mae"] = "MAE";
            }
            else
            {
                Session["mae"] = "FILHA";
            }
            //REDIRECIONA PRA HOME
            Response.Redirect("~/Home");
        }
        else
        {
            //SE NENHUM RB FOR SELECIONADO, UMA MODAL DE AVISO É EXIBIDA
            //SCRIPTMANAGER SERVE PARA CHAMAR UM JAVASCRIPT VIA C#
            ScriptManager.RegisterStartupScript(this, this.GetType(), "modalEscolherDis", "modalEscolherDis();", true);
        }
    }