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); } } }
/// <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); } }