public JsonResult GetMoreGroups(int currentCount) { MyPageGroupListViewModel viewModel = new MyPageGroupListViewModel(); //DBから取得する処理 SetLines(viewModel, currentCount, MyPageGroupListViewModel.INITIAL_PAGE_SIZE); return Json(viewModel, JsonRequestBehavior.AllowGet); }
/// <summary> /// GET: /mypage/group/ /// </summary> public ActionResult Index() { //Todo:認証処理 AOPでやりたい。 一旦Session変数を参照し判定 if (Session["CurrentUser"] == null) { return RedirectToActionPermanent("Login", "Member", new { area = "" }); } var viewModel = new MyPageGroupListViewModel(); //DBから取得する SetLines(viewModel, 0, MyPageGroupListViewModel.INITIAL_SIZE); return View(viewModel); }
private void SetLines(MyPageGroupListViewModel viewModel, int skipCount, int takeCount) { IEnumerable<MyPageGroupListViewModel.GroupListInfo> groupLists = new List<MyPageGroupListViewModel.GroupListInfo> { }; try { Int64 memberId = GetMemberID(); viewModel.MemberId = memberId; if (memberId > 0) { groupLists = MyPageCommon.GetGroupLists(com, memberId); //合計数 viewModel.TotalCount = groupLists.Count(); // 各グループのメンバー数画像を取得 foreach (MyPageGroupListViewModel.GroupListInfo gl in groupLists) { List<MyPageGroupListViewModel.GroupMemberProfile> profilemember = new List<MyPageGroupListViewModel.GroupMemberProfile> { }; var members = from gm in com.Member join ggm in com.GroupMember on gm.MemberId equals ggm.MemberID where ggm.GroupID == gl.GroupID orderby ggm.CreatedDate descending select gm; foreach (var gm in members) { MyPageGroupListViewModel.GroupMemberProfile member = new MyPageGroupListViewModel.GroupMemberProfile(); member.MemberId = gm.MemberId; member.Nickname = gm.Nickname; member.ProfileImage = gm.ProfileImg; //TODO おそらく不要 profilemember.Add(member); } gl.ProfileMember = profilemember; } //表示分読み込む viewModel.GroupLists = groupLists.Skip(skipCount).Take(takeCount); } } catch (Exception ex) { throw ex; } }