Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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);
        }