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)));
        }
Beispiel #2
0
        public async Task <List <Owner> > Post(OwnerSearchRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            return(await _ownerProvider.SearchOwnersAsync(request)
                   .ConfigureAwait(false));
        }