コード例 #1
0
        public JsonResult GetMoreGroups(int currentCount)
        {
            MyPageGroupListViewModel viewModel = new MyPageGroupListViewModel();

            //DBから取得する処理
            SetLines(viewModel, currentCount, MyPageGroupListViewModel.INITIAL_PAGE_SIZE);

            return Json(viewModel, JsonRequestBehavior.AllowGet);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        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;
            }
        }