private void ajaxZHBetting()
        {
            if (this.AdminId == "")
            {
                this._response = this.JsonResult(0, "投注失败,请重新登录后再进行投注!");
            }
            else
            {
                HttpContext.Current.Response.ContentType = "application/json";
                List <ajaxBetting.RequestDataJSONZH> requestDataJsonzhList = ajaxBetting.JSONToObject <List <ajaxBetting.RequestDataJSONZH> >("[" + new StreamReader(HttpContext.Current.Request.InputStream).ReadToEnd() + "]");
                ajaxBetting.RequestDataJSONZH        requestDataJsonzh1    = new ajaxBetting.RequestDataJSONZH();
                int     int32_1 = Convert.ToInt32(this.AdminId);
                int     int32_2 = Convert.ToInt32(requestDataJsonzhList[0].lotteryId);
                int     int32_3 = Convert.ToInt32(requestDataJsonzhList[0].IsStop);
                int     int32_4 = Convert.ToInt32(requestDataJsonzhList[0].ZHNums);
                Decimal num     = Convert.ToDecimal(requestDataJsonzhList[0].ZHSums);

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

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

                try
                {
                    string[] issueTimeAndSn = betDal.GetIssueTimeAndSN(int32_2);
                    string   str1           = issueTimeAndSn[0];
                    DateTime dateTime       = Convert.ToDateTime(issueTimeAndSn[1]);
                    DateTime serverTime     = FlexDAL.PublicDAL.GetServerTime();
                    string   str2           = betDal.CheckBet(int32_1, int32_2, Convert.ToDecimal(num), dateTime);
                    if (!string.IsNullOrEmpty(str2))
                    {
                        this._response = this.JsonResult(0, str2);
                    }
                    else
                    {
                        Decimal        money   = new Decimal(0);
                        UserZhBetModel zhmodel = new UserZhBetModel();
                        zhmodel.UserId        = int32_1;
                        zhmodel.LotteryId     = int32_2;
                        zhmodel.PlayId        = 0;
                        zhmodel.StartIssueNum = str1;
                        zhmodel.TotalNums     = int32_4;
                        zhmodel.IsStop        = int32_3;
                        zhmodel.STime         = DateTime.Now;
                        List <UserBetModel>      userBetModelList = new List <UserBetModel>();
                        List <UserZhDetailModel> listZh           = new List <UserZhDetailModel>();
                        for (int index1 = 0; index1 < requestDataJsonzhList.Count; ++index1)
                        {
                            ajaxBetting.RequestDataJSONZH requestDataJsonzh2 = requestDataJsonzhList[index1];
                            this.doh.Reset();
                            this.doh.ConditionExpress = "Id=@Id";
                            DbOperHandler doh            = this.doh;
                            string        _conditionName = "@Id";
                            int           playId1        = requestDataJsonzh2.playId;
                            string        str3           = playId1.ToString();
                            doh.AddConditionParameter(_conditionName, (object)str3);
                            string str4 = string.Concat(this.doh.GetField("Sys_PlaySmallType", "Title2"));
                            if (Convert.ToDecimal(requestDataJsonzh2.price) < new Decimal(0) || Convert.ToDecimal(requestDataJsonzh2.Num) < new Decimal(1) || Convert.ToDecimal(requestDataJsonzh2.times) < new Decimal(1))
                            {
                                this._response = this.JsonResult(0, "投注错误!请重新投注!");
                                return;
                            }
                            Decimal singelBouns = new Decimal(0);
                            int     userId      = int32_1;
                            int     lotteryId   = int32_2;
                            string  balls       = requestDataJsonzh2.balls;
                            playId1 = requestDataJsonzh2.playId;
                            string  playId2 = playId1.ToString();
                            string  strPos  = requestDataJsonzh2.strPos;
                            int     int32_5 = Convert.ToInt32(requestDataJsonzh2.Num);
                            Decimal Point   = Convert.ToDecimal(requestDataJsonzh2.Point);
                            string  str5    = Calculate.BetNumerice(userId, lotteryId, balls, playId2, strPos, int32_5, Point, ref singelBouns);
                            if (!string.IsNullOrEmpty(str5))
                            {
                                this._response = str5;
                                return;
                            }
                            if (singelBouns <= new Decimal(0))
                            {
                                this._response = this.JsonResult(0, "投注失败,返点错误,请重新投注!");
                                return;
                            }
                            UserBetModel userBetModel = new UserBetModel();
                            userBetModel.UserId      = int32_1;
                            userBetModel.UserMoney   = new Decimal(0);
                            userBetModel.LotteryId   = int32_2;
                            userBetModel.PlayId      = Convert.ToInt32(requestDataJsonzh2.playId);
                            userBetModel.PlayCode    = str4;
                            userBetModel.SingleMoney = Convert.ToDecimal(requestDataJsonzh2.price);
                            userBetModel.Num         = Convert.ToInt32(requestDataJsonzh2.Num);
                            userBetModel.Detail      = requestDataJsonzh2.balls;
                            userBetModel.Point       = Convert.ToDecimal(requestDataJsonzh2.Point);
                            userBetModel.Bonus       = singelBouns;
                            userBetModel.Pos         = requestDataJsonzh2.strPos;
                            userBetModel.STime2      = serverTime;
                            userBetModel.IsDelay     = 0;
                            userBetModel.ZHID        = 0;
                            for (int index2 = 0; index2 < requestDataJsonzh2.table2.Count; ++index2)
                            {
                                ajaxBetting.RequestDataJSONZH2 requestDataJsonzH2 = requestDataJsonzh2.table2[index2];
                                if (Convert.ToInt32(requestDataJsonzH2.ZHTimes) > 0 && Convert.ToDecimal(requestDataJsonzH2.ZHIssueNum.Replace("-", "")) >= Convert.ToDecimal(str1.Replace("-", "")))
                                {
                                    UserZhDetailModel userZhDetailModel = new UserZhDetailModel();
                                    userZhDetailModel.IssueNum = requestDataJsonzH2.ZHIssueNum;
                                    userZhDetailModel.Times    = Convert.ToInt32(requestDataJsonzH2.ZHTimes);
                                    userZhDetailModel.STime    = Convert.ToDateTime(requestDataJsonzH2.ZHSTime);
                                    userZhDetailModel.Lists.Add(userBetModel);
                                    money += userBetModel.SingleMoney * (Decimal)userBetModel.Num * (Decimal)userZhDetailModel.Times;
                                    listZh.Add(userZhDetailModel);
                                }
                            }
                        }
                        zhmodel.TotalSums = money;
                        if (listZh.Count > 0)
                        {
                            if (betDal.InsertZhBet(zhmodel, listZh, money, "手机追号") > 0)
                            {
                                this._response = this.JsonResult(1, "追号成功!请等待开奖!");
                            }
                            else
                            {
                                this._response = this.JsonResult(0, "对不起,投注失败!");
                            }
                        }
                        else
                        {
                            this._response = this.JsonResult(0, "对不起,投注失败!");
                        }
                    }
                }
                catch (Exception ex)
                {
                    this._response = this.JsonResult(0, "对不起,投注失败!");
                }
            }
        }
