/// <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;
        }