示例#1
0
        /// <summary>
        /// Salva os tipos de documento do responsável
        /// </summary>
        /// <param name="pesRespDoc">entidade Pes_PessoaDocumento</param>
        /// <param name="pes_id"></param>
        /// <param name="bancoCore"></param>
        private static void SalvaDocumento(PES_PessoaDocumento pesRespDoc, Guid pes_id, TalkDBTransaction bancoCore)
        {
            // Verifica se já existe esse documento para essa pessoa.
            PES_PessoaDocumento docAux = new PES_PessoaDocumento
            {
                pes_id = pes_id,
                tdo_id = pesRespDoc.tdo_id
            };

            PES_PessoaDocumentoBO.GetEntity(docAux, bancoCore);

            // Salvar documento.
            PES_PessoaDocumento doc = new PES_PessoaDocumento
            {
                pes_id                 = pes_id,
                tdo_id                 = pesRespDoc.tdo_id,
                psd_numero             = pesRespDoc.psd_numero,
                IsNew                  = docAux.IsNew,
                psd_infoComplementares = docAux.psd_infoComplementares,
                psd_orgaoEmissao       = docAux.psd_orgaoEmissao,
                psd_dataEmissao        = docAux.psd_dataEmissao,
                unf_idEmissao          = docAux.unf_idEmissao,
                psd_situacao           = 1
            };

            PES_PessoaDocumentoBO.Save(doc, bancoCore);

            if (doc.IsNew)
            {
                // Incrementar a integridade do tipo de documento.
                SYS_TipoDocumentacaoBO.IncrementaIntegridade(doc.tdo_id, bancoCore);
            }
        }
示例#2
0
    /// <summary>
    /// Verifica o tipo de documento selecionado
    /// e mostra somente os campos correspondentes a esse tipo de documento.
    /// </summary>
    /// <param name="e">Item do repeater</param>
    public void MostraCamposCorretosDeCadaDocumento(RepeaterItemEventArgs e)
    {
        var tiposDocumentos = _VS_tipos_documentos;

        //CASO A VIEWSTATE DE TIPOS DE DOCUMENTOS NÃO EXISTA, DÁ GET NO BANCO E SETA PARA A MESMA
        if (tiposDocumentos == null)
        {
            tiposDocumentos = SYS_TipoDocumentacaoBO.GetSelect(Guid.Empty, "", "", 0, false, 1, 1);

            _VS_tipos_documentos = tiposDocumentos;
        }

        //CAMPOS(DIVS) QUE DEVERÃO SER MOSTRADAS OU OCULTADAS DEPENDENDO DO TIPO DE DOCUMENTO
        var campos = new string[] { "Categoria", "Classificacao", "Csm", "DtEmissao", "DataEntrada"
                                    , "DataExpedicao", "DataValidade", "UF", "InfCompl", "NumDoc", "OrgEmissor", "Pais"
                                    , "NumeroRA", "RegiaoMilitar", "Secao", "Serie", "TipoGuarda", "Via"
                                    , "Zona" };

        //PEGA OS ATRIBUTOS DE CADA DOCUMENTO
        var atributos = (from DataRow dr in tiposDocumentos.Rows
                         where (Guid)dr["tdo_id"] == new Guid(((DropDownList)e.Item.FindControl("ddlTipoDoc")).SelectedValue)
                         select(dr["tdo_atributos"] != DBNull.Value ? (string)dr["tdo_atributos"] : null)).FirstOrDefault();

        //CASO O CAMPO ATRIBUTOS ESTEJA NULO, DA GET NO BANCO NOS ATRIBUTOS DEFAULT
        if (String.IsNullOrEmpty(atributos))
        {
            atributos = _VS_tipos_documentos_atributos_default;

            if (String.IsNullOrEmpty(atributos))
            {
                try
                {
                    var tipoDocumentacaoAtributos = SYS_TipoDocumentacaoAtributoBO.SelecionarAtributos();

                    var auxAtributo = (from DataRow dr in tipoDocumentacaoAtributos.Rows
                                       select(dr["tda_default"] != DBNull.Value ? (bool)dr["tda_default"] : false));

                    auxAtributo.ToList().ForEach(x => atributos += Convert.ToByte(x));
                }
                catch (Exception ex)
                {
                    atributos = "0001000111100000000";
                }

                _VS_tipos_documentos_atributos_default = atributos;
            }
        }

        if (atributos != null)
        {
            //ESCONDE OS CAMPOS QUE NÃO PERTENCEM AO TIPO DE DOCUMENTO ESCOLHIDO
            for (int i = 0; i < atributos.Length; i++)
            {
                if (atributos[i] == '0')
                {
                    (e.Item.FindControl(campos[i])).Visible = false;
                }
            }
        }
    }
