private void ajaxBetting2()
        {
            if (this.AdminId == "")
            {
                this._response = this.JsonResult(0, "投注失败,请重新登录后再进行投注!");
            }
            else if (this.site.BetIsOpen == 1)
            {
                this._response = this.JsonResult(0, "系统正在维护,不能投注!");
            }
            else
            {
                HttpContext.Current.Response.ContentType = "application/json";
                List <ajaxBetting.RequestDataJSON> requestDataJsonList = ajaxBetting.JSONToObject <List <ajaxBetting.RequestDataJSON> >(HttpUtility.UrlDecode(new StreamReader(HttpContext.Current.Request.InputStream).ReadToEnd()));
                ajaxBetting.RequestDataJSON        requestDataJson1    = new ajaxBetting.RequestDataJSON();
                int lotteryId1 = requestDataJsonList[0].lotteryId;   //投注信息
                int int32_1    = Convert.ToInt32(this.AdminId);      //会员Id

                LotteryDAL         lotDal  = new LotteryDAL();
                FlexDAL.UserBetDAL betDal  = new FlexDAL.UserBetDAL();
                SysLotteryModel    lottery = lotDal.GetSysLotteryById(lotteryId1);

                if (betDal.CheckBetTime(lotteryId1) == false)
                {
                    this._response = this.JsonResult(0, string.Format("凌晨1点55分到上午10点, [{0}]暂停开奖", lottery.Title));
                    return;
                }


                Decimal num1 = new Decimal(0);
                try
                {
                    //获取当前一期时间和期号
                    string[] issueTimeAndSn = betDal.GetIssueTimeAndSN(lotteryId1);
                    string   str1           = issueTimeAndSn[0];                     //期号
                    DateTime dateTime       = Convert.ToDateTime(issueTimeAndSn[1]); //开奖时间
                    DateTime serverTime     = FlexDAL.PublicDAL.GetServerTime();     //系统时间
                    for (int index = 0; index < requestDataJsonList.Count; ++index)
                    {
                        ajaxBetting.RequestDataJSON requestDataJson2 = requestDataJsonList[index];
                        num1 += requestDataJson2.price * (Decimal)requestDataJson2.Num * requestDataJson2.times;
                    }
                    string str2 = betDal.CheckBet(int32_1, lotteryId1, Convert.ToDecimal(num1), dateTime);
                    if (!string.IsNullOrEmpty(str2))
                    {
                        this._response = this.JsonResult(0, str2);
                    }
                    else
                    {
                        int num2 = 0;
                        for (int index = 0; index < requestDataJsonList.Count; ++index)
                        {
                            ajaxBetting.RequestDataJSON requestDataJson2 = requestDataJsonList[index];
                            this.doh.Reset();
                            this.doh.ConditionExpress = "Id=@Id";
                            DbOperHandler doh            = this.doh;
                            string        _conditionName = "@Id";
                            int           playId1        = requestDataJson2.playId;
                            string        str3           = playId1.ToString();
                            doh.AddConditionParameter(_conditionName, (object)str3);
                            string  str4        = string.Concat(this.doh.GetField("Sys_PlaySmallType", "Title2"));
                            Decimal singelBouns = new Decimal(0);
                            if (lotteryId1 != 5001)
                            {
                                if (Convert.ToDecimal(requestDataJson2.price) < new Decimal(0) || Convert.ToDecimal(requestDataJson2.Num) < new Decimal(1) || Convert.ToDecimal(requestDataJson2.times) < new Decimal(1))
                                {
                                    this._response = this.JsonResult(0, "投注错误!请重新投注!");
                                    return;
                                }
                                int    userId     = int32_1;
                                int    lotteryId2 = lotteryId1;
                                string balls      = requestDataJson2.balls;
                                playId1 = requestDataJson2.playId;
                                string  playId2 = playId1.ToString();
                                string  strPos  = requestDataJson2.strPos;
                                int     int32_2 = Convert.ToInt32(requestDataJson2.Num);
                                Decimal Point   = Convert.ToDecimal(requestDataJson2.Point);
                                string  str5    = Calculate.BetNumerice(userId, lotteryId2, balls, playId2, strPos, int32_2, Point, ref singelBouns);
                                if (!string.IsNullOrEmpty(str5))
                                {
                                    this._response = str5.Replace("[", "").Replace("]", "");
                                    return;
                                }
                                if (singelBouns <= new Decimal(0))
                                {
                                    this._response = this.JsonResult(0, "投注失败,返点错误,请重新投注!");
                                    return;
                                }
                            }
                            UserBetModel model = new UserBetModel();
                            model.UserId      = int32_1;
                            model.UserMoney   = new Decimal(0);
                            model.LotteryId   = lotteryId1;
                            model.PlayId      = Convert.ToInt32(requestDataJson2.playId);
                            model.PlayCode    = str4;
                            model.IssueNum    = str1;
                            model.SingleMoney = Convert.ToDecimal(requestDataJson2.price);
                            model.Num         = Convert.ToInt32(requestDataJson2.Num);
                            model.Detail      = requestDataJson2.balls;
                            model.Point       = Convert.ToDecimal(requestDataJson2.Point);
                            model.Bonus       = singelBouns;
                            model.Pos         = requestDataJson2.strPos;
                            model.STime       = dateTime;
                            model.STime2      = serverTime;
                            model.IsDelay     = 0;
                            model.Times       = Convert.ToDecimal(requestDataJson2.times);
                            model.ZHID        = 0;
                            num2 = !model.Pos.Equals("") ?
                                   betDal.InsertBetPos(model, "手机端") :
                                   (!model.PlayCode.Equals("P_5ZH") && !model.PlayCode.Equals("P_4ZH_L") && (!model.PlayCode.Equals("P_4ZH_R") && !model.PlayCode.Equals("P_3ZH_L")) && !model.PlayCode.Equals("P_3ZH_C") && !model.PlayCode.Equals("P_3ZH_R") ?
                                    betDal.InsertBet(model, "手机端") :
                                    betDal.InsertBetZH(model, "手机端"));
                        }
                        if (num2 > 0)
                        {
                            this._response = this.JsonResult(1, "第" + str1 + "期投注成功,请期待开奖!");
                        }
                        else
                        {
                            this._response = this.JsonResult(0, "对不起,投注失败!");
                        }

                        //this._response = this.JsonResult(1, "第" + str1 + "期投注成功,请期待开奖!");
                    }
                }
                catch (Exception ex)
                {
                    this._response = this.JsonResult(0, "对不起,投注失败!");
                }
            }
        }
