public static User GetUserInfoByCodeOrCookie(HttpContextBase context, string code = null) { JahomDBContext jahomDBContext = new JahomDBContext(); if (string.IsNullOrEmpty(code)) { var userStr = CookieHelper.GetCookie(context); if (!string.IsNullOrEmpty(userStr)) { return(JsonConvert.DeserializeObject <User>(userStr)); } return(null); } else { var openId = AccessTokenManage.GetOpenIdByCode(code); User user = jahomDBContext.User.FirstOrDefault(u => u.OpenId == openId); if (user != null) { CookieHelper.SetCookie(context, JsonConvert.SerializeObject(user)); } else { user = new User() { OpenId = openId }; } return(user); } }
public static Record GetMatchedRecord() { JahomDBContext jahomDBContext = new JahomDBContext(); var record = jahomDBContext.Record.OrderBy(r => r.CreateTime).FirstOrDefault(r => r.IsSpecial && !r.IsCompleted); if (record == null) { var records = jahomDBContext.Record.Where(r => !r.IsCompleted).ToList(); var random = new Random().Next(0, records.Count() - 1); record = records.OrderBy(c => c.CreateTime).Skip(random).Take(1).FirstOrDefault(); } record.IsCompleted = true; jahomDBContext.SaveChanges(); return(record); }