示例#3
0
        /// <summary>
        /// Excluindo documento do responsável
        /// </summary>
        /// <param name="listaRespDocumento">Busca do banco os documentos anteriores</param>
        /// <param name="listaDocumentoInseridos">Documentos atuais</param>
        /// <param name="pes_id">pes_id do responsável</param>
        /// <param name="bancoCore"></param>
        private static void ExcluirDocumentoReponsavel
        (
            List <PES_PessoaDocumento> listaRespDocumento
            , List <PES_PessoaDocumento> listaDocumentoInseridos
            , Guid pes_id
            , TalkDBTransaction bancoCore
        )
        {
            foreach (PES_PessoaDocumento item in listaRespDocumento)
            {
                if (!listaDocumentoInseridos.Exists
                        (p =>
                        p.tdo_id == item.tdo_id
                        ))
                {
                    // Se o tipo de documento não existir mais, excluir.
                    PES_PessoaDocumento doc = new PES_PessoaDocumento {
                        pes_id = pes_id, tdo_id = item.tdo_id
                    };
                    PES_PessoaDocumentoBO.Delete(doc, bancoCore);

                    // Decrementa integridade do tipo de documento.
                    SYS_TipoDocumentacaoBO.DecrementaIntegridade(doc.tdo_id, bancoCore);
                }
            }
        }
    private void _LoadFromEntity(Guid tdo_id)
    {
        try
        {
            string atributos = "";
            int    posId     = 0;

            SYS_TipoDocumentacao TipoDocumentacao = new SYS_TipoDocumentacao {
                tdo_id = tdo_id
            };
            SYS_TipoDocumentacaoBO.GetEntity(TipoDocumentacao);
            _VS_tdo_id = TipoDocumentacao.tdo_id;
            _ddlClassificacao.SelectedValue = TipoDocumentacao.tdo_classificacao.ToString();
            _txtDocumento.Text          = TipoDocumentacao.tdo_nome;
            _txtSigla.Text              = TipoDocumentacao.tdo_sigla;
            _ddlValidacao.SelectedValue = TipoDocumentacao.tdo_validacao.ToString();
            _ckbBloqueado.Checked       = !TipoDocumentacao.tdo_situacao.Equals(1);
            _ckbBloqueado.Visible       = true;

            if (_ddlClassificacao.SelectedValue.ToString() != "99")
            {
                atributos = TipoDocumentacao.tdo_atributos;
            }
            else
            {
                atributos = SYS_TipoDocumentacaoAtributoBO.SelecionarStringAtributosDefault();
            }

            CarregarAtributos();

            if (!string.IsNullOrEmpty(atributos))
            {
                // Verifica quais foram os atributos selecionados
                foreach (ListItem item in _ckbAtributos.Items)
                {
                    posId = Convert.ToInt16(item.Value);

                    if (posId <= atributos.Length)
                    {
                        if (atributos.Substring(posId - 1, 1) == "1")
                        {
                            item.Selected = true;
                        }
                    }
                }
            }

            // Habilita/Desabilita os checkboxes se a classificação estiver default
            OnOffAtributosDefault(_ddlClassificacao.SelectedValue.ToString() == "99" ? false : true);
        }
        catch (Exception e)
        {
            ApplicationWEB._GravaErro(e);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o tipo de documentação.", UtilBO.TipoMensagem.Erro);
        }
    }
示例#5
0
        /// <summary>
        /// Decrementa a integridade do DocumentoPessoa no Core para a pessoa.
        /// </summary>
        /// <param name="bancoCore">Transação do Core</param>
        /// <param name="tdo_id">ID do tipo de documentação (NIS,CPF e RG)</param>
        /// <param name="pes_id">pes_id do responsável</param>
        private static void DecrementaIntegridadeDocumentoPessoa
        (
            TalkDBTransaction bancoCore,
            Guid tdo_id,
            Guid pes_id
        )
        {
            PES_PessoaDocumento doc = new PES_PessoaDocumento {
                pes_id = pes_id, tdo_id = tdo_id
            };

            // Decrementa integridade do tipo de documento.
            SYS_TipoDocumentacaoBO.DecrementaIntegridade(doc.tdo_id, bancoCore);
        }
