Example #1
0
        public int PlaceMatchBet(UserBetModel userbet)
        {
            oCon.Open();

            oMySQLData.MySqlCommand cmd = new oMySQLData.MySqlCommand("sp_addmatchbet", oCon);
            cmd.CommandType = System.Data.CommandType.StoredProcedure;

            oMySQLData.MySqlParameter matchID        = new oMySQLData.MySqlParameter("matchID", userbet.MatchID);
            oMySQLData.MySqlParameter bettorID       = new oMySQLData.MySqlParameter("bettorID", userbet.BettorID);
            oMySQLData.MySqlParameter betTeamID      = new oMySQLData.MySqlParameter("betTeamID", userbet.TeamID);
            oMySQLData.MySqlParameter tournamentID   = new oMySQLData.MySqlParameter("tournamentID", userbet.TournamentID);
            oMySQLData.MySqlParameter placeBetPoints = new oMySQLData.MySqlParameter("placeBetPoints", userbet.PlaceBet);

            cmd.Parameters.Add(matchID);
            cmd.Parameters.Add(bettorID);
            cmd.Parameters.Add(betTeamID);
            cmd.Parameters.Add(tournamentID);
            cmd.Parameters.Add(placeBetPoints);

            int result = 0;

            result = cmd.ExecuteNonQuery();
            oCon.Close();

            return(result);
        }
Example #2
0
        List <UserBetModel> GetUserBetList(int userID, int tournamentID)
        {
            oCon.Open();

            string fetchQuery = "SELECT * FROM view_userbetdetails WHERE fldBettorID = " + userID + " AND fldTournamentID = " + tournamentID;

            List <UserBetModel> bets = new List <UserBetModel>();

            oMySQLData.MySqlCommand cmd = new oMySQLData.MySqlCommand(fetchQuery, oCon);
            cmd.ExecuteNonQuery();

            oMySQLData.MySqlDataReader reader = cmd.ExecuteReader();

            while (reader.Read())
            {
                UserBetModel bet = new UserBetModel();
                bet.BettorID     = Convert.ToInt32(reader["fldBettorID"]);
                bet.TournamentID = Convert.ToInt32(reader["fldTournamentID"]);
                bet.MatchID      = Convert.ToInt32(reader["fldMatchID"]);
                bet.TeamID       = Convert.ToInt32(reader["fldTeamBetID"]);
                bet.PlaceBet     = Convert.ToInt32(reader["fldPlaceBetPoints"]);

                bets.Add(bet);
            }

            oCon.Close();
            return(bets);
        }
Example #3
0
        public ActionResult Bid(UserBetModel currentBet)
        {
            if (ModelState.IsValid == false)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            string userId = User.Identity.GetUserId();

            ApplicationUser currentUser = this.db.Users.All().FirstOrDefault(user => user.Id == userId);

            Auction currentAuction = this.db.Auctions.All().FirstOrDefault(auction => auction.Id == currentBet.AuctionId);

            if (currentAuction == null || currentUser == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "User or auction doesn't exist."));
            }

            if (currentAuction.Type != AuctionType.Auction)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "This isn't an auction"));
            }

            //if (currentAuction.CurrentBuyer == User.Identity.GetUserName())
            //{
            //    return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "You are already current buyer.");
            //}

            if (currentAuction.CurrentPrice >= currentBet.OfferedPrice)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest,
                                                string.Format("You have to offer more than {0}.",
                                                              currentAuction.CurrentPrice.ToString("f2", CultureInfo.InvariantCulture))));
            }

            if (DateTime.Compare(DateTime.Now, currentAuction.DateStarted.AddMinutes(currentAuction.Duration)) > 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Auction already expired."));
            }

            Product currentProduct = db.Products.All().FirstOrDefault(product => product.Id == currentAuction.Product.Id);

            currentAuction.Product      = currentProduct;
            currentAuction.CurrentBuyer = currentUser.UserName;
            currentAuction.CurrentPrice = currentBet.OfferedPrice;
            currentAuction.ParticipatingUsers.Add(currentUser);
            currentUser.CurrentAuctions.Add(currentAuction);

            this.db.Auctions.Update(currentAuction);
            this.db.Users.Update(currentUser);
            this.db.SaveChanges();


            return(PartialView("_Auction", AuctionDetailedViewModel.CreateFromAuction(currentAuction)));
        }
 public Result <UserBetResultModel> Betting(UserBetModel model)
 {
     try
     {
         var result = this.AccountService.Betting(model);
         return(GetSuccessResult(result));
     }
     catch (Exception ex)
     {
         return(GetExceptionResult <UserBetResultModel>(null, ex));
     }
 }
