dynamic 365 如何共享项目
类库 | 作用 | 读法 |
---|
GrantAccessRequest | 共享访问请求 | |
RevokeAccessRequest | 撤回共享访问请求 | |
AssignRequest | 分派 | |
#region 共享项目记录
public static void SharePerformanceDeal(IOrganizationService service, string logicname, Guid recordID, Guid userid)
{
GrantAccessRequest grantAccessRequest = new GrantAccessRequest
{
PrincipalAccess = new PrincipalAccess
{
Principal = new EntityReference("systemuser", userid),
AccessMask = AccessRights.ReadAccess
| AccessRights.AppendAccess
| AccessRights.AppendToAccess
},
Target = new EntityReference(logicname, recordID)
};
service.Execute(grantAccessRequest);
}
#endregion
public void Grant(EntityReference teamOrSystemUser, EntityReference target, AccessRights accessRight)
{
GrantAccessRequest val = new GrantAccessRequest();
PrincipalAccess val2 = new PrincipalAccess();
val2.Principal=teamOrSystemUser;
val2.AccessMask=accessRight;
val.PrincipalAccess=(PrincipalAccess)(object)val2;
val.Target=target;
GrantAccessRequest val3 = (GrantAccessRequest)(object)val;
service.Execute((OrganizationRequest)(object)val3);
}
public void RevokeGrant(EntityReference teamOrSystemUser, EntityReference target)
{
RevokeAccessRequest val = new RevokeAccessRequest();
val.Revokee=teamOrSystemUser;
val.Target=target;
RevokeAccessRequest val2 = (RevokeAccessRequest)(object)val;
service.Execute((OrganizationRequest)(object)val2);
}
public void Assing(EntityReference teamOrSystemUser, EntityReference target)
{
AssignRequest val = new AssignRequest();
val.Assignee=teamOrSystemUser;
val.Target=target;
AssignRequest val2 = (AssignRequest)(object)val;
service.Execute((OrganizationRequest)(object)val2);
}
public void Assing(EntityReference teamOrSystemUser, Entity entTarget)
{
EntityReference target = (EntityReference)(object)new EntityReference(entTarget.LogicalName, entTarget.Id);
AssignRequest val = new AssignRequest();
val.Assignee=teamOrSystemUser;
val.Target=target;
AssignRequest val2 = (AssignRequest)(object)val;
service.Execute((OrganizationRequest)(object)val2);
}