public UsersFilterResult GetAllUsers(UsersFilterCriteria criteria) { IQueryable <ApplicationUser> users = _context.Users.AsQueryable(); if (!string.IsNullOrEmpty(criteria.FirstName?.Trim())) { // Case-insensitive string comparison is not supported as query string string firstNameToLower = criteria.FirstName.Trim().ToLower(); users = users.Where(u => u.FirstName.ToLower().StartsWith(firstNameToLower)); } if (!string.IsNullOrEmpty(criteria.LastName?.Trim())) { string lastNameToLower = criteria.LastName.Trim().ToLower(); users = users.Where(u => u.LastName.ToLower().StartsWith(lastNameToLower)); } int totalItems = users.Count(); return(new UsersFilterResult() { Users = users.Skip((criteria.PageNumber - 1) * criteria.ItemsPerPage).Take(criteria.ItemsPerPage), TotalItems = totalItems }); }
public UsersFilterResult GetAllUsers(UsersFilterCriteria criteria) { return(_userManager.GetAllUsers(criteria)); }
public IHttpActionResult GetUsers([FromUri] UsersFilterCriteria criteria) { var users = _userService.GetAllUsers(criteria); return(Ok(users)); }