Example #5
0
        public async Task <IActionResult> Create([FromBody] UserBetModel model)
        {
            var loggedUser = LoggedInUser.Current?.Id;

            if (loggedUser.HasValue)
            {
                var user = await _userService.GetAsync(LoggedInUser.Current.Id)
                           .ConfigureAwait(true);

                var betId        = _userBetService.Create(model, user.Id, this.GetRequestCancellationToken()).ConfigureAwait(true);
                Uri getDetailUri = new Uri(Url.AbsoluteAction("Get", "Bet", new { id = betId }));

                return(Created(getDetailUri, new
                {
                    id = betId
                }));
            }
            return(BadRequest());
        }
Example #6
0
        public Task <Guid> Create(UserBetModel model, Guid userId, CancellationToken cancellationToken = default)
        {
            CheckMatchExist(model.MatchId);
            CheckUserExist(userId);
            CheckBet(model.MatchId, userId);
            var match = _matchRepository.Get(x => x.Id == model.MatchId).Single();

            CheckTimeEditBet(match.TimeMatch);
            var betEntity = new UserBetEntity()
            {
                MatchId   = model.MatchId,
                UserId    = userId,
                TeamWinId = model.TeamWinId,
                TimeBet   = SystemHelper.GetNetworkTime()
            };

            _betRepository.Add(betEntity);
            _unitOfWork.SaveChanges();
            return(Task.FromResult(betEntity.Id));
        }
