Hi
I got this code from some blog but I coudn't get my head around the last few lines (I've marked it in bold). Could someone please explain me what the last few lines mean and what it is trying to do or if you could point me to some reference document . Any advice is really appreciated.
Many thanks
Viv
protected static DataCollection<Entity> GetRelatedEntitDataFromManyToManyRelation(string entityToRetrieve, string[] columnsToRetieve, string relationName, EntityReference targetEntity, IOrganizationService service)
{
DataCollection<Entity> result = null;
QueryExpression query = new QueryExpression();
query.EntityName = entityToRetrieve;
query.ColumnSet = new ColumnSet(columnsToRetieve);
Relationship relationship = new Relationship();
relationship.SchemaName = relationName;
RelationshipQueryCollection relatedEntity = new RelationshipQueryCollection();
relatedEntity.Add(relationship, query);
RetrieveRequest request = new RetrieveRequest();
request.RelatedEntitiesQuery = relatedEntity;
request.ColumnSet = new ColumnSet(targetEntity.LogicalName + "id");
request.Target = targetEntity;
RetrieveResponse response = (RetrieveResponse)service.Execute(request);
if (
(
(DataCollection<Relationship, EntityCollection>)(((RelatedEntityCollection)(response.Entity.RelatedEntities)))
).Contains(new Relationship(relationName)) && ((DataCollection<Relationship, EntityCollection>)(((RelatedEntityCollection)(response.Entity.RelatedEntities))))[new
Relationship(relationName)].Entities.Count > 0)
{
result = ((DataCollection<Relationship, EntityCollection>)(((RelatedEntityCollection)(response.Entity.RelatedEntities))))[new Relationship(relationName)].Entities;
}
return result;
}
Vivek Pradhan