Exemple #1
0
 private static void CreateActivityPartiesFromSingleFields <T>(LocalCrmDatabaseOrganizationService service, T entity) where T : Entity
 {
     foreach (var att in entity.Attributes.Where(a => ActivityPartyFields.Contains(a.Key)))
     {
         service.CreateActivityParty(new Entity
         {
             LogicalName = ActivityParty.EntityLogicalName,
             [ActivityParty.Fields.PartyId]               = att.Value,
             [ActivityParty.Fields.ActivityId]            = entity.ToEntityReference(),
             [ActivityParty.Fields.ParticipationTypeMask] = MapFieldToParticipation(att.Key)
         });
     }
 }
Exemple #2
0
        private static void CreateActivityPartiesFromPartyLists <T>(LocalCrmDatabaseOrganizationService service, T entity) where T : Entity
        {
            foreach (var att in entity.Attributes.Where(a => a.Value is EntityCollection))
            {
                var entities = (EntityCollection)att.Value;
                foreach (var party in entities.Entities.Where(p => p.LogicalName == ActivityParty.EntityLogicalName))
                {
                    if (party.GetAttributeValue <EntityReference>(ActivityParty.Fields.PartyId) == null)
                    {
                        throw new NullReferenceException("Activity Party PartyId was null");
                    }

                    party[ActivityParty.Fields.ActivityId] = entity.ToEntityReference();
                    if (party.GetAttributeValue <object>(ActivityParty.Fields.ParticipationTypeMask) == null)
                    {
                        party[ActivityParty.Fields.ParticipationTypeMask] = MapFieldToParticipation(att.Key);
                    }

                    service.CreateActivityParty(party);
                }
            }
        }