示例#1
0
    protected void _grvPessoa_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Associar")
        {
            int    index    = int.Parse(e.CommandArgument.ToString());
            Guid   pes_id   = new Guid(_grvPessoa.DataKeys[index].Values[0].ToString());
            string pes_nome = ((Label)_grvPessoa.Rows[index].FindControl("_lblNome")).Text;
            string data     = ((Label)_grvPessoa.Rows[index].FindControl("_lblData")).Text;
            string cpf      = ((Label)_grvPessoa.Rows[index].FindControl("_lblCPF")).Text;
            string rg       = ((Label)_grvPessoa.Rows[index].FindControl("_lblRG")).Text;

            _AssociarPessoa(pes_id, pes_nome, data, cpf, rg);
            _CarregarGridAssociarPessoa();
        }
        else if (e.CommandName == "Deletar")
        {
            try
            {
                int  index  = int.Parse(e.CommandArgument.ToString());
                Guid pes_id = new Guid(_grvPessoa.DataKeys[index].Values[0].ToString());

                if (!_VerificaExistenciaPessoa(pes_id))
                {
                    PES_Pessoa entityPessoa = new PES_Pessoa {
                        pes_id = pes_id
                    };
                    PES_PessoaBO.GetEntity(entityPessoa);

                    if (PES_PessoaBO.Delete(entityPessoa, null))
                    {
                        _grvPessoa.PageIndex = 0;
                        _grvPessoa.DataBind();
                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "pes_id: " + pes_id);
                        _lblMessage.Text = UtilBO.GetErroMessage("Pessoa excluída com sucesso.", UtilBO.TipoMensagem.Sucesso);
                    }
                    else
                    {
                        _lblMessage.Text = UtilBO.GetErroMessage("Erro ao tentar excluir a pessoa.", UtilBO.TipoMensagem.Erro);
                    }
                }
                else
                {
                    _lblMessage.Text = UtilBO.GetErroMessage("Pessoa não pode ser excluída, pois está preparada para associação. Remover pessoa da associação.", UtilBO.TipoMensagem.Erro);
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                _lblMessage.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Erro);
            }
        }
    }
示例#2
0
        /// <summary>
        /// Decrementa a integridade da pessoa, e exclui ela caso a integridade fique 0.
        /// </summary>
        /// <param name="bancoCore">Transação - obrigatório</param>
        /// <param name="entPessoa">entidade da Pessoa</param>
        private static void DecrementaIntegridadePessoa(TalkDBTransaction bancoCore, PES_Pessoa entPessoa)
        {
            entPessoa.pes_integridade--;
            PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_id, bancoCore);

            if (entPessoa.pes_integridade <= 0)
            {
                // Se integridade for 0 - excluir pessoa.
                PES_PessoaBO.Delete(entPessoa, bancoCore);
                PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_idFiliacaoMae, bancoCore);
                PES_PessoaBO.DecrementaIntegridade(entPessoa.pes_idFiliacaoPai, bancoCore);
            }
        }