/// <summary> /// 获取投注信息 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回投注信息</returns> public PageResult<BettingExport> GetBettings(IModelToDbContextOfLottery db) { if (this.PageIndex < 1) { this.PageIndex = 1; } SettingOfBase settingOfBase = new SettingOfBase(db); int startRow = settingOfBase.PageSizeForAdmin * (this.PageIndex - 1); Expression<Func<Betting, bool>> predicate1 = x => x.Id > 0; Expression<Func<Betting, bool>> predicate2 = x => x.Id > 0; Expression<Func<Betting, bool>> predicate3 = x => x.Id > 0; Expression<Func<Betting, bool>> predicate4 = x => x.Id > 0; Expression<Func<Betting, bool>> predicate5 = x => x.Id > 0; if (this.KeywordForUsername != null) { this.KeywordForUsername = VerifyHelper.EliminateSpaces(this.KeywordForUsername); string[] keywords = this.KeywordForUsername.Split(new char[] { ' ' }); predicate1 = x => keywords.All(kw => x.Owner.Username.Contains(kw)); } if (this.OwnerId != null) { int ownerId = (int)this.OwnerId; predicate2 = x => x.Owner.Id == ownerId; } if (this.BeginTime != null) { DateTime beginTime = (DateTime)this.BeginTime; predicate3 = x => x.CreatedTime >= beginTime; } if (this.EndTime != null) { DateTime endTime = (DateTime)this.EndTime; predicate4 = x => x.CreatedTime < endTime; } if (this.Status != null) { BettingStatus status = (BettingStatus)this.Status; predicate5 = x => x.Status == status; } int countOfAllMessages = db.Bettings .Where(predicate1) .Where(predicate2) .Where(predicate3) .Where(predicate4) .Where(predicate5) .Count(); var tList = db.Bettings .Where(predicate1) .Where(predicate2) .Where(predicate3) .Where(predicate4) .Where(predicate5) .OrderByDescending(x => x.CreatedTime) .Skip(startRow) .Take(settingOfBase.PageSizeForAdmin) .ToList() .ConvertAll(x => new BettingExport(x)); return new PageResult<BettingExport>(this.PageIndex, countOfAllMessages, settingOfBase.PageSizeForAdmin, tList); }
/// <summary> /// 获取彩票信息 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回彩票信息</returns> public PageResult<LotteryTicketExport> GetLotteryTickets(IModelToDbContextOfLottery db) { if (this.PageIndex < 1) { this.PageIndex = 1; } SettingOfBase settingOfBase = new SettingOfBase(db); int startRow = settingOfBase.PageSizeForAdmin * (this.PageIndex - 1); Expression<Func<LotteryTicket, bool>> predicate1 = x => x.Id > 0; if (this.KeywordForName != null) { this.KeywordForName = VerifyHelper.EliminateSpaces(this.KeywordForName); string[] keywords = this.KeywordForName.Split(new char[] { ' ' }); predicate1 = x => keywords.All(kw => x.Name.Contains(kw)); } int countOfAllMessages = db.LotteryTickets .Where(predicate1) .Count(); var tList = db.LotteryTickets .Where(predicate1) .OrderBy(x => x.Order) .Skip(startRow) .Take(settingOfBase.PageSizeForAdmin) .ToList() .ConvertAll(x => new LotteryTicketExport(x)); return new PageResult<LotteryTicketExport>(this.PageIndex, countOfAllMessages, settingOfBase.PageSizeForAdmin, tList); }
/// <summary> /// 获取彩票信息 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回彩票信息</returns> public NormalResult<List<LotteryTicketExport>> GetTickets(IModelToDbContextOfLottery db) { List<LotteryTicketExport> tList = db.LotteryTickets.Where(x => x.Hide == false) .OrderBy(x => x.Order) .ToList() .ConvertAll(x => new LotteryTicketExport(x)); return new NormalResult<List<LotteryTicketExport>>(tList); }
/// <summary> /// 获取开奖记录 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回开奖记录</returns> public NormalResult<List<LotteryExport>> GetLotteries(IModelToDbContextOfLottery db) { List<LotteryExport> tList = db.Lotterys .Where(x => x.Ticket.Id == this.TicketId) .OrderByDescending(x => x.CreatedTime) .Take(this.Count) .ToList() .ConvertAll(x => new LotteryExport(x)); return new NormalResult<List<LotteryExport>>(tList); }
/// <summary> /// /// </summary> /// <param name="db"></param> /// <returns></returns> public NormalResult<List<TopBonus>> GetTopBonus(IModelToDbContextOfLottery db) { if (this.TicketId == null) { List<TopBonus> t = new List<TopBonus>(); List<TopBonus> t1 = db.VirtualBonuss .OrderByDescending(x => x.Sum) .Take(this.Notes) .ToList() .ConvertAll(x => new TopBonus(x)); List<TopBonus> t2 = db.Bettings .OrderByDescending(x => x.Bonus) .Take(this.Notes) .ToList() .ConvertAll(x => new TopBonus(x)); List<TopBonus> t3 = db.BettingWithChasings .OrderByDescending(x => x.Bonus) .Take(this.Notes) .ToList() .ConvertAll(x => new TopBonus(x)); t.AddRange(t1); t.AddRange(t2); t.AddRange(t3); t = t.OrderByDescending(x => x.Sum).Take(this.Notes).ToList(); return new NormalResult<List<TopBonus>>(t); } else { int ticketId = (int)this.TicketId; List<TopBonus> t = new List<TopBonus>(); List<TopBonus> t1 = db.VirtualBonuss .Where(x => x.Ticket.Id == ticketId) .OrderByDescending(x => x.Sum) .Take(this.Notes) .ToList() .ConvertAll(x => new TopBonus(x)); List<TopBonus> t2 = db.Bettings .Where(x => x.HowToPlay.Tag.Ticket.Id == ticketId) .OrderByDescending(x => x.Bonus) .Take(this.Notes) .ToList() .ConvertAll(x => new TopBonus(x)); List<TopBonus> t3 = db.BettingWithChasings .Where(x => x.Chasing.HowToPlay.Tag.Ticket.Id == ticketId) .OrderByDescending(x => x.Bonus) .Take(this.Notes) .ToList() .ConvertAll(x => new TopBonus(x)); t.AddRange(t1); t.AddRange(t2); t.AddRange(t3); t = t.OrderByDescending(x => x.Sum).Take(this.Notes).ToList(); return new NormalResult<List<TopBonus>>(t); } }
/// <summary> /// 设置并保存 /// </summary> /// <param name="db"></param> public void SetAndSave(IModelToDbContextOfLottery db) { SettingOfLottery setting = new SettingOfLottery(db); setting.UnitPrice = this.UnitPrice; setting.PayoutBase = this.PayoutBase; setting.LineForProhibitBetting = this.LineForProhibitBetting; setting.MaximumPayout = this.MaximumPayout; setting.ConversionRates = this.ConversionRates; setting.MaximumBetsNumber = this.MaximumBetsNumber; setting.ClosureSingleTime = this.ClosureSingleTime; setting.Save(db); }
/// <summary> /// 获取追号信息 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回追号信息</returns> public PageResult<ChasingExport> GetChasings(IModelToDbContextOfLottery db) { if (this.PageIndex < 1) { this.PageIndex = 1; } SettingOfBase settingOfBase = new SettingOfBase(db); int startRow = settingOfBase.PageSizeForClient * (this.PageIndex - 1); Expression<Func<Chasing, bool>> predicate1 = x => x.Owner.Id == this.Self.Id; Expression<Func<Chasing, bool>> predicate2 = x => x.Id > 0; Expression<Func<Chasing, bool>> predicate3 = x => x.Id > 0; if (this.BeginTime != null) { DateTime beginTime = (DateTime)this.BeginTime; predicate2 = x => x.CreatedTime >= beginTime; } if (this.EndTime != null) { DateTime endTime = (DateTime)this.EndTime; predicate3 = x => x.CreatedTime < endTime; } int countOfAllMessages = db.Chasings .Where(predicate1) .Where(predicate2) .Where(predicate3) .Count(); var tList = db.Chasings .Where(predicate1) .Where(predicate2) .Where(predicate3) .OrderByDescending(x => x.CreatedTime) .Skip(startRow) .Take(settingOfBase.PageSizeForClient) .ToList() .ConvertAll(x => { List<BettingWithChasing> bettings = db.BettingWithChasings.Where(b => b.Chasing.Id == x.Id).ToList(); return new ChasingExport(x, bettings); }); return new PageResult<ChasingExport>(this.PageIndex, countOfAllMessages, settingOfBase.PageSizeForClient, tList); }
/// <summary> /// 获取彩票模块的系统设置 /// </summary> /// <param name="db">数据集</param> /// <returns>返回彩票模块的系统设置</returns> public NormalResult<SettingOfLotteryExport> GetSettingOfLottery(IModelToDbContextOfLottery db) { var s = new SettingOfLotteryExport(new SettingOfLottery(db)); return new NormalResult<SettingOfLotteryExport>(s); }