示例#6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            this._dgvPessoas.PageSize = ApplicationWEB._Paginacao;
            fdsResultados.Visible     = false;

            Guid tdo_id;
            SYS_TipoDocumentacao tdo = new SYS_TipoDocumentacao();

            string tipoDocCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
            if (!string.IsNullOrEmpty(tipoDocCPF))
            {
                tdo_id     = new Guid(tipoDocCPF);
                tdo.tdo_id = tdo_id;
                SYS_TipoDocumentacaoBO.GetEntity(tdo);
                _lblCPF.Text = tdo.tdo_sigla;
                _dgvPessoas.Columns[3].HeaderText = tdo.tdo_sigla;
            }
            else
            {
                _lblCPF.Text    = string.Empty;
                _lblCPF.Visible = false;
                _txtCPF.Visible = false;
                _dgvPessoas.Columns[3].HeaderText           = string.Empty;
                _dgvPessoas.Columns[3].HeaderStyle.CssClass = "hide";
                _dgvPessoas.Columns[3].ItemStyle.CssClass   = "hide";
            }

            string tipoDocRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG);
            if (!string.IsNullOrEmpty(tipoDocRG))
            {
                tdo_id     = new Guid(tipoDocRG);
                tdo.tdo_id = tdo_id;
                SYS_TipoDocumentacaoBO.GetEntity(tdo);
                _lblRG.Text = tdo.tdo_sigla;
                _dgvPessoas.Columns[4].HeaderText = tdo.tdo_sigla;
            }
            else
            {
                _lblRG.Text    = string.Empty;
                _lblRG.Visible = false;
                _txtRG.Visible = false;
                _dgvPessoas.Columns[4].HeaderText           = string.Empty;
                _dgvPessoas.Columns[4].HeaderStyle.CssClass = "hide";
                _dgvPessoas.Columns[4].ItemStyle.CssClass   = "hide";
            }
        }
    }
示例#7
0
    protected void _dgvDocumentacao_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Deletar")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                Guid tdo_id = new Guid(_dgvDocumentacao.DataKeys[index].Value.ToString());

                SYS_TipoDocumentacao EntityTipoDocumentacao = new SYS_TipoDocumentacao {
                    tdo_id = tdo_id
                };
                SYS_TipoDocumentacaoBO.GetEntity(EntityTipoDocumentacao);

                if (SYS_TipoDocumentacaoBO.Delete(EntityTipoDocumentacao))
                {
                    _dgvDocumentacao.PageIndex = 0;
                    _dgvDocumentacao.DataBind();
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "tdo_id: " + tdo_id);
                    _lblMessage.Text = UtilBO.GetErroMessage("Tipo de documentação excluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir o tipo de documentação.", UtilBO.TipoMensagem.Erro);
                }
            }
            catch (CoreLibrary.Validation.Exceptions.ValidationException ex)
            {
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);

                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
            }
        }
    }
