private void CarregarGrid()
        {
            try
            {
                CertificacaousuarioBusinessLayer blcertuser = new CertificacaousuarioBusinessLayer();
                CertificacaousuarioEntity        eo         = new CertificacaousuarioEntity();
                eo.aprovacao = EOConst.CodStatusAprovacao.Pendente;

                bool valido = true;

                if (valido)
                {
                    //DataTable lista = blcertuser.Consultar(idgrupo, idcertificado, idregulador, idusuario, status);
                    //DataTable lista = blcertuser.ConsultarPendentesAprovacao(eo);
                    DataTable lista = blcertuser.ConsultarPendentesTelaAprovacao(eo);

                    if (lista.Rows.Count == 0)
                    {
                        divInfo.Visible = true;
                        lblmsInfo.Text  = "Não existe registro para filtro informado!";
                    }
                    else
                    {
                        divInfo.Visible = false;
                    }

                    grdpesquisa.DataSource = lista;
                    grdpesquisa.DataBind();
                }
            }
            catch (Exception ex)
            {
                diverro.Visible = true;
                lblmsgerro.Text = "Mensagem do Sistema: " + ex.Message;
            }
        }
        protected void grdpesquisa_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            diverro.Visible = false;
            try
            {
                if (e.CommandName == "cmdAlterar" || e.CommandName == "cmdExcluir" || e.CommandName == "cmdAbrir" ||
                    e.CommandName == "cmdVisualizar")
                {
                    int     index = Convert.ToInt32(e.CommandArgument);
                    DataKey data  = grdpesquisa.DataKeys[index];
                    if (e.CommandName == "cmdAlterar")
                    {
                        Session.Remove("Aprovacao");
                        Session["Origem"] = "CertificacaoColaborador";
                        Session["eoMinhaCertificacaousuario"] = data.Values["idcertificacao"].ToString();
                        Response.Redirect("CertificacaoColaboradorOperacao.aspx");
                    }
                    else if (e.CommandName == "cmdExcluir")
                    {
                        CertificacaousuarioBusinessLayer bl = new CertificacaousuarioBusinessLayer();
                        CertificacaousuarioEntity        eo = new CertificacaousuarioEntity();
                        eo.idcertificacao = Convert.ToInt32(data.Values["idcertificacao"].ToString());
                        bl.Excluir(eo);
                        CarregarGrid();
                    }
                    else if (e.CommandName == "cmdAbrir")
                    {
                        CertficadoDigitalizadoBusinessLayer bl = new CertficadoDigitalizadoBusinessLayer();
                        CertficadoDigitalizadoEntity        eo = new CertficadoDigitalizadoEntity();
                        eo.idcertificacao = Convert.ToInt32(data.Values["idcertificacao"].ToString());
                        DataTable dt = new DataTable();
                        dt = bl.ConsultarArquivo(eo);
                        if (dt.Rows.Count > 0)
                        {
                            DownloadPDF(dt);
                        }
                        else
                        {
                            diverro.Visible = true;
                            lblmsgerro.Text = "Mensagem do Sistema: Não há arquivo a ser exibido para esse registro";
                        }
                    }

                    else if (e.CommandName == "cmdVisualizar")
                    {
                        CertficadoDigitalizadoBusinessLayer bl = new CertficadoDigitalizadoBusinessLayer();
                        CertficadoDigitalizadoEntity        eo = new CertficadoDigitalizadoEntity();
                        eo.idcertificacao = Convert.ToInt32(data.Values["idcertificacao"].ToString());
                        DataTable dt = new DataTable();
                        dt = bl.ConsultarArquivo(eo);
                        if (dt.Rows.Count > 0)
                        {
                            Session["ArquivoDigitalizado"]     = (byte[])dt.Rows[0]["arquivodigitalizado"];
                            Session["NomeArquivoDigitalizado"] = dt.Rows[0]["arquivo"].ToString();
                            ScriptManager.RegisterStartupScript(this, this.GetType(), "visualizar", "window.open('VisualizarCertificado.aspx');", true);
                        }
                        else
                        {
                            diverro.Visible = true;
                            lblmsgerro.Text = "Mensagem do Sistema: Não há arquivo a ser exibido para esse registro";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                diverro.Visible = true;
                lblmsgerro.Text = "Mensagem do Sistema: " + ex.Message;
            }
        }
        protected void lnkSalvar_Click(object sender, EventArgs e)
        {
            diverro.Visible    = false;
            lblmsgerro.Text    = "";
            divsucesso.Visible = false;
            lblsucesso.Text    = "";

            string msgvalidacao = "";
            bool   valido       = true;
            List <CertificacaousuarioEntity> lst = new List <CertificacaousuarioEntity>();

            AtualizarDtCertificacao();
            AtualizarDtUsuario();
            if (RadioButtonCertificacao.Checked)
            {
                if (ddlcertificacao.SelectedValue == "")
                {
                    msgvalidacao = msgvalidacao + "Certificação não informada; <br />";
                    valido       = false;
                }
                foreach (GridViewRow item in grdusuario.Rows)
                {
                    bool   linhavalida = true;
                    string linha       = item.Cells[0].Text;
                    string msglinha    = "Erro Linha " + linha + ": ";
                    //int idusuario = int.MinValue;

                    string colaborador = ((DropDownList)item.FindControl("ddlgridcolaborador")).SelectedValue;
                    if (colaborador == "")
                    {
                        msglinha    = msglinha + "Colaborador não informado; ";
                        linhavalida = false;
                    }
                    //if (idusuariogrid == "")
                    //{
                    //    msglinha = msglinha + "Usuário não informado; ";
                    //    linhavalida = false;
                    //}
                    //else
                    //{
                    //    UsuarioBusinessLayer bl = new UsuarioBusinessLayer();
                    //    UsuarioEntity eo = new UsuarioEntity();
                    //    eo.matricula = ((TextBox)item.FindControl("txtgrididusuario")).Text;
                    //    eo.login = ((TextBox)item.FindControl("txtgrididusuario")).Text;
                    //    eo.status = EOConst.CodStatus.Ativo;
                    //    DataTable dt = bl.ConsultarPorLoginOuMatricula(eo);
                    //    if (dt != null && dt.Rows.Count > 0)
                    //    {
                    //        if (dt.Rows.Count == 1)
                    //        {
                    //            ((Label)item.FindControl("lblgridvalidacaousuario")).Text = "Usuário Válido.";
                    //            ((Label)item.FindControl("lblgridvalidacaousuario")).ForeColor = System.Drawing.Color.DarkGreen;
                    //            idusuario = Convert.ToInt32(dt.Rows[0]["idusuario"].ToString());
                    //        }
                    //    }
                    //    else
                    //    {
                    //        ((Label)item.FindControl("lblgridvalidacaousuario")).Text = "Login e/ou matricula inexistente.";
                    //        ((Label)item.FindControl("lblgridvalidacaousuario")).ForeColor = System.Drawing.Color.DarkRed;
                    //        msglinha = msglinha + "Login e/ou matricula inexistente; ";
                    //        linhavalida = false;
                    //    }
                    //}

                    string regulador = ((DropDownList)item.FindControl("ddlgridregulador")).SelectedValue;
                    if (regulador == "")
                    {
                        msglinha    = msglinha + "Regulador não informado; ";
                        linhavalida = false;
                    }

                    string dtcertificacao = ((TextBox)item.FindControl("txtgriddtcertificacao")).Text;
                    if (dtcertificacao == "")
                    {
                        msglinha    = msglinha + "Data da certificação não informada; ";
                        linhavalida = false;
                    }
                    else
                    {
                        try
                        {
                            Convert.ToDateTime(dtcertificacao);
                        }
                        catch (Exception)
                        {
                            msglinha    = msglinha + "Data da certificação informada não é valida; ";
                            linhavalida = false;
                        }
                    }

                    string dtvalidade = ((TextBox)item.FindControl("txtgriddtvalidade")).Text;
                    //if (dtvalidade == "")
                    //{
                    //    msglinha = msglinha + "Data da validade não informada; ";
                    //    linhavalida = false;
                    //}
                    //else
                    //{
                    //    try
                    //    {
                    //        Convert.ToDateTime(dtvalidade);
                    //    }
                    //    catch (Exception)
                    //    {
                    //        msglinha = msglinha + "Data da validade informada não é valida; ";
                    //        linhavalida = false;
                    //    }
                    //}

                    if (!linhavalida)
                    {
                        msgvalidacao = msgvalidacao + msglinha + "<br />";
                        valido       = false;
                    }
                    else
                    {
                        if (valido)
                        {
                            CertificacaousuarioEntity eo = new CertificacaousuarioEntity();
                            eo.idcertificado  = Convert.ToInt32(ddlcertificacao.SelectedValue);
                            eo.idusuario      = Convert.ToInt32(colaborador);
                            eo.idregulador    = Convert.ToInt32(regulador);
                            eo.dtcertificacao = Convert.ToDateTime(dtcertificacao);
                            eo.validade       = Convert.ToDateTime(dtvalidade);
                            //eo.status = EOConst.CodStatusCertificacao.Pendente;
                            eo.Log = ((UsuarioEntity)Session["eoUs"]).Log;
                            lst.Add(eo);
                        }
                    }
                }
            }

            if (RadioButtonUsuario.Checked)
            {
                int idusuario = int.MinValue;

                if (ddlColaborador.SelectedValue == "")
                {
                    msgvalidacao = msgvalidacao + "Usuário não informado; <br />";
                    valido       = false;
                }
                else
                {
                    //UsuarioBusinessLayer bl = new UsuarioBusinessLayer();
                    //UsuarioEntity eo = new UsuarioEntity();
                    //eo.matricula = txtloginmatricula.Text;
                    //eo.login = txtloginmatricula.Text;
                    //eo.status = EOConst.CodStatus.Ativo;
                    //DataTable dt = bl.ConsultarPorLoginOuMatricula(eo);
                    //if (dt != null && dt.Rows.Count > 0)
                    //{
                    //    if (dt.Rows.Count == 1)
                    //    {
                    //        lblvalidacaousuario.Text = "Usuário Válido.";
                    //        lblvalidacaousuario.ForeColor = System.Drawing.Color.DarkGreen;
                    //        idusuario = Convert.ToInt32(dt.Rows[0]["idusuario"].ToString());
                    //    }
                    //}
                    //else
                    //{
                    //    lblvalidacaousuario.Text = "Login e/ou matricula inexistente.";
                    //    lblvalidacaousuario.ForeColor = System.Drawing.Color.DarkRed;
                    //    valido = false;
                    //    msgvalidacao = msgvalidacao + "Login e/ ou matricula inexistente; < br />";

                    //}
                }
                foreach (GridViewRow item in grdcertificacao.Rows)
                {
                    bool   linhavalida = true;
                    string linha       = item.Cells[0].Text;
                    string msglinha    = "Erro Linha " + linha + ": ";
                    string idcertgrid  = ((DropDownList)item.FindControl("ddlgridcertificacao")).SelectedValue;

                    if (idcertgrid == "")
                    {
                        msglinha    = msglinha + "Certificação não informada; ";
                        linhavalida = false;
                    }

                    string regulador = ((DropDownList)item.FindControl("ddlgridregulador")).SelectedValue;
                    if (regulador == "")
                    {
                        msglinha    = msglinha + "Regulador não informado; ";
                        linhavalida = false;
                    }

                    string dtcertificacao = ((TextBox)item.FindControl("txtgriddtcertificacao")).Text;
                    if (dtcertificacao == "")
                    {
                        msglinha    = msglinha + "Data da certificação não informada; ";
                        linhavalida = false;
                    }
                    else
                    {
                        try
                        {
                            Convert.ToDateTime(dtcertificacao);
                        }
                        catch (Exception)
                        {
                            msglinha    = msglinha + "Data da certificação informada não é valida; ";
                            linhavalida = false;
                        }
                    }

                    string dtvalidade = ((TextBox)item.FindControl("txtgriddtvalidade")).Text;
                    //if (dtvalidade == "")
                    //{
                    //    msglinha = msglinha + "Data da validade não informada; ";
                    //    linhavalida = false;
                    //}
                    //else
                    //{
                    //    try
                    //    {
                    //        Convert.ToDateTime(dtvalidade);
                    //    }
                    //    catch (Exception)
                    //    {
                    //        msglinha = msglinha + "Data da validade informada não é valida; ";
                    //        linhavalida = false;
                    //    }
                    //}

                    if (!linhavalida)
                    {
                        msgvalidacao = msgvalidacao + msglinha + "<br />";
                        valido       = false;
                    }
                    else
                    {
                        if (valido)
                        {
                            CertificacaousuarioEntity eo = new CertificacaousuarioEntity();
                            eo.idcertificado  = Convert.ToInt32(idcertgrid);
                            eo.idusuario      = idusuario;
                            eo.idregulador    = Convert.ToInt32(regulador);
                            eo.dtcertificacao = Convert.ToDateTime(dtcertificacao);
                            eo.validade       = Convert.ToDateTime(dtvalidade);
                            //eo.status = EOConst.CodStatusCertificacao.Pendente;
                            eo.Log = ((UsuarioEntity)Session["eoUs"]).Log;
                            lst.Add(eo);
                        }
                    }
                }
            }
            if (!valido)
            {
                diverro.Visible = true;
                lblmsgerro.Text = msgvalidacao;
            }
            else
            {
                foreach (CertificacaousuarioEntity item in lst)
                {
                    CertificacaousuarioBusinessLayer bl = new CertificacaousuarioBusinessLayer();
                    bl.Incluir(item);
                }
                Session["dtcertificado"] = null;
                Session["dtusuario"]     = null;
                AdicionarLinhaCertificado();
                AdicionarLinhaUsuario();

                divsucesso.Visible = true;
                lblsucesso.Text    = "Certificações incluidas com sucesso!";
            }
        }