Beispiel #1
0
        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());
        }