示例#8
0
    /// <summary>
    /// Método para validar os campos a serem salvos.
    /// </summary>
    /// <param name="row">Linha a ser validada.</param>
    /// <param name="msgErro">Mensagens de erros.</param>
    /// <returns></returns>
    private bool ValidarLinhaGrid(RepeaterItem row, out string msgErro)
    {
        try
        {
            string msg    = "";
            Guid   tdo_id = new Guid(((DropDownList)row.FindControl("ddlTipoDoc")).SelectedValue);

            //Valida o tipo de documento.
            if (tdo_id != Guid.Empty)
            {
                SYS_TipoDocumentacao tdo = new SYS_TipoDocumentacao {
                    tdo_id = tdo_id
                };

                SYS_TipoDocumentacaoBO.GetEntity(tdo);

                if (((TextBox)row.FindControl("tbNumDoc")).Visible == true &&
                    string.IsNullOrEmpty(((TextBox)row.FindControl("tbNumDoc")).Text))
                {
                    //Valida o número do documento.
                    msg += "Número é obrigatório.</br>";
                }
                else
                {
                    if (tdo.tdo_validacao == 1)
                    {
                        if (!UtilBO._ValidaCPF(((TextBox)row.FindControl("tbNumDoc")).Text))
                        {
                            msg += "Número inválido para CPF.</br>";
                        }
                    }

                    if (tdo.tdo_validacao == 2)
                    {
                        Regex regex = new Regex("^[0-9]+$");
                        if (!regex.IsMatch(((TextBox)row.FindControl("tbNumDoc")).Text))
                        {
                            msg += "Número inválido.</br>";
                        }
                    }

                    string docPadraoCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
                    if (((DropDownList)row.FindControl("ddlTipoDoc")).SelectedValue == docPadraoCPF)
                    {
                        if (PES_PessoaDocumentoBO.VerificaDocumentoExistente(((TextBox)row.FindControl("tbNumDoc")).Text, _VS_pes_id))
                        {
                            msg += "Já existe uma pessoa cadastrada com esse documento. (" + ((DropDownList)row.FindControl("ddlTipoDoc")).SelectedItem + ")</br>";
                        }
                    }
                }
            }
            else
            {
                msg += "Tipo de documento é obrigatório.</br>";
            }

            // Valida a data de emissão.
            if (!string.IsNullOrEmpty(((TextBox)row.FindControl("tbDtEmissao")).Text.Trim()))
            {
                DateTime dt;
                if (!DateTime.TryParse(((TextBox)row.FindControl("tbDtEmissao")).Text, out dt))
                {
                    msg += "Data de emissão não está no formato dd/mm/aaaa ou é inexistente.</br>";
                }
            }

            // Valida se já existe o documentos do mesmo tipo cadastrados.
            var x = from RepeaterItem gvr in rptDocumento.Items
                    where
                    (((DropDownList)gvr.FindControl("ddlTipoDoc")).SelectedValue.Equals(((DropDownList)row.FindControl("ddlTipoDoc")).SelectedValue, StringComparison.OrdinalIgnoreCase)) &&
                    !string.IsNullOrEmpty((((TextBox)gvr.FindControl("tbNumDoc")).Text))

                    select gvr;

            if (x.Count() > 1)
            {
                msg += "Existem documentos cadastrados com mesmo tipo.";
            }

            if (string.IsNullOrEmpty(msg))
            {
                _lblMessage.Visible = false;
                msgErro             = "";
                return(true);
            }
            else
            {
                _lblMessage.Visible = true;
                msgErro             = msg;
                return(false);
            }
        }
        catch (Exception ex)
        {
            msgErro = "Não foi possível verificar o(s) documento(s).";
            ApplicationWEB._GravaErro(ex);
            return(false);
        }
    }
