im trying give the user of my app a dropdown with all their views as well as their shared views from other users.
Now i know how to get a users personal views and it works fine but when i get to the part where i have to get the Shared Views i seem to not be able to find a way.
So first of all here the Code i have right now:
public List<Views> GetUserOwnedAccountViews(Guid sysuserID, bool includeFetchXML)
List<Views> allViews = new List<Views>();
FilterExpression filter = new FilterExpression();
filter = new FilterExpression();
filter.FilterOperator = LogicalOperator.And;
ConditionExpression cex = new ConditionExpression("returnedtypecode", ConditionOperator.Equal, 10092);
ConditionExpression cex2 = new ConditionExpression("ownerid", ConditionOperator.Equal, sysuserID);
QueryExpression query = new QueryExpression()
Distinct = false,
EntityName = UserQuery.EntityLogicalName,
ColumnSet = new ColumnSet("name", "userqueryid", "description", "fetchxml", "returnedtypecode", "ownerid"),
Criteria = filter
EntityCollection result = _service.RetrieveMultiple(query);
foreach (Entity entity in result.Entities)
UserQuery sq = entity.ToEntity<UserQuery>();
Views vw = new Views();
vw.Id = sq.Id.ToString();
vw.Name = sq.Name;
vw.Description = sq.Description;
vw.Query = sq.FetchXml;
Now how could i get the SharedViews of the user?
I read a few Posts and found out that apparantly "Shared Records/Views" are saved in something called "PrincipalObejctAccess" but i don't know how to use that.
I don't know if you can do a join with the PrincipalObjectAccess table. But you can try to iterate through each user view and use this request docs.microsoft.com/.../gg308215(v%3Dcrm.8)
Hope this helps,
Business Applications communities