1

SystemUserから情報を取得しようとしていますTeamMembership。私はこれらのスニペットを試してきましたが、最初のスニペットは新しいエンティティを作成しますが、メールアドレスや電話番号などのユーザーのすべての情報を取得するわけではありません...

foreach (TeamMembership user in teamMembers)
{
    sysUser.Id = user.SystemUserId.Value; 
    if (sysUser.InternalEMailAddress != string.Empty)
    {
        ActivityParty toParty = new ActivityParty();
        toParty.PartyId = new EntityReference(SystemUser.EntityLogicalName, user.SystemUserId.Value);
        toPartyList.Add(toParty);
    }    
}

それから私はこれで試しましたが、何も返されません!

// Get the Team Entity from the Workflow input parameter
Guid team = TeamName.Get<EntityReference>(executionContext).Id;
List<SystemUser> users =
    (from user in datacontext.CreateQuery<SystemUser>()
     join teamMembership in datacontext.CreateQuery<TeamMembership>()
     on user.SystemUserId.Value equals teamMembership.SystemUserId
     join thisteam in datacontext.CreateQuery<Team>() on teamMembership.TeamId.Value equals thisteam.TeamId.Value
     where thisteam.Name == TeamName.Get<EntityReference>(executionContext).Name
     select user).ToList();  

foreach(SystemUser user in users)
{
    if (user.InternalEMailAddress != null)
        LoggerObj.WriteLog("User " + user.FirstName + " Email:" + user.InternalEMailAddress);
}
4

1 に答える 1

0

技術的な理由でコードを実行していませんが(読んでください:私は少し怠惰です)、LINQステートメントの条件を緩和する必要があると思います。次に、SystemUserインスタンスを取得したら 、再度引き締めることができます。そして、完全にリラックスしても何も得られない場合は、別の問題が発生します。:)

于 2013-03-12T19:21:39.863 に答える