/// <summary> /// 当日のゲーム情報取得 /// </summary> /// <param name="sports_id"></param> /// <param name="today"></param> /// <returns></returns> public List<MyPageGroupDetailsViewModel.MyPageGameInfoViewModel> GetTodaysGames(int? sports_id, int today) { Int64 memberId = GetLoginMemberId(); List<MyPageGroupDetailsViewModel.MyPageGameInfoViewModel> ListGames = new List<MyPageGroupDetailsViewModel.MyPageGameInfoViewModel>(); List<GameInfoViewModel> npbGameInfos = new List<GameInfoViewModel>(); List<GameInfoViewModel> mlbGameInfos = new List<GameInfoViewModel>(); List<JlgGameInfos> jlgGameInfos = new List<JlgGameInfos>(); // グループメンバ0が予想している試合のみを選択 var query = (from et in com.ExpectTarget join ep in com.ExpectPoint on et.ExpectTargetID equals ep.ExpectTargetID join pt in com.Point on ep.PointID equals pt.PointID join gm in com.GroupMember on pt.MemberID equals gm.MemberID where et.ClassClass == CLASSCLASS_GAME && pt.MemberID == memberId orderby et.SportsID, et.UniqueID select et); if (query != null) { List<int> npbGameIDlist = (from q in query where q.SportsID == Constants.NPB_SPORT_ID select q.UniqueID).Distinct().ToList(); List<int> mlbGameIDlist = (from q in query where q.SportsID == Constants.MLB_SPORT_ID select q.UniqueID).Distinct().ToList(); List<int> jlgGameIDlist = (from q in query where q.SportsID == Constants.JLG_SPORT_ID select q.UniqueID).Distinct().ToList(); NpbTopController NpbCtl = new NpbTopController(); MlbTopController MlbCtl = new MlbTopController(); JlgTopController jlgCtl = new JlgTopController(); switch (sports_id) { case Constants.NPB_SPORT_ID: foreach (var game_id in npbGameIDlist) { IEnumerable<GameInfoViewModel> npbs = NpbCtl.GetGameInfo(null, null, null, null, game_id, null); if (npbs != null) { GameInfoViewModel npbGameInfo = npbs.FirstOrDefault(); if (npbGameInfo != null) { if (npbGameInfo.GameDate == today) { npbGameInfos.Add(npbGameInfo); } } } } if (npbGameInfos != null) { foreach (var s in npbGameInfos) { MyPageGroupDetailsViewModel.MyPageGameInfoViewModel g = new MyPageGroupDetailsViewModel.MyPageGameInfoViewModel(); g.SportsID = Constants.NPB_SPORT_ID; g.GameTypeName = s.GameTypeName; g.statusMatch = NpbCommon.GetStatusMatch(s.GameID, memberId.ToString()); g.SortKey = g.SportsID.ToString() + s.GameTypeName + s.GameID.ToString(); g.npbGameInfo = s; ListGames.Add(g); } } break; case Constants.MLB_SPORT_ID: foreach (var game_id in mlbGameIDlist) { IEnumerable<GameInfoViewModel> mlbs = MlbCtl.GetGameInfo(null, null, null, null, game_id, null); if (mlbs != null) { GameInfoViewModel mlbGameInfo = mlbs.FirstOrDefault(); if (mlbGameInfo != null) { if (mlbGameInfo.GameDate == today) { mlbGameInfos.Add(mlbGameInfo); } } } } if (mlbGameInfos != null) { foreach (var s in mlbGameInfos) { MyPageGroupDetailsViewModel.MyPageGameInfoViewModel g = new MyPageGroupDetailsViewModel.MyPageGameInfoViewModel(); g.SportsID = Constants.MLB_SPORT_ID; g.GameTypeName = s.GameTypeName; g.statusMatch = MlbCommon.GetStatusMatch(s.GameID, memberId.ToString()); g.SortKey = g.SportsID.ToString() + s.GameTypeName + s.GameID.ToString(); g.mlbGameInfo = s; ListGames.Add(g); } } break; case Constants.JLG_SPORT_ID: foreach (var game_id in jlgGameIDlist) { IEnumerable<JlgGameInfos> jlgs = jlgCtl.GetGameInfo(null, null, null, game_id, null, null, null); if (jlgs != null) { JlgGameInfos jlgGameInfo = jlgs.FirstOrDefault(); if (jlgGameInfo != null) { if (jlgGameInfo.GameDate == today) { jlgGameInfos.Add(jlgGameInfo); } } } } if (jlgGameInfos != null) { foreach (var s in jlgGameInfos) { MyPageGroupDetailsViewModel.MyPageGameInfoViewModel g = new MyPageGroupDetailsViewModel.MyPageGameInfoViewModel(); g.SportsID = Constants.JLG_SPORT_ID; g.GameTypeName = s.GameKindName; g.statusMatch = JlgCommon.GetStatusMatch(s.GameID, memberId.ToString()); g.SortKey = g.SportsID.ToString() + s.GameKindName + s.GameID.ToString(); g.jlgGameInfo = s; ListGames.Add(g); } } break; } } var result = ListGames.OrderBy(s => s.SortKey).ToList(); ScoreGameInfo lstScoreHome; ScoreGameInfo lstScoreVisitor; foreach (var r in result) { switch (r.SportsID) { case Constants.NPB_SPORT_ID: lstScoreHome = NpbCommon.GetTeamInfoGTSByGameIDTeamID(r.npbGameInfo.GameID, r.npbGameInfo.HomeTeamID); lstScoreVisitor = NpbCommon.GetTeamInfoGTSByGameIDTeamID(r.npbGameInfo.GameID, r.npbGameInfo.VisitorTeamID); r.npbGameInfo.BottomTop = Utils.GetRoundName(lstScoreHome.TB); r.npbGameInfo.Round = Convert.ToInt32(lstScoreHome.Inning); r.npbGameInfo.HomeTeamR = lstScoreHome.R; r.npbGameInfo.VisitorTeamR = lstScoreVisitor.R; r.gOdds = NpbCommon.GetOddsInfoByGameID(r.npbGameInfo.GameID); break; case Constants.MLB_SPORT_ID: lstScoreHome = MlbCommon.GetTeamInfoGTSByGameIDTeamIDHome(r.mlbGameInfo.GameID, r.mlbGameInfo.HomeTeamID); lstScoreVisitor = MlbCommon.GetTeamInfoGTSByGameIDTeamIDVisitor(r.mlbGameInfo.GameID, r.mlbGameInfo.VisitorTeamID); r.mlbGameInfo.BottomTop = Utils.GetRoundName(lstScoreHome.TB); r.mlbGameInfo.Round = Convert.ToInt32(lstScoreHome.Inning); r.mlbGameInfo.HomeTeamR = lstScoreHome.R; r.mlbGameInfo.VisitorTeamR = lstScoreVisitor.R; r.gOdds = MlbCommon.GetOddsInfoByGameID(r.mlbGameInfo.GameID); break; case Constants.JLG_SPORT_ID: lstScoreHome = JlgCommon.GetTeamInfoGTSByGameIDTeamID(r.jlgGameInfo.GameID, Convert.ToInt32(r.jlgGameInfo.HomeTeamID)); lstScoreVisitor = JlgCommon.GetTeamInfoGTSByGameIDTeamID(r.jlgGameInfo.GameID, r.jlgGameInfo.AwayTeamID); r.jlgGameInfo.Round = Convert.ToInt32(lstScoreHome.Inning); r.jlgGameInfo.HomeTeamR = Convert.ToInt32(lstScoreHome.R); r.jlgGameInfo.AwayTeamR = Convert.ToInt32(lstScoreVisitor.R); r.gOdds = JlgCommon.GetOddsInfoByGameID(r.jlgGameInfo.GameID); break; default: break; } } return result; }