Sunday, March 23, 2025

Activity Party

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

        }

    }

}

---------
string fetchXml = $@"
    <fetch>
        <entity name='activityparty'>
            <attribute name='partyid' />
            <attribute name='participationtypemask' />
            <filter>
                <condition attribute='activityid' operator='eq' value='{activityId}' />
            </filter>
        </entity>
    </fetch>";

EntityCollection results = _service.RetrieveMultiple(new FetchExpression(fetchXml));

-------

No comments:

Post a Comment