public async System.Threading.Tasks.Task <JsonResult> LivePayData(int id)
        {
            ControllerContext.HttpContext.Response.Headers.Add("Access-Control-Allow-Origin", "*");
            GamePosts gamepost = new GamePostsRepository().get(id);
            gameDto   game     = null;

            game = await new GamesRepository().GetGamePayDetail(gamepost.GameSn);

            List <VedioRecord> vrlist = new List <VedioRecord>();

            vrlist = new VedioRecordRepository().getAll();


            GamePostViewModel gpvm = new GamePostViewModel(id, encryptedKey, game);

            gpvm.gamepost = gamepost;
            List <Teams> teamlist = new TeamsRepository().getAll();

            gpvm.TeamA = teamlist.Where(p => p.sn == gamepost.TeamASn).FirstOrDefault();
            gpvm.TeamB = teamlist.Where(p => p.sn == gamepost.TeamBSn).FirstOrDefault();
            if (gpvm.gamepost.PlayGameSn.HasValue)
            {
                gpvm.PlayGame = new cfgPlayGameRepository().get(gpvm.gamepost.PlayGameSn.Value);
            }
            gpvm.vedio = vrlist.Where(p => p.sn == gpvm.gamepost.VedioRecordSn).FirstOrDefault();


            //VedioRecord movieclass_twitch_string = new VedioRecordRepository().getnew(gp.VedioRecordSn);
            //var movieclass_twitch = gpvm.vedio.vediourl.Substring(0, 21);
            //string movieclass_youtube = gpvm.vedio.vediourl.Substring(0, 23);
            if (gpvm.vedio == null)
            {
                gpvm.vedio_url = "";
            }
            else
            {
                string movieclass_twitch  = "";
                string movieclass_youtube = "";
                string movieclass_huya    = "";
                if (gpvm.vedio.vediourl.Length >= 22)
                {
                    movieclass_twitch = gpvm.vedio.vediourl.Substring(0, 22);
                }
                if (gpvm.vedio.vediourl.Length >= 24)
                {
                    movieclass_youtube = gpvm.vedio.vediourl.Substring(0, 24);
                }
                if (gpvm.vedio.vediourl.Length >= 21)
                {
                    movieclass_huya = gpvm.vedio.vediourl.Substring(0, 21);
                }

                if (movieclass_twitch == "https://www.twitch.tv/")
                {
                    gpvm.vedio_url = Regex.Replace(gpvm.vedio.vediourl, movieclass_twitch, String.Empty);
                    gpvm.vedio_url = "https://player.twitch.tv/?channel=" + gpvm.vedio_url;
                }
                else if (movieclass_youtube == "https://www.youtube.com/")
                {
                    int    vediolength   = gpvm.vedio.vediourl.Length - 32;
                    string regex_youtube = gpvm.vedio.vediourl.Substring(32, vediolength);
                    //regex_youtube = Regex.Replace(gpvm.vedio.vediourl, regex_youtube, String.Empty);
                    gpvm.vedio_url = "https://www.youtube.com/embed/" + regex_youtube;
                }
                else if (movieclass_huya == "https://www.huya.com/")
                {
                    gpvm.vedio_url = Regex.Replace(gpvm.vedio.vediourl, movieclass_huya, String.Empty);
                    gpvm.vedio_url = "http://liveshare.huya.com/iframe/" + gpvm.vedio_url;
                }
                else if (gpvm.vedio.cfgVedioSn == 5)
                {
                    gpvm.vedio_url = gpvm.vedio_url;
                }
                else
                {
                    gpvm.vedio_url = "";
                }
            }

            gpvm.recommend    = new UserRepository().getRecommendValid(gpvm.game.userId);
            gpvm.recommendstr = new UserRepository().getRecommendStartV((int)gpvm.recommend.ReId);

            return(Json(gpvm, JsonRequestBehavior.AllowGet));
        }
        public async System.Threading.Tasks.Task <ActionResult> Index()
        {
            GamePostsRepository _gpr = new GamePostsRepository();

            List <GamePosts> gpList = _gpr.getLiveValidAll();

            List <gameDto>     gameList = await new GamesRepository().GetMainGameList();
            List <VedioRecord> vrlist   = new List <VedioRecord>();

            vrlist = new VedioRecordRepository().getAll();
            List <Teams> teamlist = new TeamsRepository().getAll();


            List <GamePostViewModel> gpvmList = new List <GamePostViewModel>();

            gpList = gpList.OrderByDescending(p => p.inpdate).ToList();

            DateTime dt = DateTime.Now.AddHours(-2);

            foreach (var gp in gpList)
            {
                GamePostViewModel gpvm = new GamePostViewModel();
                gpvm.gamepost = gp;
                gpvm.game     = gameList.Where(p => p.sn == gp.GameSn).FirstOrDefault();
                if (gpvm.game == null)
                {
                    continue;
                }
                if ((gp.sdate <= DateTime.Now && gp.edate >= dt) || gpvm.game.betModel == 7)
                {
                    var user = await UserManager.FindByIdAsync(gpvm.gamepost.UserLive);

                    if (user != null)
                    {
                        gpvm.gamepost.UserLive = user.UserName;
                    }
                    gpvm.vedio      = vrlist.Where(p => p.sn == gp.VedioRecordSn).FirstOrDefault();
                    gpvm.shorttitle = gpvm.game.title;

                    if (gpvm.vedio == null)
                    {
                        gpvm.vedio_url = "";
                    }
                    else
                    {
                        string movieclass_twitch  = "";
                        string movieclass_youtube = "";
                        string movieclass_huya    = "";
                        string movieclass_be      = "";
                        if (gpvm.vedio.vediourl.Length >= 22)
                        {
                            movieclass_twitch = gpvm.vedio.vediourl.Substring(0, 22);
                        }
                        if (gpvm.vedio.vediourl.Length >= 24)
                        {
                            movieclass_youtube = gpvm.vedio.vediourl.Substring(0, 24);
                        }
                        if (gpvm.vedio.vediourl.Length >= 21)
                        {
                            movieclass_huya = gpvm.vedio.vediourl.Substring(0, 21);
                        }
                        if (gpvm.vedio.vediourl.Length >= 17)
                        {
                            movieclass_be = gpvm.vedio.vediourl.Substring(0, 17);
                        }



                        if (movieclass_twitch == "https://www.twitch.tv/")
                        {
                            gpvm.vedio_url = Regex.Replace(gpvm.vedio.vediourl, movieclass_twitch, String.Empty);
                            gpvm.vedio_url = "https://player.twitch.tv/?channel=" + gpvm.vedio_url;
                        }
                        else if (movieclass_youtube == "https://www.youtube.com/")
                        {
                            int    vediolength   = gpvm.vedio.vediourl.Length - 32;
                            string regex_youtube = gpvm.vedio.vediourl.Substring(32, vediolength);
                            //regex_youtube = Regex.Replace(gpvm.vedio.vediourl, regex_youtube, String.Empty);
                            gpvm.vedio_url = "https://www.youtube.com/embed/" + regex_youtube;
                        }
                        else if (movieclass_huya == "https://www.huya.com/")
                        {
                            gpvm.vedio_url = Regex.Replace(gpvm.vedio.vediourl, movieclass_huya, String.Empty);
                            gpvm.vedio_url = "http://liveshare.huya.com/iframe/" + gpvm.vedio_url;
                        }
                        else if (movieclass_huya == "https://youtu.be/")
                        {
                            gpvm.vedio_url = Regex.Replace(gpvm.vedio.vediourl, movieclass_huya, String.Empty);
                            gpvm.vedio_url = "https://www.youtube.com/embed/" + movieclass_be;
                        }
                        else
                        {
                            gpvm.vedio_url = "";
                        }
                    }



                    if (gpvm.game.title.Length > 23)
                    {
                        gpvm.shorttitle = gpvm.game.title.Substring(0, 23);
                        gpvm.shorttitle = gpvm.shorttitle + "...";
                    }


                    gpvm.TeamA      = teamlist.Where(p => p.sn == gp.TeamASn).FirstOrDefault();
                    gpvm.TeamB      = teamlist.Where(p => p.sn == gp.TeamBSn).FirstOrDefault();
                    gpvm.gamesearch = gpvm.game.title + gpvm.game.comment + gpvm.gamepost.UserLive + gpvm.PlayGame.shortName;
                    gpvm.gamesearch = gpvm.gamesearch.ToLower();
                    gpvm.endguess   = 1;



                    if (gpvm.game.edate <= DateTime.Now)
                    {
                        gpvm.endguess = 0;
                    }
                    else if (gpvm.game.edate <= DateTime.Now.AddMinutes(30))
                    {
                        gpvm.endguess = 2;
                    }
                    if (gp.PlayGameSn.HasValue)
                    {
                        gpvm.PlayGame = new cfgPlayGameRepository().get(gp.PlayGameSn.Value);
                    }



                    if (gpvm.game.topicList.Where(x => x.valid == 1).Count() > 0)
                    {
                        gpvmList.Add(gpvm);
                    }
                }
            }



            var playgamelist = new cfgPlayGameRepository().getAll();

            ViewData["playlist"] = playgamelist;


            var gpvmListDy = gpvmList.OrderByDescending(x => x.game.betModel == 5).ThenBy(x => x.game.gamedate);


            ViewData["UserID"] = User.Identity.GetUserId();
            return(View(gpvmListDy));
        }