public async Task <IEnumerable <PersonSearchResult> > GetAllWithTypes(PersonSearchOptions searchParams) { var query = GenerateQuery(); searchParams.ApplySearch(query, TblAlias); return(await ExecuteQueryWithTypes(query)); }
public async Task <IEnumerable <Person> > GetAll(PersonSearchOptions searchParams) { var query = GenerateQuery(); ApplySearch(query, searchParams); return(await ExecuteQuery(query)); }
public async Task <IEnumerable <PersonModel> > Get(PersonSearchOptions searchModel) { using (var unitOfWork = await DataConnectionFactory.CreateUnitOfWork()) { var people = await unitOfWork.People.GetAll(searchModel); return(people.Select(p => new PersonModel(p)).ToList()); } }
public async Task <IEnumerable <PersonModel> > Get(PersonSearchOptions searchModel) { var searchObject = GenerateSearchObject(searchModel); IEnumerable <Person> people; people = await _personRepository.GetAll(searchObject); return(people.Select(BusinessMapper.Map <PersonModel>).ToList()); }
private PersonSearchOptions GenerateSearchObject(PersonSearchOptions searchModel) { var person = new PersonSearchOptions(); person.FirstName = searchModel.FirstName; //person.MiddleName = searchModel.MiddleName; person.LastName = searchModel.LastName; person.Gender = searchModel.Gender; person.Dob = searchModel.Dob; return(person); }
public async Task <IActionResult> SearchPeople([FromQuery] PersonSearchOptions searchModel) { try { var people = await _personService.GetPeopleWithTypes(searchModel); return(Ok(people)); } catch (Exception e) { return(HandleException(e)); } }
private static void ApplySearch(Query query, PersonSearchOptions search) { if (!string.IsNullOrWhiteSpace(search.FirstName)) { query.WhereStarts("Person.FirstName", search.FirstName); } if (!string.IsNullOrWhiteSpace(search.LastName)) { query.WhereStarts("Person.LastName", search.LastName); } if (!string.IsNullOrWhiteSpace(search.Gender)) { query.Where("Person.Gender", search.Gender); } if (search.Dob != null) { query.WhereDate("Person.Dob", search.Dob); } }
public async Task <IEnumerable <PersonSearchResultModel> > GetPeopleWithTypes(PersonSearchOptions searchModel) { using (var unitOfWork = await DataConnectionFactory.CreateUnitOfWork()) { var results = await unitOfWork.People.GetAllWithTypes(searchModel); return(results.Select(r => new PersonSearchResultModel(r)).ToList()); } }