示例#1
0
        public JsonResult GetNextData(string lotteryType)
        {
            try
            {
                LotteryResult lotteryResult = GetLastLotteryResultByType(lotteryType);
                if (lotteryResult == null)
                {
                    return(Json(null));
                }
                int           countDown = (int)(lotteryResult.NextOpenTime.Value - DateTime.Now).TotalSeconds;
                LotteryResult retRes    = new LotteryResult();
                if (countDown <= 0 && (lotteryType == "重庆时时彩" || lotteryType == "广东快乐十分" || lotteryType == "广东11选5"))
                {//为保证用户可以继续下注,到开奖时间后先虚拟下一期出来
                    string   VirNextExpect   = "";
                    DateTime VirNextOpenTime = DateTime.Now;
                    switch (lotteryType)
                    {
                    case "重庆时时彩":
                        VirNextExpect   = resP.cqsscNextExpect(lotteryResult.NextExpect);
                        VirNextOpenTime = resP.cqsscNextOpenTime(lotteryResult.NextOpenTime.Value);
                        break;

                    case "广东快乐十分":
                        VirNextExpect   = resP.gdklsfNextExpect(lotteryResult.NextExpect);
                        VirNextOpenTime = resP.gdklsfNextOpenTime(lotteryResult.NextOpenTime.Value);
                        break;

                    case "广东11选5":
                        VirNextExpect   = resP.gd11x5NextExpect(lotteryResult.NextExpect);
                        VirNextOpenTime = resP.gd11x5NextOpenTime(lotteryResult.NextOpenTime.Value);
                        break;

                    default:
                        break;
                    }
                    LotteryResult VirExcept = VirExcepts.Where(s => s.Expect.Equals(lotteryResult.NextExpect) && s.LotteryType.Equals(lotteryType)).FirstOrDefault();
                    if (VirExcept == null)
                    {
                        VirExcept              = new LotteryResult();
                        VirExcept.LotteryType  = lotteryType;
                        VirExcept.Expect       = lotteryResult.NextExpect;
                        VirExcept.NextExpect   = VirNextExpect;
                        VirExcept.NextOpenTime = VirNextOpenTime;
                        VirExcepts.Add(VirExcept);
                    }
                    retRes = VirExcept;
                    VirExcepts.RemoveAll(s => s.Expect != lotteryResult.NextExpect && s.LotteryType.Equals(lotteryType));
                }
                else
                {
                    retRes = lotteryResult;
                }
                if (retRes.LotteryType.Equals("六合彩"))
                {
                    retRes.Opencode = resP.ConvertlhcNoBose(retRes.Opencode);
                }
                var retVal = new
                {
                    Expect      = retRes.Expect,
                    LotteryType = retRes.LotteryType,
                    OpenCode    = !string.IsNullOrEmpty(retRes.Opencode) ? retRes.Opencode.Replace(',', ' '):"",
                    NextExpect  = retRes.NextExpect,
                    Rema        = (int)(retRes.NextOpenTime.Value - DateTime.Now).TotalSeconds
                };
                return(Json(retVal, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                throw new ApplicationException("获取开奖倒计时的时间出错,原因:" + ex.Message);
            }
        }