public async Task <IEnumerable <Client> > GetClientsAsync(ClientsResourceParameters clientsResourceParameters) { if (clientsResourceParameters == null) { throw new ArgumentNullException(nameof(clientsResourceParameters)); } if (clientsResourceParameters.Sex == null && string.IsNullOrWhiteSpace(clientsResourceParameters.SearchQuery)) { return(await GetClientsAsync()); } var collection = _context.Clients.Include(c => c.Address) as IQueryable <Client>; if (!(clientsResourceParameters.Sex == null)) { var sex = clientsResourceParameters.Sex; collection = collection.Where(c => c.Sex == sex); } if (!string.IsNullOrWhiteSpace(clientsResourceParameters.SearchQuery)) { var searchQuery = clientsResourceParameters.SearchQuery.Trim(); collection = collection.Where(c => c.FirstName.Contains(searchQuery) || c.LastName.Contains(searchQuery) || c.LastName.Contains(searchQuery) || c.PhoneNumber.Contains(searchQuery) || c.Email.Contains(searchQuery)); } return(await collection.ToListAsync()); }
public IEnumerable <Client> GetClients(ClientsResourceParameters clientsResourceParameters) { var collection = _context.Clients as IQueryable <Client>; if (!string.IsNullOrWhiteSpace(clientsResourceParameters.SearchQuery)) { var searchQuery = clientsResourceParameters.SearchQuery.Trim(); collection = collection.Where(c => c.FirstName.Contains(searchQuery) || c.LastName.Contains(searchQuery)); } return(collection .OrderBy(c => c.LastName) .OrderBy(c => c.FirstName) .ToList()); }
private IQueryable <Client> CreateFilterSearchQuery(ClientsResourceParameters clientsResourceParameters) { var query = GetContext().Clients as IQueryable <Client>; if (clientsResourceParameters.HasAppointmentToday.HasValue) { query = query.Where(c => c.Appointments.Any(a => a.Start.Date == DateTime.Today)); } if (!string.IsNullOrWhiteSpace(clientsResourceParameters.SearchQuery)) { var searchQuery = clientsResourceParameters.SearchQuery; query = query.Where(c => c.FirstName.Contains(searchQuery) || c.LastName.Contains(searchQuery)); } return(query.Include(q => q.Appointments)); }
public async Task <ActionResult <IEnumerable> > GetClients([FromQuery] ClientsResourceParameters clientsResourceParameters) { try { var clients = await _clientsRepository.GetClientsAsync(clientsResourceParameters); if (clients != null) { return(Ok(_mapper.Map <IEnumerable <ClientDTO> >(clients))); } } catch (Exception) { return(StatusCode(StatusCodes.Status500InternalServerError, "Database Failure")); } return(NotFound()); }
public async Task <IEnumerable <Client> > Get(ClientsResourceParameters clientsResourceParameters) => clientsResourceParameters.HasAppointmentToday.HasValue || !string.IsNullOrWhiteSpace(clientsResourceParameters.SearchQuery) ? await Get(CreateFilterSearchQuery(clientsResourceParameters)) : await Get().Include(c => c.Appointments).ToListAsync();
public async Task <ActionResult <IEnumerable <ClientDto> > > GetClients([FromQuery] ClientsResourceParameters clientsResourceParameters) { var clients = await clientService.GetClients(clientsResourceParameters); return(Ok(mapper.Map <IEnumerable <ClientDto> >(clients))); }
public async Task <IEnumerable <Client> > GetClients(ClientsResourceParameters clientsResourceParameters) => await repository.Get(clientsResourceParameters);
public ActionResult <IEnumerable <ClientDto> > GetClients([FromQuery] ClientsResourceParameters clientsResourceParameters) { var clientsFromRepo = _carRentalRepository.GetClients(clientsResourceParameters); return(Ok(_mapper.Map <IEnumerable <ClientDto> >(clientsFromRepo))); }