public static int CountUserAccessTokenByQuery(UserAccessTokenQuery query) { using (var context = new XiaoluEntities()) { var repository = new UserAccessTokenRepository(context); int count = repository.GetPageCount(item => _isMatch(item, query)); return count; } }
private static dynamic _orderByKey(UserAccessToken obj, UserAccessTokenQuery query) { if (string.IsNullOrEmpty(query.OrderByKey)) return obj.Id; return obj.GetType().GetProperty(query.OrderByKey).GetValue(obj); }
public static List<UserAccessToken> GetUserAccessTokenListByQuery(UserAccessTokenQuery query) { using (var context = new XiaoluEntities()) { var repository = new UserAccessTokenRepository(context); List<UserAccessToken> userAccessTokens = repository.GetPageList(item => _isMatch(item, query), item => _orderByKey(item, query), query.OrderByValue, query.Offset, query.Limit); return userAccessTokens; } }
public static bool _isMatch(UserAccessToken obj, UserAccessTokenQuery query) { if (!string.IsNullOrEmpty(query.IdEqual) && !string.Equals(obj.Id, query.IdEqual)) return false; if (!string.IsNullOrEmpty(query.IdNotEqual) && string.Equals(obj.Id, query.IdNotEqual)) return false; if (!string.IsNullOrEmpty(query.UserIdEqual) && !string.Equals(obj.UserId, query.UserIdEqual)) return false; if (!string.IsNullOrEmpty(query.AccessIdEqual) && !string.Equals(obj.AccessToken, query.AccessIdEqual)) return false; if (!string.IsNullOrEmpty(query.WeixinIdEqual) && !string.Equals(obj.WeixinId, query.WeixinIdEqual)) return false; return true; }
public static UserAccessToken GetUserAccessTokenById(string id4query) { UserAccessTokenQuery query = new UserAccessTokenQuery() { IdEqual = id4query }; UserAccessToken userAccessTokenInDb = GetUserAccessTokenListByQuery(query).FirstOrDefault(); return userAccessTokenInDb; }