共享
/// <summary>
/// 共享(用户或者团队)
/// </summary>
/// <param name="organizationService">组织服务</param>
/// <param name="entityName">实体名称</param>
/// <param name="entityId">共享记录ID</param>
/// <param name="teamOrUserEntityName">共享用户Or团队</param>
/// <param name="teamOrUserId">共享对象ID </param>
/// AccessRights.WriteAccess 读
/// AccessRights.AppendAccess 追加
/// AccessRights.AppendToAccess 追加到
/// AccessRights.ShareAccess 共享
/// AccessRights.CreateAccess 创建
/// AccessRights.DeleteAccess 删除
/// AccessRights.AssignAccess 分派
public static void GrantSharePrivilege(IOrganizationService organizationService, EntityReference recordReference, EntityReference TeamOrUserReference)
{
var request = new GrantAccessRequest
{
PrincipalAccess = new PrincipalAccess
{
AccessMask = | AccessRights.WriteAccess | AccessRights.AppendAccess | AccessRights.AppendToAccess | AccessRights.ShareAccess,
Principal = TeamOrUserReference
},
Target = recordReference
};
organizationService.Execute(request);
}
取消共享
/// <summary>
/// 取消共享
/// </summary>
/// <param name="organizationService">组织服务</param>
/// <param name="recordReference">取消共享记录ID</param>
/// <param name="TeamOrUserReference">取消共享用户或团队</param>
public static void RevokeSharePrivilege(IOrganizationService organizationService, EntityReference recordReference, EntityReference TeamOrUserReference)
{
var request = new RevokeAccessRequest
{
Revokee = TeamOrUserReference,
Target = recordReference
};
organizationService.Execute(request);
}
分派
/// <summary>
/// 分派(用户或者团队)
/// </summary>
/// <param name="organizationService">组织服务</param>
/// <param name="entityName">实体名称</param>
/// <param name="entityId">分派记录ID</param>
/// <param name="teamOrUserEntityName">分派用户Or团队</param>
/// <param name="teamOrUserId">分派对象ID </param>
public static void GrantAssignPrivilege(IOrganizationService organizationService, string entityName, Guid entityId, string teamOrUserEntityName, Guid teamOrUserId)
{
AssignRequest assignRequest = new AssignRequest()
{
Assignee = new EntityReference
{
LogicalName = teamOrUserEntityName,
Id = teamOrUserId
},
Target = new EntityReference(entityName, entityId)
};
organizationService.Execute(assignRequest);
}