Example #7
0
        /// <summary>
        /// 会员投注
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public UserBetResultModel Betting(UserBetModel model)
        {
            using (var dbContext = new TicketEntities())
            {
                if (string.IsNullOrEmpty(model.MerchantId) && string.IsNullOrEmpty(model.UserName) && string.IsNullOrEmpty(model.SignKey))
                {
                    throw new InvalidOperationException("无效的用户登录信息");
                }

                //1, 判断商户是否存在
                var merchantEntity = dbContext.N_Merchant.FirstOrDefault(it => (it.MerchantId.Equals(model.MerchantId, StringComparison.OrdinalIgnoreCase)));

                if (merchantEntity == null)
                {
                    Log.Error("商户不存在");
                    throw new InvalidOperationException("商户不存在");
                }

                if (string.IsNullOrEmpty(merchantEntity.Code))
                {
                    Log.Error("无效的商户信息");
                    throw new InvalidOperationException("无效的商户信息");
                }

                //2,验证用户,此处通过userId查询
                var userEntity = dbContext.N_User.FirstOrDefault(it => it.Id.ToString().Equals(model.UserName, StringComparison.OrdinalIgnoreCase));

                if (userEntity == null)
                {
                    Log.Error("此商户下不存在此用户");
                    throw new InvalidOperationException("此商户下不存在此用户");
                }

                //3, 验证加密串
                //按顺序(商户Id&会员用户名&商户安全码)MD5加密串
                var signKey = MD5Cryptology.GetMD5(string.Format("{0}&{1}&{2}", model.MerchantId, userEntity.UserName, merchantEntity.Code), "gb2312");
                if (string.Compare(signKey, model.SignKey, true) != 0)
                {
                    Log.Error("无效的商户安全码");
                    throw new InvalidOperationException("无效的商户安全码");
                }

                string orderId = SsId.Bet;
                model.SsId = orderId;
                UserBetResultModel result = new UserBetResultModel()
                {
                    SsId       = orderId,
                    OrderId    = model.OrderId,
                    MerchantId = model.MerchantId,
                    UserName   = userEntity.UserName,
                    Balls      = model.Balls
                };

                // 获取玩法
                var playSmallTypeEntity = dbContext.Sys_PlaySmallType.FirstOrDefault(it => it.Id.ToString().Equals(model.PlayId.ToString(), StringComparison.OrdinalIgnoreCase));
                if (playSmallTypeEntity == null)
                {
                    Log.Error("无效的彩种玩法");
                    throw new InvalidOperationException("无效的彩种玩法");
                }

                MerchantUserBetDAL betDal = new MerchantUserBetDAL();
                int      num2             = 0;
                DateTime STime            = DateTime.Now;

                num2 = !model.StrPos.Equals("") ?
                       betDal.InsertBetPos(model, "Web端", STime, userEntity.Id.ToString(), playSmallTypeEntity.Title2) :
                       (playSmallTypeEntity.Title2.Equals("P_5ZH") || playSmallTypeEntity.Title2.Equals("P_4ZH_L") || (playSmallTypeEntity.Title2.Equals("P_4ZH_R") || playSmallTypeEntity.Title2.Equals("P_3ZH_L")) || (playSmallTypeEntity.Title2.Equals("P_3ZH_C") || playSmallTypeEntity.Title2.Equals("P_3ZH_R")) ?
                        betDal.InsertBetZH(model, "Web端", STime, userEntity.Id.ToString(), playSmallTypeEntity.Title2) :
                        betDal.InsertBet(model, "Web端", STime, userEntity.Id.ToString(), playSmallTypeEntity.Title2));

                string[] issueTimeAndSn = betDal.GetIssueTimeAndSN(model.LotteryId);
                if (issueTimeAndSn.Length <= 0)
                {
                    Log.ErrorFormat("无效的彩种");
                    throw new InvalidOperationException("无效的彩种");
                }
                string str1 = issueTimeAndSn[0];

                if (num2 > 0)
                {
                    Log.InfoFormat("第{0}期投注成功,请期待开奖!订单号: {1}", str1, orderId);
                }
                else
                {
                    Log.ErrorFormat("对不起,投注失败!");
                    throw new InvalidOperationException("对不起,投注失败!");
                }

                return(result);
            }
        }
Example #8
0
        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 lotteryId = requestDataJsonList[0].lotteryId;

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

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

                int     int32 = Convert.ToInt32(this.AdminId);
                Decimal num1  = new Decimal();
                try
                {
                    string[] issueTimeAndSn = betDal.GetIssueTimeAndSN(lotteryId);
                    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, lotteryId, 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";
                            this.doh.AddConditionParameter("@Id", (object)requestDataJson2.playId.ToString());
                            string  str3        = string.Concat(this.doh.GetField("Sys_PlaySmallType", "Title2"));
                            Decimal singelBouns = new Decimal();
                            if (lotteryId != 5001)
                            {
                                if (Convert.ToDecimal(requestDataJson2.price) < Decimal.Zero || Convert.ToDecimal(requestDataJson2.Num) < Decimal.One || Convert.ToDecimal(requestDataJson2.times) < Decimal.One)
                                {
                                    this._response = this.JsonResult(0, "投注错误!请重新投注!");
                                    return;
                                }
                                string str4 = Calculate.BetNumerice(int32, lotteryId, requestDataJson2.balls, requestDataJson2.playId.ToString(), requestDataJson2.strPos, Convert.ToInt32(requestDataJson2.Num), Convert.ToDecimal(requestDataJson2.Point), ref singelBouns);
                                if (!string.IsNullOrEmpty(str4))
                                {
                                    this._response = str4.Replace("[", "").Replace("]", "");
                                    return;
                                }
                                if (singelBouns <= Decimal.Zero)
                                {
                                    this._response = this.JsonResult(0, "投注失败,返点错误,请重新投注!");
                                    return;
                                }
                                if (Convert.ToDecimal(requestDataJson2.price) * (Decimal)Convert.ToInt32(requestDataJson2.Num) * (Decimal)Convert.ToInt32(requestDataJson2.times) >= new Decimal(1000000))
                                {
                                    this._response = this.JsonResult(0, "投注失败,单个玩法投注额不能超过100万!");
                                    return;
                                }
                            }
                            UserBetModel model = new UserBetModel();
                            model.UserId      = int32;
                            model.UserMoney   = Decimal.Zero;
                            model.LotteryId   = lotteryId;
                            model.PlayId      = Convert.ToInt32(requestDataJson2.playId.ToString());
                            model.PlayCode    = str3;
                            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, "Web端") :
                                   (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.InsertBetZH(model, "Web端") :
                                    betDal.InsertBet(model, "Web端"));
                        }
                        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, "对不起,投注失败!" + (object)ex);
                }
            }
        }
