public ReturnMessage GetSSCTimer() { var sh = new SSCHelper(); var dt = DateTime.Now; var items = SSCHelper.GetSSCList(dt); var currentItem = items.FirstOrDefault(r => r.startTime < dt && r.endTime >= dt); var timer = (currentItem.endTime - dt).TotalSeconds.Round(1); var nextRefreshTimer = (currentItem.endTime.AddSeconds(80) - dt).TotalSeconds.Round(1); return(new ReturnMessage { success = true, data = new { name = currentItem.period.Substring(currentItem.period.Length - 3), timer } }); }
public ReturnMessage GetSSCHistory(int minPeriod = 0) { var dt = DateTime.Now.Date; SSCHelper.FetchSSC(dt); using (var dc = new DC()) { var roulette_property_types = CacheHelper.Get("roulette_property_types", () => dc.roulette_property_types.ToList()); var roulette_propertys = CacheHelper.Get("roulette_propertys", () => dc.roulette_propertys.ToList()); var roulette_heros = CacheHelper.Get("roulette_heros", () => dc.roulette_heros.ToList()); var roulette_hero_propertys = CacheHelper.Get("roulette_hero_propertys", () => dc.roulette_hero_propertys.ToList()); var heroCount = roulette_heros.Count(r => r.game_typeId == GameType.id); var q = ( from a in SSCHelper.SSCItemList.Where(r => r.endTime < DateTime.Now) let hero = string.IsNullOrWhiteSpace(a.no) ? null : roulette_heros.Where(r => r.game_typeId == GameType.id).Skip(int.Parse(a.no) % heroCount).FirstOrDefault() select new { period = int.Parse(a.period.Substring(a.period.Length - 3)), no = string.IsNullOrWhiteSpace(a.no) ? "开奖中" : int.Parse(a.no).ToString("00000"), hero = hero == null ? "正在等待时时彩开奖结果" : ( hero.name + " - " + string.Join(" - ", roulette_hero_propertys .Where(r => r.roulette_heroId == hero.roulette_heroId) .Select(r => r.roulette_propertyId) .Select(r => roulette_propertys.FirstOrDefault(p => p.roulette_propertyId == r)) .Select(r => r.name) .ToArray()) ) } ); return(new ReturnMessage { success = true, data = new { history = q.Where(r => r.period > minPeriod).OrderByDescending(r => r.period).ToList() } }); } }