public ActionResult Drawing() { ViewBag.Title = "开奖"; ViewBag.Title2 = "开奖"; ViewBag.Page = "开奖"; try { var current = new DBC.Screening(DateTime.Now); ViewBag.current = current; } catch { } var list = new List<DBC.Screening>(); { var now = DateTime.Now; var dayBegin = new DateTime(now.Year, now.Month, now.Day, 0, 0, 0); var dayEnd = dayBegin.AddDays(1); var sql = string.Format("select id from {0} where start>? and start<? and result!=? order by id desc", DBTables.Screening); var res = DB.SExecuteReader(sql, dayBegin, dayEnd, Enums.Fruits.None); foreach (var item in res) { var id = Convert.ToInt32(item[0]); var s = new DBC.Screening(id); list.Add(s); } } ViewBag.list = list; return View(); }
public ActionResult BettingAdd(uint orange, uint banana, uint grape, uint pineapple, uint strawberry, uint watermenon) { var now = DateTime.Now; try { var screening = new DBC.Screening(now); var diff = screening.End - now; if (diff.TotalSeconds <= 30) { return(Content("开奖前30秒禁止投注")); } else { var user = Session["user"] as DBC.User; var total = orange + banana + grape + watermenon + strawberry + pineapple; if (total == 0) { return(Content("总投注额不能为0")); } DBC.Betting.Create(orange, banana, grape, watermenon, strawberry, pineapple, total, screening.ID, user.ID); } return(Redirect("~/home/betting")); } catch { return(Content("还没有到竞猜时间")); } }
public ActionResult Betting(uint orange = 0, uint banana = 0, uint grape = 0, uint strawberry = 0, uint pineapple = 0, uint watermelon = 0) { var user = GetCurrentUser(); if (user == null) return HttpNotFound(); var now=DateTime.Now; DBC.Screening screening=null; try { screening = new DBC.Screening(now); } catch { return Content("还没有到投注时间"); } var diff=screening.End-now; if (diff.TotalSeconds <= 30) { return Content("开奖前30秒不能再投注"); } var total = orange + banana + grape + strawberry + pineapple + watermelon; if (total == 0) return Content("总投注额不能为0"); if(user.Points<total) return Content("积分不足,请先充值"); user.Points -= total; DBC.Betting.Create(orange, banana, grape, watermelon, strawberry, pineapple, total,screening.ID,user.ID); return Content("ok"); }
void GetScreeningsList() { var list = new List <DBC.Screening>(); var sql = string.Format("select id from {0} where start>? and end<?", DBTables.Screening); var res = DB.SExecuteReader(sql, DateTime.Today, DateTime.Now); foreach (var item in res) { var id = Convert.ToInt32(item[0]); var s = new DBC.Screening(id); list.Add(s); } ViewBag.screeningsList = list; }
public ActionResult Betting(uint orange = 0, uint banana = 0, uint grape = 0, uint strawberry = 0, uint pineapple = 0, uint watermelon = 0) { var user = GetCurrentUser(); if (user == null) { return(HttpNotFound()); } var now = DateTime.Now; DBC.Screening screening = null; try { screening = new DBC.Screening(now); } catch { return(Content("还没有到投注时间")); } var diff = screening.End - now; if (diff.TotalSeconds <= 30) { return(Content("开奖前30秒不能再投注")); } var total = orange + banana + grape + strawberry + pineapple + watermelon; if (total == 0) { return(Content("总投注额不能为0")); } if (user.Points < total) { return(Content("积分不足,请先充值")); } user.Points -= total; DBC.Betting.Create(orange, banana, grape, watermelon, strawberry, pineapple, total, screening.ID, user.ID); return(Content("ok")); }
static void SetResult(DateTime now) { try { var screening = new DBC.Screening(now); //看看有没有预设当场结果 if (screening.Preset != Enums.Fruits.None) { screening.Result = screening.Preset; } //统计当场各种水果的数量 else { var list = new List<FruitCount>(); var sql = string.Format("select sum(orange),sum(banana),sum(grape),sum(pineapple),sum(strawberry),sum(watermelon) from {0} where screeningid=?", DBTables.Betting); var res = DB.SExecuteReader(sql, screening.ID); var row = res[0]; list.Add(new FruitCount() { Fruit = Enums.Fruits.Orange, Count = Utility.ToInt32(row[0]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Banana, Count = Utility.ToInt32(row[1]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Grape, Count = Utility.ToInt32(row[2]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Pineapple, Count = Utility.ToInt32(row[3]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Strawberry, Count = Utility.ToInt32(row[4]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Watermelon, Count = Utility.ToInt32(row[5]) }); var min= list.Min(i => i.Count); var same=list.Where(i => i.Count == min).ToList(); var rand = new Random(); screening.Result = same[rand.Next(same.Count)].Fruit; } //更新投注记录中的中奖额 { var sql = string.Format("update {0} set winning={1}*5 where screeningid=?", DBTables.Betting,screening.Result.ToString()); DB.SExecuteNonQuery(sql, screening.ID); } //更新中奖用户积分 { var sql = string.Format("update (select userid, winning from {0},{1} where screeningid=? and user.id=userid and user.role=?) as w, {0},user set points=points+w.winning where w.userid=user.id;", DBTables.Betting,DBTables.User); DB.SExecuteNonQuery(sql,screening.ID, Enums.Roles.Normal); } } catch { } }
List <object> GetBettingOverviewList(List <DBC.Betting> bettingList) { var list = new List <object>(); foreach (var betting in bettingList) { try { var s = new DBC.Screening(betting.ScreeningID); var result = s.Result; dynamic o = new System.Dynamic.ExpandoObject(); o.betting = betting; o.result = result; list.Add(o); } catch { } } return(list); }
public ActionResult BettingAdd(uint orange, uint banana, uint grape, uint pineapple, uint strawberry, uint watermenon) { var now = DateTime.Now; try { var screening = new DBC.Screening(now); var diff = screening.End - now; if (diff.TotalSeconds <= 30) { return(Content("开奖前30秒禁止投注")); } else { var current = GetCurrentUser(); var total = orange + banana + grape + watermenon + strawberry + pineapple; if (total == 0) { return(Content("总投注额不能为0")); } if (current.Points < total) { return(Content("积分不足,请充值")); } current.Points = current.Points - total; DBC.Betting.Create(orange, banana, grape, watermenon, strawberry, pineapple, total, screening.ID, current.ID); } return(Redirect("~/home/betting")); } catch { return(Content("还没有到竞猜时间")); } }
List<object> GetBettingOverviewList(List<DBC.Betting> bettingList) { var list = new List<object>(); foreach (var betting in bettingList) { try { var s = new DBC.Screening(betting.ScreeningID); var result = s.Result; dynamic o = new System.Dynamic.ExpandoObject(); o.betting = betting; o.result = result; list.Add(o); } catch { } } return list; }
public ActionResult BettingAdd(uint orange, uint banana, uint grape, uint pineapple, uint strawberry, uint watermenon) { var now = DateTime.Now; try { var screening = new DBC.Screening(now); var diff = screening.End - now; if (diff.TotalSeconds <= 30) { return Content("开奖前30秒禁止投注"); } else { var user = Session["user"] as DBC.User; var total = orange + banana + grape + watermenon + strawberry + pineapple; if (total == 0) return Content("总投注额不能为0"); DBC.Betting.Create(orange, banana, grape, watermenon, strawberry, pineapple, total, screening.ID, user.ID); } return Redirect("~/home/betting"); } catch { return Content("还没有到竞猜时间"); } }
static void SetResult(DateTime now) { try { var screening = new DBC.Screening(now); //看看有没有预设当场结果 if (screening.Preset != Enums.Fruits.None) { screening.Result = screening.Preset; } //统计当场各种水果的数量 else { var list = new List <FruitCount>(); var sql = string.Format("select sum(orange),sum(banana),sum(grape),sum(pineapple),sum(strawberry),sum(watermelon) from {0} where screeningid=?", DBTables.Betting); var res = DB.SExecuteReader(sql, screening.ID); var row = res[0]; list.Add(new FruitCount() { Fruit = Enums.Fruits.Orange, Count = Utility.ToInt32(row[0]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Banana, Count = Utility.ToInt32(row[1]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Grape, Count = Utility.ToInt32(row[2]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Pineapple, Count = Utility.ToInt32(row[3]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Strawberry, Count = Utility.ToInt32(row[4]) }); list.Add(new FruitCount() { Fruit = Enums.Fruits.Watermelon, Count = Utility.ToInt32(row[5]) }); var min = list.Min(i => i.Count); var same = list.Where(i => i.Count == min).ToList(); var rand = new Random(); screening.Result = same[rand.Next(same.Count)].Fruit; } //更新投注记录中的中奖额 { var sql = string.Format("update {0} set winning={1}*5 where screeningid=?", DBTables.Betting, screening.Result.ToString()); DB.SExecuteNonQuery(sql, screening.ID); } //更新中奖用户积分 { var sql = string.Format("update (select userid, winning from {0},{1} where screeningid=? and user.id=userid and user.role=?) as w, {0},user set points=points+w.winning where w.userid=user.id;", DBTables.Betting, DBTables.User); DB.SExecuteNonQuery(sql, screening.ID, Enums.Roles.Normal); } } catch { } }
void GetScreeningsList() { var list = new List<DBC.Screening>(); var sql = string.Format("select id from {0} where start>? and end<?", DBTables.Screening); var res = DB.SExecuteReader(sql, DateTime.Today, DateTime.Now); foreach (var item in res) { var id = Convert.ToInt32(item[0]); var s = new DBC.Screening(id); list.Add(s); } ViewBag.screeningsList = list; }
public ActionResult BettingAdd(uint orange, uint banana, uint grape, uint pineapple, uint strawberry, uint watermenon) { var now = DateTime.Now; try { var screening = new DBC.Screening(now); var diff = screening.End - now; if (diff.TotalSeconds <= 30) { return Content("开奖前30秒禁止投注"); } else { var current = GetCurrentUser(); var total = orange + banana + grape + watermenon + strawberry + pineapple; if (total == 0) return Content("总投注额不能为0"); if (current.Points < total) return Content("积分不足,请充值"); current.Points = current.Points- total; DBC.Betting.Create(orange, banana, grape, watermenon, strawberry, pineapple, total, screening.ID, current.ID); } return Redirect("~/home/betting"); } catch { return Content("还没有到竞猜时间"); } }
public ActionResult Betting(int? userid, DateTime? beginDate,DateTime? endDate, int p = 0) { try { ViewBag.Title = "投注记录"; ViewBag.Title2 = "投注记录"; ViewBag.Page = "投注"; if (beginDate == null) beginDate = DateTime.Today.AddDays(-7); if (endDate == null) endDate = DateTime.Today; var currentUser = Session["user"] as DBC.User; var pages = 1; var sqlCount = ""; var sqlList = ""; var sqlSum= ""; var sqlCountArgs = new List<object>(); var sqlListArgs = new List<object>(); var sqlSumArgs = new List<object>(); //查看指定用户(包括其下属帐号)的投注记录 if (userid != null) { var user = new DBC.User(userid.Value); if (user.Parent != GetCurrentUser().ID) throw new Exception("无权查看"); sqlCount = string.Format("select count(*) from {0},{1} where {0}.userid={1}.id and ({1}.id=? or {1}.parent=?) and time>? and time<?", DBTables.Betting, DBTables.User); sqlCountArgs.Add(user.ID); sqlCountArgs.Add(user.ID); sqlCountArgs.Add(beginDate.Value); sqlCountArgs.Add(endDate.Value.AddDays(1)); sqlList = string.Format("select {0}.id from {0},{1} where {0}.userid={1}.id and ({1}.id=? or {1}.parent=?) and time>? and time<? order by time desc limit ?,?", DBTables.Betting, DBTables.User); sqlListArgs.Add(user.ID); sqlListArgs.Add(user.ID); sqlListArgs.Add(beginDate.Value); sqlListArgs.Add(endDate.Value.AddDays(1)); sqlSum = string.Format("select sum(total),sum(winning) from {0},{1} where {0}.userid={1}.id and ({1}.id=? or {1}.parent=?) and time>? and time<?", DBTables.Betting, DBTables.User); sqlSumArgs.Add(user.ID); sqlSumArgs.Add(user.ID); sqlSumArgs.Add(beginDate.Value); sqlSumArgs.Add(endDate.Value.AddDays(1)); } //查看全部投注记录 else { sqlCount = string.Format("select count(*) from {0} where time>? and time<?", DBTables.Betting); sqlCountArgs.Add(beginDate.Value); sqlCountArgs.Add(endDate.Value.AddDays(1)); sqlList = string.Format("select id from {0} where time>? and time<? order by time desc limit ?,?", DBTables.Betting); sqlListArgs.Add(beginDate.Value); sqlListArgs.Add(endDate.Value.AddDays(1)); sqlSum = string.Format("select sum(total),sum(winning) from {0} where time>? and time<?", DBTables.Betting); sqlSumArgs.Add(beginDate.Value); sqlSumArgs.Add(endDate.Value.AddDays(1)); } //添加分页参数 sqlListArgs.Add(p * _itemsPerPage); sqlListArgs.Add(_itemsPerPage); //获取总记录数 var totalCount = Convert.ToInt32(DB.SExecuteScalar(sqlCount, sqlCountArgs.ToArray())); //计算分页数 pages = (int)Math.Ceiling(totalCount * 1.0 / _itemsPerPage); //获取下注记录 var res = DB.SExecuteReader(sqlList, sqlListArgs.ToArray()); var list = new List<object>(); foreach (var item in res) { //数据记录不完整时跳过 try { var id = Convert.ToInt32(item[0]); var b = new DBC.Betting(id); var s = new DBC.Screening(b.ScreeningID); var result = s.Result; dynamic o = new System.Dynamic.ExpandoObject(); o.betting = b; o.result = result; list.Add(o); } catch { } } //获取总投注和总中奖 var res2 = DB.SExecuteReader(sqlSum, sqlSumArgs.ToArray()); var totalBetting = Utility.ToInt32(res2[0][0]); var totalWinning = Utility.ToInt32(res2[0][1]); //设置分页记录 var pagination = new Pagination(); pagination.Pages = pages; pagination.Current = p; pagination.BaseUrl = string.Format("/home/betting?userid={0}&beginDate={1}&endDate={2}", userid, beginDate.Value.ToString("yyyy-MM-dd"), endDate.Value.ToString("yyyy-MM-dd")); ViewBag.pagination = pagination; ViewBag.list = list; ViewBag.totalBetting = totalBetting; ViewBag.totalWinning = totalWinning; ViewBag.beginDate = beginDate.Value; ViewBag.endDate = endDate.Value; ViewBag.userid = userid; } catch { ViewBag.errorText = "未查询到任何记录"; } return View(); }
public ActionResult DrawingPreset(int id,Enums.Fruits preset) { var s = new DBC.Screening(id); s.Preset = preset; return Redirect("~/home/drawing"); }