Group
グループのメンバーであるユーザーのリストを含むクラスがあります。
メソッドを使用FirstOrDefault()
して、グループページを開いたユーザーがすでにそのグループに属しているかどうかを確認します。
それに基づいて、「グループに参加」または「グループから退出」ボタンを表示します。
これがこのようなシナリオの良い方法なのか、それとももっと良い方法があるのだろうか?
public class Group
{
public virtual ICollection<UserInGroup> UsersInGroups { get; set; }
...
}
詳細なアクション メソッドでは、最初にグループをロードしてから、グループ内のユーザーを確認します。
public ActionResult Show(int groupId, string title)
{
GroupViewModel groupiewModel = new GroupViewModel();
var model = groupsRepository.GetGroupById(groupId);
groupiewModel.Group = model;
Guid userId = (Guid)Membership.GetUser().ProviderUserKey;
var alreadyInGroup = model.UsersInGroups.FirstOrDefault(x => x.UserId == userId);
if (alreadyInGroup != null)
groupiewModel.IsInThisGroup = true;
...
}