Exemplo n.º 2
0
 private void ajaxZHBetting()
 {
     if (this.AdminId == "")
     {
         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     = "[" + str + "]";
         List <ajaxBetting.RequestDataJSONZH> list = ajaxBetting.JSONToObject <List <ajaxBetting.RequestDataJSONZH> >(jsonText);
         ajaxBetting.RequestDataJSONZH        requestDataJSONZH = new ajaxBetting.RequestDataJSONZH();
         int     userId    = Convert.ToInt32(this.AdminId);
         int     lotteryId = Convert.ToInt32(list[0].lotteryId);
         int     isStop    = Convert.ToInt32(list[0].IsStop);
         int     totalNums = Convert.ToInt32(list[0].ZHNums);
         decimal num       = Convert.ToDecimal(list[0].ZHSums);
         try
         {
             string[] issueTimeAndSN = new Lottery.DAL.Flex.UserBetDAL().GetIssueTimeAndSN(lotteryId);
             string   text           = issueTimeAndSN[0];
             DateTime sTime          = Convert.ToDateTime(issueTimeAndSN[1]);
             DateTime serverTime     = PublicDAL.GetServerTime();
             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
             {
                 num = 0m;
                 UserZhBetModel userZhBetModel = new UserZhBetModel();
                 userZhBetModel.UserId        = userId;
                 userZhBetModel.LotteryId     = lotteryId;
                 userZhBetModel.PlayId        = 0;
                 userZhBetModel.StartIssueNum = text;
                 userZhBetModel.TotalNums     = totalNums;
                 userZhBetModel.IsStop        = isStop;
                 userZhBetModel.STime         = DateTime.Now;
                 List <UserBetModel>      list2 = new List <UserBetModel>();
                 List <UserZhDetailModel> list3 = new List <UserZhDetailModel>();
                 for (int i = 0; i < list.Count; i++)
                 {
                     requestDataJSONZH = list[i];
                     this.doh.Reset();
                     this.doh.ConditionExpress = "Id=@Id";
                     this.doh.AddConditionParameter("@Id", requestDataJSONZH.playId.ToString());
                     string playCode = string.Concat(this.doh.GetField("Sys_PlaySmallType", "Title2"));
                     if (Convert.ToDecimal(requestDataJSONZH.price) < 0m || Convert.ToDecimal(requestDataJSONZH.Num) < 1m || Convert.ToDecimal(requestDataJSONZH.times) < 1m)
                     {
                         this._response = base.JsonResult(0, "投注错误!请重新投注!");
                         return;
                     }
                     decimal num2  = 0m;
                     string  text3 = Calculate.BetNumerice(userId, lotteryId, requestDataJSONZH.balls, requestDataJSONZH.playId.ToString(), requestDataJSONZH.strPos, Convert.ToInt32(requestDataJSONZH.Num), Convert.ToDecimal(requestDataJSONZH.Point), ref num2);
                     if (!string.IsNullOrEmpty(text3))
                     {
                         this._response = text3;
                         return;
                     }
                     if (num2 <= 0m)
                     {
                         this._response = base.JsonResult(0, "投注失败,返点错误,请重新投注!");
                         return;
                     }
                     UserBetModel userBetModel = new UserBetModel();
                     userBetModel.UserId      = userId;
                     userBetModel.UserMoney   = 0m;
                     userBetModel.LotteryId   = lotteryId;
                     userBetModel.PlayId      = Convert.ToInt32(requestDataJSONZH.playId);
                     userBetModel.PlayCode    = playCode;
                     userBetModel.SingleMoney = Convert.ToDecimal(requestDataJSONZH.price);
                     userBetModel.Num         = Convert.ToInt32(requestDataJSONZH.Num);
                     userBetModel.Detail      = requestDataJSONZH.balls;
                     userBetModel.Point       = Convert.ToDecimal(requestDataJSONZH.Point);
                     userBetModel.Bonus       = num2;
                     userBetModel.Pos         = requestDataJSONZH.strPos;
                     userBetModel.STime2      = serverTime;
                     userBetModel.IsDelay     = 0;
                     userBetModel.ZHID        = 0;
                     for (int j = 0; j < requestDataJSONZH.table2.Count; j++)
                     {
                         ajaxBetting.RequestDataJSONZH2 requestDataJSONZH2 = requestDataJSONZH.table2[j];
                         if (Convert.ToInt32(requestDataJSONZH2.ZHTimes) > 0 && Convert.ToDecimal(requestDataJSONZH2.ZHIssueNum.Replace("-", "")) >= Convert.ToDecimal(text.Replace("-", "")))
                         {
                             UserZhDetailModel userZhDetailModel = new UserZhDetailModel();
                             userZhDetailModel.IssueNum = requestDataJSONZH2.ZHIssueNum;
                             userZhDetailModel.Times    = Convert.ToInt32(requestDataJSONZH2.ZHTimes);
                             userZhDetailModel.STime    = Convert.ToDateTime(requestDataJSONZH2.ZHSTime);
                             userZhDetailModel.Lists.Add(userBetModel);
                             num += userBetModel.SingleMoney * userBetModel.Num * userZhDetailModel.Times;
                             list3.Add(userZhDetailModel);
                         }
                     }
                 }
                 userZhBetModel.TotalSums = num;
                 if (list3.Count > 0)
                 {
                     int num3 = new Lottery.DAL.Flex.UserBetDAL().InsertZhBet(userZhBetModel, list3, num, "手机追号");
                     if (num3 > 0)
                     {
                         this._response = base.JsonResult(1, "追号成功!请等待开奖!");
                     }
                     else
                     {
                         this._response = base.JsonResult(0, "对不起,投注失败!");
                     }
                 }
                 else
                 {
                     this._response = base.JsonResult(0, "对不起,投注失败!");
                 }
             }
         }
         catch
         {
             this._response = base.JsonResult(0, "对不起,投注失败!");
         }
     }
 }