protected void btnSalvar_Click(object sender, EventArgs e)
        {
            try
            {
                if (Page.IsValid)
                {
                    DateTime dataAnotacao = new DateTime();
                    if (!DateTime.TryParse(txtDataAnotacao.Text, out dataAnotacao))
                    {
                        throw new ValidationException(GestaoEscolarUtilBO.RetornaMsgValidacaoData("Data da anotação"));
                    }
                    if (dataAnotacao == new DateTime())
                    {
                        throw new ValidationException("Data da anotação inválida.");
                    }

                    ACA_AlunoAnotacao ano = new ACA_AlunoAnotacao
                    {
                        alu_id = _VS_alu_id,
                        ano_id = VS_ano_id
                    };
                    ACA_AlunoAnotacaoBO.GetEntity(ano);

                    if (ano.IsNew)
                    {
                        ano.ano_dataCriacao = DateTime.Now;
                    }

                    ano.ano_anotacao      = txtAnotacao.Text;
                    ano.ano_dataAnotacao  = Convert.ToDateTime(txtDataAnotacao.Text);
                    ano.usu_id            = __SessionWEB.__UsuarioWEB.Usuario.usu_id;
                    ano.gru_id            = __SessionWEB.__UsuarioWEB.Grupo.gru_id;
                    ano.ano_situacao      = 1;
                    ano.ano_dataAlteracao = DateTime.Now;

                    ACA_AlunoAnotacaoBO.Save(ano);

                    ApplicationWEB._GravaLogSistema(VS_ano_id > 0 ? LOG_SistemaTipo.Update : LOG_SistemaTipo.Insert, "AnotacaoAluno alu_id:" + _VS_alu_id.ToString() +
                                                    " ano_id:" + ano.ano_id.ToString());
                    ScriptManager.RegisterStartupScript(Page, typeof(Page), "FecharAnotacao", "var exibirMensagemConfirmacao=false;$('#divCadastroAnotacao').dialog('close');", true);

                    LoadGridAnotacoes();
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMessage.Text = UtilBO.GetErroMessage("Erro ao salvar anotação geral sobre o aluno.", UtilBO.TipoMensagem.Erro);
            }
        }
        protected void grvAnotacoesGerais_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Editar")
            {
                try
                {
                    int index = int.Parse(e.CommandArgument.ToString());
                    VS_ano_id = Convert.ToInt32(grvAnotacoesGerais.DataKeys[index]["ano_id"].ToString());

                    ACA_AlunoAnotacao ano = new ACA_AlunoAnotacao
                    {
                        alu_id = _VS_alu_id,
                        ano_id = VS_ano_id
                    };
                    ACA_AlunoAnotacaoBO.GetEntity(ano);

                    txtDataAnotacao.Text = ano.ano_dataAnotacao.ToShortDateString();
                    txtAnotacao.Text     = ano.ano_anotacao;

                    ScriptManager.RegisterStartupScript(Page, typeof(Page), "AddAnotacao", "var exibeMensagemSair=" + btnSalvar.Visible.ToString().ToLower() + ";" +
                                                        "$('#divCadastroAnotacao').dialog('option', 'title', '" + CustomResource.GetGlobalResourceObject("UserControl", "UCAlunoAnotacoes.divCadastroAnotacao.Title") + "');" +
                                                        "$(document).ready(function() { $('#divCadastroAnotacao').dialog('open'); }); " +
                                                        "$(document).ready(function(){ LimitarCaracter(" + txtAnotacao.ClientID + ",'contadesc3','4000'); });", true);
                }
                catch (ValidationException ex)
                {
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o tipo de " + GetGlobalResourceObject("Mensagens", "MSG_DISCIPLINA") + ".", UtilBO.TipoMensagem.Erro);
                }
            }
            else if (e.CommandName == "Deletar")
            {
                try
                {
                    int index  = int.Parse(e.CommandArgument.ToString());
                    int ano_id = Convert.ToInt32(grvAnotacoesGerais.DataKeys[index]["ano_id"].ToString());

                    ACA_AlunoAnotacao ano = new ACA_AlunoAnotacao
                    {
                        alu_id = _VS_alu_id,
                        ano_id = ano_id
                    };
                    ACA_AlunoAnotacaoBO.GetEntity(ano);

                    ano.ano_dataAlteracao = DateTime.Now;
                    ano.ano_situacao      = 3;

                    ACA_AlunoAnotacaoBO.Save(ano);

                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "AnotacaoAluno alu_id:" + _VS_alu_id.ToString() +
                                                    " ano_id:" + ano.ano_id.ToString());

                    LoadGridAnotacoes();
                }
                catch (ValidationException ex)
                {
                    lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir a anotação.", UtilBO.TipoMensagem.Erro);
                }
            }
        }