示例#9
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptManager sm = ScriptManager.GetCurrent(this);

        if (sm != null)
        {
            sm.Scripts.Add(new ScriptReference(ArquivoJS.UiAriaTabs));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.Tabs));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.PastaScriptRaiz + "Telas/jsCadastroPessoa.js"));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.PastaScriptRaiz + "Telas/jsUCCadastroContato.js"));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.PastaScriptRaiz + "Telas/jsUCCadastroEndereco.js"));
            sm.Services.Add(new ServiceReference("~/WSServicos.asmx"));
        }

        UCPessoas1.Paginacao     = ApplicationWEB._Paginacao;
        UCPessoas1.ContainerName = "divBuscaPessoa";
        UCPessoas1.ReturnValues += UCPessoas1BuscaPessoa;

        if (!IsPostBack)
        {
            if ((PreviousPage != null) && (PreviousPage.IsCrossPagePostBack))
            {
                LoadFromEntity(PreviousPage.EditItem);
            }

            Page.Form.Enctype = "multipart/form-data";

            if (Session["ManutencaoPessoa_dtAssociarPessoa"] != null)
            {
                try
                {
                    _VS_AssociarPessoas = (DataTable)(Session["ManutencaoPessoa_dtAssociarPessoa"]);
                    Session.Remove("ManutencaoPessoa_dtAssociarPessoa");

                    Guid tdo_id;
                    SYS_TipoDocumentacao tdo = new SYS_TipoDocumentacao();

                    string tipoDocCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
                    if (!string.IsNullOrEmpty(tipoDocCPF))
                    {
                        tdo_id     = new Guid(tipoDocCPF);
                        tdo.tdo_id = tdo_id;
                        SYS_TipoDocumentacaoBO.GetEntity(tdo);
                        _grvAssociarPessoas.Columns[2].HeaderText = tdo.tdo_sigla;
                    }
                    else
                    {
                        _grvAssociarPessoas.Columns[2].HeaderText           = string.Empty;
                        _grvAssociarPessoas.Columns[2].HeaderStyle.CssClass = "hide";
                        _grvAssociarPessoas.Columns[2].ItemStyle.CssClass   = "hide";
                    }

                    string tipoDocRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG);
                    if (!string.IsNullOrEmpty(tipoDocRG))
                    {
                        tdo_id     = new Guid(tipoDocRG);
                        tdo.tdo_id = tdo_id;
                        SYS_TipoDocumentacaoBO.GetEntity(tdo);
                        _grvAssociarPessoas.Columns[3].HeaderText = tdo.tdo_sigla;
                    }
                    else
                    {
                        _grvAssociarPessoas.Columns[3].HeaderText           = string.Empty;
                        _grvAssociarPessoas.Columns[3].HeaderStyle.CssClass = "hide";
                        _grvAssociarPessoas.Columns[3].ItemStyle.CssClass   = "hide";
                    }

                    _CarregarGridPessoa();
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro);
                }
            }

            _btnSalvar.Visible      = false;
            Page.Form.DefaultFocus  = UCCadastroPessoa1._txtNome.ClientID;
            Page.Form.DefaultButton = _btnSalvar.UniqueID;
        }

        #region INICIALIZACAO DOS DELEGATES

        UCCadastroPessoa1._Selecionar += UCCadastroPessoa1__Seleciona;

        #endregion INICIALIZACAO DOS DELEGATES
    }
示例#10
0
    protected void Page_Load(object sender, EventArgs e)
    {
        ScriptManager sm = ScriptManager.GetCurrent(this);

        if (sm != null)
        {
            sm.Scripts.Add(new ScriptReference(ArquivoJS.CamposData));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmExclusao));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.JqueryMask));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.MascarasCampos));
        }

        if (!IsPostBack)
        {
            try
            {
                string message = __SessionWEB.PostMessages;
                if (!String.IsNullOrEmpty(message))
                {
                    _lblMessage.Text = message;
                }

                _grvPessoa.PageSize = ApplicationWEB._Paginacao;

                Guid tdo_id;
                SYS_TipoDocumentacao tdo = new SYS_TipoDocumentacao();

                string tipoDocCPF = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
                if (!string.IsNullOrEmpty(tipoDocCPF))
                {
                    tdo_id     = new Guid(tipoDocCPF);
                    tdo.tdo_id = tdo_id;
                    SYS_TipoDocumentacaoBO.GetEntity(tdo);
                    _lblCPF.Text = tdo.tdo_sigla;
                    _grvPessoa.Columns[2].HeaderText          = tdo.tdo_sigla;
                    _grvAssociarPessoas.Columns[2].HeaderText = tdo.tdo_sigla;
                }
                else
                {
                    _lblCPF.Text    = string.Empty;
                    _lblCPF.Visible = false;
                    _txtCPF.Visible = false;
                    _grvPessoa.Columns[2].HeaderText           = string.Empty;
                    _grvPessoa.Columns[2].HeaderStyle.CssClass = "hide";
                    _grvPessoa.Columns[2].ItemStyle.CssClass   = "hide";

                    _grvAssociarPessoas.Columns[2].HeaderText           = string.Empty;
                    _grvAssociarPessoas.Columns[2].HeaderStyle.CssClass = "hide";
                    _grvAssociarPessoas.Columns[2].ItemStyle.CssClass   = "hide";
                }

                string tipoDocRG = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG);
                if (!string.IsNullOrEmpty(tipoDocRG))
                {
                    tdo_id     = new Guid(tipoDocRG);
                    tdo.tdo_id = tdo_id;
                    SYS_TipoDocumentacaoBO.GetEntity(tdo);
                    _lblRG.Text = tdo.tdo_sigla;
                    _grvPessoa.Columns[3].HeaderText          = tdo.tdo_sigla;
                    _grvAssociarPessoas.Columns[3].HeaderText = tdo.tdo_sigla;
                }
                else
                {
                    _lblRG.Text    = string.Empty;
                    _lblRG.Visible = false;
                    _txtRG.Visible = false;
                    _grvPessoa.Columns[3].HeaderText           = string.Empty;
                    _grvPessoa.Columns[3].HeaderStyle.CssClass = "hide";
                    _grvPessoa.Columns[3].ItemStyle.CssClass   = "hide";

                    _grvAssociarPessoas.Columns[3].HeaderText           = string.Empty;
                    _grvAssociarPessoas.Columns[3].HeaderStyle.CssClass = "hide";
                    _grvAssociarPessoas.Columns[3].ItemStyle.CssClass   = "hide";
                }

                VerificaBusca();

                Page.Form.DefaultButton = _btnPesquisar.UniqueID;
                Page.Form.DefaultFocus  = _txtNome.ClientID;

                _divPesquisa.Visible  = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar;
                _btnPesquisar.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar;
                _btnNovo.Visible      = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_inserir;
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar o sistema.", UtilBO.TipoMensagem.Erro);
            }
        }
    }
