public async Task <List <Owner> > SearchOwnersAsync(OwnerSearchRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } Expression <Func <OwnerTableModel, bool> > exp = (x) => x.Id > 0; if (!string.IsNullOrEmpty(request.MembershipId)) { exp = exp.And <OwnerTableModel>(x => x.MembershipId == request.MembershipId); } if (!string.IsNullOrEmpty(request.FirstName)) { exp = exp.And <OwnerTableModel>(x => x.FirstName.Contains(request.FirstName)); } if (!string.IsNullOrEmpty(request.LastName)) { exp = exp.And <OwnerTableModel>(x => x.LastName.Contains(request.LastName)); } if (!string.IsNullOrEmpty(request.Email)) { exp = exp.And <OwnerTableModel>(x => x.Email == request.Email); } var response = await _ownerDataAccess.SearchOwnersAsync(exp); return(response.ConvertAll(owner => _ownerMapper.MapOwnerTableToOwner(owner))); }
public async Task <List <Owner> > Post(OwnerSearchRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } return(await _ownerProvider.SearchOwnersAsync(request) .ConfigureAwait(false)); }