Example #9
0
        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();
                        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";
                            this.doh.AddConditionParameter("@Id", (object)requestDataJsonzh2.playId.ToString());
                            string str3 = string.Concat(this.doh.GetField("Sys_PlaySmallType", "Title2"));
                            if (Convert.ToDecimal(requestDataJsonzh2.price) < Decimal.Zero || Convert.ToDecimal(requestDataJsonzh2.Num) < Decimal.One || Convert.ToDecimal(requestDataJsonzh2.times) < Decimal.One)
                            {
                                this._response = this.JsonResult(0, "投注错误!请重新投注!");
                                return;
                            }
                            Decimal singelBouns = new Decimal();
                            string  str4        = Calculate.BetNumerice(int32_1, int32_2, requestDataJsonzh2.balls, requestDataJsonzh2.playId.ToString(), requestDataJsonzh2.strPos, Convert.ToInt32(requestDataJsonzh2.Num), Convert.ToDecimal(requestDataJsonzh2.Point), ref singelBouns);
                            if (!string.IsNullOrEmpty(str4))
                            {
                                this._response = str4.Replace("[", "").Replace("]", "");
                                return;
                            }
                            if (singelBouns <= Decimal.Zero)
                            {
                                this._response = this.JsonResult(0, "投注失败,返点错误,请重新投注!");
                                return;
                            }
                            UserBetModel userBetModel = new UserBetModel();
                            userBetModel.UserId      = int32_1;
                            userBetModel.UserMoney   = Decimal.Zero;
                            userBetModel.LotteryId   = int32_2;
                            userBetModel.PlayId      = Convert.ToInt32(requestDataJsonzh2.playId);
                            userBetModel.PlayCode    = str3;
                            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, "Web端追号") > 0)
                            {
                                this._response = this.JsonResult(1, "追号成功!请等待开奖!");
                            }
                            else
                            {
                                this._response = this.JsonResult(0, "对不起,投注失败!");
                            }
                        }
                        else
                        {
                            this._response = this.JsonResult(0, "对不起,投注失败!0");
                        }
                    }
                }
                catch (Exception ex)
                {
                    this._response = this.JsonResult(0, "对不起,投注失败!");
                }
            }
        }
        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, "对不起,投注失败!");
                }
            }
        }
Example #11
0
 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);
         try
         {
             string[] issueTimeAndSn = new Lottery.DAL.Flex.UserBetDAL().GetIssueTimeAndSN(int32_2);
             string   str1           = issueTimeAndSn[0];
             DateTime dateTime       = Convert.ToDateTime(issueTimeAndSn[1]);
             DateTime serverTime     = PublicDAL.GetServerTime();
             string   str2           = new Lottery.DAL.Flex.UserBetDAL().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 (new Lottery.DAL.Flex.UserBetDAL().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, "对不起,投注失败!");
         }
     }
 }
Example #12
0
        public dynamic AddMatchBetBet(UserBetModel userbet)
        {
            UserBetRepository _repo = new UserBetRepository();

            return(_repo.PlaceMatchBet(userbet));
        }
Example #13
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, "对不起,投注失败!");
         }
     }
 }
Example #14
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, "对不起,投注失败!");
         }
     }
 }