/// <summary> /// ポイント情報の取得 /// </summary> /// <param name="memberId"></param> /// <param name="target_year"></param> /// <param name="target_month"></param> /// <param name="targetRanking">総合ランキング</param> /// <param name="targetPossesionPoint">懸賞応募可能ポイント</param> /// <param name="monthlyRank"></param> /// <returns>PointInfo</returns> private MyPageTopViewModel.PointInfoModel GetPointInfo(Int64 memberId, int target_year, int target_month, out long targetRanking, out int targetPossesionPoint, out long monthlyRank) { MyPageTopViewModel.PointInfoModel pim = new MyPageTopViewModel.PointInfoModel(); PointInfoService pointInfoService = new PointInfoService(com); targetRanking = 0; targetPossesionPoint = 0; monthlyRank = 0; if (memberId > 0) { var m = pointInfoService.GetMemberWithOnlinePoints(memberId, target_year, target_month); if (m == null) return new MyPageTopViewModel.PointInfoModel(); pim = new MyPageTopViewModel.PointInfoModel { PossesionPoint = m.PossesionPoint, FundsPoint = m.FundsPoint, PayOffPoints = m.PayOffPoints }; //所持ポイントランキングから総合ランキングと懸賞応募可能ポイントを取得する var targetDate = DateTime.Now.Date.AddDays(-1); var possesionPointRanking = (from ppr in com.PossesionPointRanking where ppr.MemberID == memberId && ppr.TargetDate == targetDate select ppr).FirstOrDefault(); if (possesionPointRanking != null) { targetRanking = possesionPointRanking.TargetRanking; targetPossesionPoint = possesionPointRanking.TargetPossesionPoint; } } return pim; }
private IEnumerable<MyPageTopViewModel.MemberInfoModel> GetMemberInfo(Int64 memberId) { List<MyPageTopViewModel.MemberInfoModel> result = new List<MyPageTopViewModel.MemberInfoModel> { }; if (memberId > 0) { MyPageTopViewModel.MemberInfoModel mbi = new MyPageTopViewModel.MemberInfoModel(); MyPageTopViewModel.PointInfoModel pim = new MyPageTopViewModel.PointInfoModel(); #region メンバー情報 var member = (from m in com.Member where m.MemberId == memberId select m).FirstOrDefault(); if (member != null) { mbi.MemberId = Convert.ToInt64(member.MemberId); mbi.Nickname = member.Nickname; mbi.ProfileImg = member.ProfileImg; switch (Convert.ToInt16(member.Gender)) // 1:男性、2:女性、3:その他 { case 1: mbi.Gender = "男性"; break; case 2: mbi.Gender = "女性"; break; default: break; } mbi.BirthdayYear = Convert.ToInt32(member.BirthdayYear); mbi.BirthdayMonth = Convert.ToInt32(member.BirthdayMonth); mbi.BirthdayDay = Convert.ToInt32(member.BirthdayDay); // 出身県 var prefecture = (from p in com.PrefectureMaster where p.PrefecturesID == member.PrefecturesId select p).FirstOrDefault(); if (prefecture != null) { mbi.PrefecturesName = prefecture.PrefecturesName; } // 好きなスポーツ var sports = (from s in com.LikeSports join sm in com.SportsMaster on s.SportsID equals sm.SportsID where s.MemberID == member.MemberId orderby s.CreatedDate select sm); foreach (var sp in sports) { mbi.LikeSports += sp.SportsName + " "; } // 好きなチーム List<MyPageTopViewModel.TeamInfo> team_info = new List<MyPageTopViewModel.TeamInfo> { }; MyPageTopViewModel.TeamInfo ti; var teams = (from t in com.LikeTeam where t.MemberID == member.MemberId orderby t.CreatedDate select t); foreach (var tid in teams) { ti.TeamID = tid.TeamID; ti.SportsID = tid.SportsID; ti.TeamName = ""; ti.Url = ""; ti.TeamName = GetTeamName(ref ti); team_info.Add(ti); } mbi.Team = team_info; } #endregion #region 予想数 var seasontotal = (from s in com.SeasonTotalResults where s.MemberID == memberId // && // s.StartYear == year // 年度は見ない group s by s.MemberID into g select new { ExpectNumber = g.Sum(s => s.ExpectNumber) } ).FirstOrDefault(); if (seasontotal != null) { mbi.ExpectNumber = Convert.ToInt32(seasontotal.ExpectNumber); } else { mbi.ExpectNumber = 0; } #endregion //フォロー数 int followingCount = (from f in com.FollowList join m in com.Member on f.MemberID equals m.MemberId where f.FollowerMemberID == memberId && m.Status == 1 select f).Count(); mbi.FollowingNumber = followingCount; //フォロワー数 int followerCount = (from f in com.FollowList join m in com.Member on f.FollowerMemberID equals m.MemberId where f.MemberID == memberId && m.Status == 1 select f).Count(); mbi.FollowerNumber = followerCount; result.Add(mbi); } return result; }