public IEnumerable <ApiUser> SearchApiUsers(ApiUserSearchParameters searchParameters) { var sql = SelectApiUsersSql + " WHERE "; if (!string.IsNullOrEmpty(searchParameters.ExternalSystemId)) { sql += "Username = @ExternalSystemId "; } if (!string.IsNullOrEmpty(searchParameters.Id)) { sql += "Company = @Id "; } if (!string.IsNullOrEmpty(searchParameters.Name)) { sql += @"p.FullName LIKE '%' + @name + '%' OR p.TradingName LIKE '%' + @name + '%' OR e.FullName LIKE '%' + @name + '%' OR e.TradingName LIKE '%' + @name + '%' OR tp.ThirdPartyName LIKE '%' + @name + '%'"; } sql += "ORDER BY FullName"; var externalSystemPermissions = _getOpenConnection.Query <ExternalSystem, ExternalSystemPermission, ExternalSystem>(sql, (es, esp) => { es.ExternalSystemPermission = esp; return(es); }, searchParameters, "Username"); return(externalSystemPermissions.Select(MapApiUser)); }
public ApiUserSearchResultsViewModel SearchApiUsers(ApiUserSearchViewModel searchViewModel) { var viewModel = new ApiUserSearchResultsViewModel { SearchViewModel = searchViewModel }; if (!searchViewModel.PerformSearch) { return(viewModel); } var searchParameters = new ApiUserSearchParameters { ExternalSystemId = searchViewModel.ExternalSystemId, Id = searchViewModel.Id, Name = searchViewModel.Name }; var apiUsers = _apiUserRepository.SearchApiUsers(searchParameters); viewModel.ApiUsers = apiUsers.Select(a => ApiUserMappers.Map <ApiUser, ApiUserViewModel>(a)).ToList(); return(viewModel); }