Beispiel #2
0
 private void ajaxBetting2()
 {
     if (this.AdminId == "")
     {
         this._response = base.JsonResult(0, "投注失败,请重新登录后再进行投注!");
     }
     else if (this.site.BetIsOpen == 1)
     {
         this._response = base.JsonResult(0, "系统正在维护,不能投注!");
     }
     else
     {
         HttpContext.Current.Response.ContentType = "application/json";
         HttpRequest  request      = HttpContext.Current.Request;
         StreamReader streamReader = new StreamReader(request.InputStream);
         string       str          = streamReader.ReadToEnd();
         string       jsonText     = HttpUtility.UrlDecode(str);
         List <ajaxBetting.RequestDataJSON> list            = ajaxBetting.JSONToObject <List <ajaxBetting.RequestDataJSON> >(jsonText);
         ajaxBetting.RequestDataJSON        requestDataJSON = new ajaxBetting.RequestDataJSON();
         int     lotteryId = list[0].lotteryId;
         int     userId    = Convert.ToInt32(this.AdminId);
         decimal num       = 0m;
         try
         {
             string[] issueTimeAndSN = new Lottery.DAL.Flex.UserBetDAL().GetIssueTimeAndSN(lotteryId);
             string   text           = issueTimeAndSN[0];
             DateTime sTime          = Convert.ToDateTime(issueTimeAndSN[1]);
             DateTime serverTime     = PublicDAL.GetServerTime();
             for (int i = 0; i < list.Count; i++)
             {
                 requestDataJSON = list[i];
                 num            += requestDataJSON.price * requestDataJSON.Num * requestDataJSON.times;
             }
             string text2 = new Lottery.DAL.Flex.UserBetDAL().CheckBet(userId, lotteryId, Convert.ToDecimal(num), sTime);
             if (!string.IsNullOrEmpty(text2))
             {
                 this._response = base.JsonResult(0, text2);
             }
             else
             {
                 int num2 = 0;
                 for (int i = 0; i < list.Count; i++)
                 {
                     requestDataJSON = list[i];
                     this.doh.Reset();
                     this.doh.ConditionExpress = "Id=@Id";
                     this.doh.AddConditionParameter("@Id", requestDataJSON.playId.ToString());
                     string  playCode = string.Concat(this.doh.GetField("Sys_PlaySmallType", "Title2"));
                     decimal num3     = 0m;
                     if (lotteryId != 5001)
                     {
                         if (Convert.ToDecimal(requestDataJSON.price) < 0m || Convert.ToDecimal(requestDataJSON.Num) < 1m || Convert.ToDecimal(requestDataJSON.times) < 1m)
                         {
                             this._response = base.JsonResult(0, "投注错误!请重新投注!");
                             return;
                         }
                         string text3 = Calculate.BetNumerice(userId, lotteryId, requestDataJSON.balls, requestDataJSON.playId.ToString(), requestDataJSON.strPos, Convert.ToInt32(requestDataJSON.Num), Convert.ToDecimal(requestDataJSON.Point), ref num3);
                         if (!string.IsNullOrEmpty(text3))
                         {
                             this._response = text3.Replace("[", "").Replace("]", "");
                             return;
                         }
                         if (num3 <= 0m)
                         {
                             this._response = base.JsonResult(0, "投注失败,返点错误,请重新投注!");
                             return;
                         }
                     }
                     UserBetModel userBetModel = new UserBetModel();
                     userBetModel.UserId      = userId;
                     userBetModel.UserMoney   = 0m;
                     userBetModel.LotteryId   = lotteryId;
                     userBetModel.PlayId      = Convert.ToInt32(requestDataJSON.playId);
                     userBetModel.PlayCode    = playCode;
                     userBetModel.IssueNum    = text;
                     userBetModel.SingleMoney = Convert.ToDecimal(requestDataJSON.price);
                     userBetModel.Num         = Convert.ToInt32(requestDataJSON.Num);
                     userBetModel.Detail      = requestDataJSON.balls;
                     userBetModel.Point       = Convert.ToDecimal(requestDataJSON.Point);
                     userBetModel.Bonus       = num3;
                     userBetModel.Pos         = requestDataJSON.strPos;
                     userBetModel.STime       = sTime;
                     userBetModel.STime2      = serverTime;
                     userBetModel.IsDelay     = 0;
                     userBetModel.Times       = Convert.ToDecimal(requestDataJSON.times);
                     userBetModel.ZHID        = 0;
                     if (userBetModel.Pos.Equals(""))
                     {
                         if (userBetModel.PlayCode.Equals("P_5ZH") || userBetModel.PlayCode.Equals("P_4ZH_L") || userBetModel.PlayCode.Equals("P_4ZH_R") || userBetModel.PlayCode.Equals("P_3ZH_L") || userBetModel.PlayCode.Equals("P_3ZH_C") || userBetModel.PlayCode.Equals("P_3ZH_R"))
                         {
                             num2 = new Lottery.DAL.Flex.UserBetDAL().InsertBetZH(userBetModel, "手机端");
                         }
                         else
                         {
                             num2 = new Lottery.DAL.Flex.UserBetDAL().InsertBet(userBetModel, "手机端");
                         }
                     }
                     else
                     {
                         num2 = new Lottery.DAL.Flex.UserBetDAL().InsertBetPos(userBetModel, "手机端");
                     }
                 }
                 if (num2 > 0)
                 {
                     this._response = base.JsonResult(1, "第" + text + "期投注成功,请期待开奖!");
                 }
                 else
                 {
                     this._response = base.JsonResult(0, "对不起,投注失败!");
                 }
             }
         }
         catch
         {
             this._response = base.JsonResult(0, "对不起,投注失败!");
         }
     }
 }