public static UserInfo LogIn(string username, string password, bool updateState) { var _query = Query.And( Query.Or( Query <User> .EQ(x => x.Email, username.ToLower()), Query <User> .EQ(x => x.UserName, username.ToLower())), Query <User> .EQ(x => x.Pwd, password)); var _u = MainDb.Instant.FindOne <User>(_query); if (_u != null) { var _info = new UserInfo { Pwd = _u.Pwd, Avatar = _u.Avatar, UserName = _u.UserName, Id = _u.Id.ToString(), Status = _u.Status }; var _role = RoleRepo.Info(_u.RoleId); if (!ObjectId.Empty.Equals(_u.RoleId) && _role != null) { _info.IsAdmin = _role.IsAdmin; _info.Access = _role.Access; } return(_info); } return(null); }