using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using System;
using System.Collections.Generic;
public class RetrieveActivityParty
{
private readonly IOrganizationService _service;
public RetrieveActivityParty(IOrganizationService service)
{
_service = service;
}
public void GetActivityParties(Guid activityId)
{
QueryExpression query = new QueryExpression("activityparty")
{
ColumnSet = new ColumnSet("partyid", "participationtypemask")
};
query.Criteria.AddCondition("activityid", ConditionOperator.Equal, activityId);
EntityCollection results = _service.RetrieveMultiple(query);
foreach (Entity activityParty in results.Entities)
{
EntityReference party = activityParty.GetAttributeValue<EntityReference>("partyid");
int participationType = activityParty.GetAttributeValue<OptionSetValue>("participationtypemask")?.Value ?? 0;
Console.WriteLine($"Party ID: {party?.Id}, Type: {party?.LogicalName}, Participation Type: {participationType}");
}
}
}