private bool ValidatePagedSearchSettings(SslamPagedSearchSettings pagedSearchSettings) { var validationContext = new System.ComponentModel.DataAnnotations.ValidationContext(pagedSearchSettings, serviceProvider: null, items: null); var validationResults = new List <ValidationResult>(); return(Validator.TryValidateObject(pagedSearchSettings, validationContext, validationResults, true)); }
private PagedSearchRequest MapSearchRequestToPagedSearchRequest(SslamPagedSearchSettings pagedSearchSettings, SslamSearchRequest searchRequest) { var mappedSearchRequest = AutoMapper.Mapper.Map <PagedSearchRequest>(pagedSearchSettings); // assign searchRequest values to the matching Parameter object Value properties MapSearchRequestToPagedSearchRequestParameters.MapSearchRequest(searchRequest, mappedSearchRequest); return(mappedSearchRequest); }
public PagedSearchResult GetPagedSearchResult(SslamPagedSearchSettings pagedSearchSettings, SslamSearchRequest searchRequest) { if (!ValidatePagedSearchSettings(pagedSearchSettings)) { throw new InvalidSettingsException("The Sslam paged search settings are not valid."); } var pagedSearchRequest = MapSearchRequestToPagedSearchRequest(pagedSearchSettings, searchRequest); var query = new GetSearchQuery { PagedSearchRequest = pagedSearchRequest }; var pagedSearchResult = _queryDispatcher.Dispatch(query); return(MapPagedSearchResultToSslamPagedSearchResult(pagedSearchResult)); }