示例#11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Page.SetFocus(_txtNome);

        ScriptManager sm = ScriptManager.GetCurrent(this);

        if (sm != null)
        {
            sm.Scripts.Add(new ScriptReference(ArquivoJS.UiAriaTabs));
            sm.Scripts.Add(new ScriptReference("~/Includes/jsTabs.js"));
            sm.Scripts.Add(new ScriptReference(ArquivoJS.MsgConfirmExclusao));
            sm.Scripts.Add(new ScriptReference("~/Includes/jsCadastroColaborador.js"));
            sm.Scripts.Add(new ScriptReference("~/Includes/jsBuscaColaboradores.js"));
        }

        UCComboQtdePaginacao1.GridViewRelacionado = _grvColaborador;

        if (!IsPostBack)
        {
            string message = __SessionWEB.PostMessages;
            if (!String.IsNullOrEmpty(message))
            {
                _lblMessage.Text = message;
            }

            _grvColaborador.PageSize = ApplicationWEB._Paginacao;

            try
            {
                SYS_TipoDocumentacao tdo = new SYS_TipoDocumentacao();
                string tdo_id            = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_CPF);
                if (!string.IsNullOrEmpty(tdo_id))
                {
                    tdo.tdo_id = new Guid(tdo_id);
                    SYS_TipoDocumentacaoBO.GetEntity(tdo);
                    _lblCPF.Text = tdo.tdo_sigla;
                    _grvColaborador.Columns[1].HeaderText = tdo.tdo_sigla;
                }
                else
                {
                    _lblCPF.Text    = string.Empty;
                    _lblCPF.Visible = false;
                    _txtCPF.Visible = false;
                    _grvColaborador.Columns[1].HeaderText           = string.Empty;
                    _grvColaborador.Columns[1].SortExpression       = string.Empty;
                    _grvColaborador.Columns[1].HeaderStyle.CssClass = "hide";
                    _grvColaborador.Columns[1].ItemStyle.CssClass   = "hide";
                }

                tdo_id = SYS_ParametroBO.ParametroValor(SYS_ParametroBO.eChave.TIPO_DOCUMENTACAO_RG);
                if (!string.IsNullOrEmpty(tdo_id))
                {
                    tdo.tdo_id = new Guid(tdo_id);
                    SYS_TipoDocumentacaoBO.GetEntity(tdo);
                    _lblRG.Text = tdo.tdo_sigla;
                    _grvColaborador.Columns[2].HeaderText = tdo.tdo_sigla;
                }
                else
                {
                    _lblRG.Text    = string.Empty;
                    _lblRG.Visible = false;
                    _txtRG.Visible = false;
                    _grvColaborador.Columns[2].HeaderText           = string.Empty;
                    _grvColaborador.Columns[2].SortExpression       = "";
                    _grvColaborador.Columns[2].HeaderStyle.CssClass = "hide";
                    _grvColaborador.Columns[2].ItemStyle.CssClass   = "hide";
                }

                bool controleIntegracao = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.CONTROLAR_COLABORADOR_APENAS_INTEGRACAO, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
                _btnNovo.Visible = !controleIntegracao && __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_inserir;

                ucComboUAEscola.Inicializar();
                UCComboCargo1.CarregarCargo();
                UCComboFuncao1.CarregarFuncao();

                chkTodosColaboradores.Visible = __SessionWEB.__UsuarioWEB.Grupo.vis_id != SysVisaoID.Administracao;

                VerificaBusca();

                if (__SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar)
                {
                    Page.ClientScript.RegisterStartupScript(GetType(), fdsConsulta.ClientID, String.Format("MsgInformacao('{0}');", String.Concat("#", fdsConsulta.ClientID)), true);
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar carregar os dados.", UtilBO.TipoMensagem.Erro);
            }

            _divPesquisa.Visible       = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar;
            _btnPesquisar.Visible      = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar;
            _btnLimparPesquisa.Visible = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_consultar;

            _grvColaborador.Columns[indiceColunaExcluir].Visible      = __SessionWEB.__UsuarioWEB.GrupoPermissao.grp_excluir;
            _grvColaborador.Columns[indiceColunaCriarDocente].Visible = ACA_ParametroAcademicoBO.ParametroValorBooleanoPorEntidade(eChaveAcademico.PERMITIR_CRIACAO_DOCENTE_POR_COLABORADOR, __SessionWEB.__UsuarioWEB.Usuario.ent_id);
        }
    }
    protected void Salvar()
    {
        try
        {
            string atributos = "";
            Func <string, bool> VerifyStringNull = x => x.Contains('1');

            // Verifica quais foram os atributos selecionados
            foreach (ListItem item in _ckbAtributos.Items)
            {
                atributos += (item.Selected ? "1" : "0");
            }

            //DA ERRO CASO VALIDAÇÃO ESTEJA CHECKADO E NÚMERO NÃO
            if (Convert.ToByte(_ddlValidacao.SelectedValue) != 0 && !_ckbAtributos.Items.FindByText("Número").Selected)
            {
                _lblMessage.Text = UtilBO.GetErroMessage("Para adicionar uma validação é necessário selecionar o atributo número.", UtilBO.TipoMensagem.Alerta);
            }
            else
            {
                if (VerifyStringNull(atributos))
                {
                    SYS_TipoDocumentacao TipoDoc = new SYS_TipoDocumentacao
                    {
                        tdo_id = _VS_tdo_id
                        ,
                        tdo_nome = _txtDocumento.Text
                        ,
                        tdo_sigla = _txtSigla.Text
                        ,
                        tdo_validacao = Convert.ToByte(_ddlValidacao.SelectedValue)
                        ,
                        tdo_situacao = (_ckbBloqueado.Checked ? Convert.ToByte(2) : Convert.ToByte(1))
                        ,
                        tdo_classificacao = Convert.ToByte(_ddlClassificacao.SelectedValue)
                        ,
                        tdo_atributos = atributos
                        ,
                        IsNew = (_VS_tdo_id != Guid.Empty) ? false : true
                    };

                    if (SYS_TipoDocumentacaoBO.Save(TipoDoc))
                    {
                        if (_VS_tdo_id != Guid.Empty)
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "tdo_id: " + TipoDoc.tdo_id);
                            __SessionWEB.PostMessages = UtilBO.GetErroMessage("Tipo de documentação alterado com sucesso.", UtilBO.TipoMensagem.Sucesso);
                        }
                        else
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "tdo_id: " + TipoDoc.tdo_id);
                            __SessionWEB.PostMessages = UtilBO.GetErroMessage("Tipo de documentação incluído com sucesso.", UtilBO.TipoMensagem.Sucesso);
                        }

                        Response.Redirect(__SessionWEB._AreaAtual._Diretorio + "TipoDoc/Busca.aspx", false);
                    }
                    else
                    {
                        _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o tipo de documentação.", UtilBO.TipoMensagem.Erro);
                    }
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Obrigatório pelo menos um atributo.", UtilBO.TipoMensagem.Alerta);
                }
            }
        }
        catch (CoreLibrary.Validation.Exceptions.ValidationException e)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (DuplicateNameException e)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (ArgumentException e)
        {
            _lblMessage.Text = UtilBO.GetErroMessage(e.Message, UtilBO.TipoMensagem.Alerta);
        }
        catch (Exception e)
        {
            ApplicationWEB._GravaErro(e);
            _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar salvar o tipo de documentação.", UtilBO.TipoMensagem.Erro);
        }
    }