Вам необходимо зарегистрировать плагин для ассоциированного сообщения, первичного и вторичного объектов как ни одного.
В плагине, вы должны проверить context.MessageName («Associate» или «разъединить») и context.InputParameters [ «Связь»] (мы ищем «systemuserroles_association»)
код для проверки условий что-то вроде этого
//all usual plugin stuff here
if (context.InputParameters.Contains("Relationship")) {
relationshipName = context.InputParameters["Relationship"].ToString();
}
// Check the “Relationship Name” with your intended one
if (relationshipName != "systemuserroles_association") {
return;
}
if (context.MessageName == "Associate") {
//logic when role added
}
if (context.MessageName == "Disassociate") {
//logic when role removed
}
else {
//not interested
}
Я не скомпилировал код, но он должен дать вам представление о том, как действовать.