public async Task <ActionResult <IEnumerable <AdminDTO> > > GetAdmins([FromQuery] AdminsResourceParameters adminsResourceParameters) { try { var admins = await _adminsRepository.GetAdminsAsync(adminsResourceParameters); if (admins != null) { return(Ok(_mapper.Map <IEnumerable <AdminDTO> >(admins))); } } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Database Failure")); } return(NotFound()); }
public async Task <IEnumerable <Admin> > GetAdminsAsync(AdminsResourceParameters adminsResourceParameters) { if (adminsResourceParameters == null) { throw new ArgumentNullException(nameof(adminsResourceParameters)); } if (string.IsNullOrWhiteSpace(adminsResourceParameters.SearchQuery)) { return(await GetAdminsAsync()); } var collection = _context.Administrators as IQueryable <Admin>; if (!string.IsNullOrWhiteSpace(adminsResourceParameters.SearchQuery)) { var searchQuery = adminsResourceParameters.SearchQuery.Trim(); collection = collection.Where(a => a.FirstName.Contains(searchQuery) || a.LastName.Contains(searchQuery) || a.Email.Contains(searchQuery)); } return(await collection.ToListAsync()); }