public void Execute(IPluginExecutionContext context) { try { var isDynamicEntity = (context.InputParameters.Properties.Contains("Target") && context.InputParameters.Properties["Target"] is DynamicEntity); if (!isDynamicEntity) { return; } Organizacao organizacao = new Organizacao(context.OrganizationName); entity = (DynamicEntity)context.InputParameters.Properties["Target"]; Contato contato = new Contato(organizacao); if (context.MessageName == MessageName.Update) { contato.Id = PluginHelper.GetEntityId(context); } if (entity.Properties.Contains("new_login")) { contato.Login = entity.Properties["new_login"].ToString(); } if (entity.Properties.Contains("new_cpf")) { contato.Cpf = entity.Properties["new_cpf"].ToString(); } String mensagem; if (contato.ExisteDuplicidade(out mensagem)) { throw new InvalidPluginExecutionException(mensagem); } this.PopulaCamposDataAniversario(); FacadeContato facade = new FacadeContato(context); facade.PodeIntegrar(ref entity); } catch (Exception ex) { PluginHelper.TratarExcecao(ex, TipoDeLog.PluginContact); } }