Ну, во-первых ... Меня поражает, почему они не включают способ исключения участников из списка ... Есть ли какая-то причина, по которой я этого просто не вижу?Я не могу представить, что есть, но я все еще знаю так мало ...
Мне удалось сделать эту работу, хотя после нескольких редизайнов.Мы берем весь список людей и делаем внешнее объединение с теми, кто отказался, и добавляем к нему дату отклонения.
declinedNode = entityNode.GetChildNode("link-entity", "link-entity[@name='xx_decline_{0}']".FormatWith(memberType));
declinedNode.SetAttribute("name", "xx_decline_{0}".FormatWith(memberType));
declinedNode.SetAttribute("from", "xx_parent_{0}id".FormatWith(memberType));
declinedNode.SetAttribute("to", "{0}id".FormatWith(memberType));
declinedNode.SetAttribute("link-type", "outer");
declinedNode.SetAttribute("alias", "declined");
var declinedDateNode = fetchXmlDoc.CreateNode(XmlNodeType.Element, "attribute", string.Empty);
declinedDateNode .SetAttribute("name", "xx_declineddate");
declinedNode.AppendChild(declinedDateNode);
Тогда серверная часть уже перебирала всех участников в списке, поэтомупоставить условие, что если оно имеет значение для отклоненной даты, мы его игнорируем.