public async Task <IPaged <Role> > PagedAsync(RoleQueryParameter param, int pageIndex, int pageSize) { //if (param == null) // throw new ArgumentNullException(nameof(param)); //if (param.Code == null || param.Name == null) // throw new ArgumentNullException(($"{nameof(param.Code)} & {nameof(param.Name)}")); Expression <Func <Role, bool> > query = null; if (param != null && param.Code != null && param.Name != null) { query = e => e.Code.StartsWith(param.Code) && e.Title.StartsWith(param.Name); } else if (param != null && param.Code != null) { query = e => e.Code.StartsWith(param.Code); } else if (param != null && param.Name != null) { query = e => e.Title.StartsWith(param.Name); } else { query = e => true; } return(await base.PagedAsync(query, pageIndex, pageSize)); }
public async Task <List <Role> > RetrieveAsync(RoleQueryParameter param) { Expression <Func <Role, bool> > query = null; if (param.Code != null && param.Name != null) { query = e => e.Code.StartsWith(param.Code) && e.Title.StartsWith(param.Name); } else if (param.Code != null) { query = e => e.Code.StartsWith(param.Code); } else if (param.Name != null) { query = e => e.Title.StartsWith(param.Name); } else { query = e => true; } var list = (await base.SelectAsync(query)).ToList(); return(list); }