public CustomSearchResult <T> CustomQuery <T>(RequestBase query, CultureInfo culture, string indexName = null) { if (query == null) { return(new CustomSearchResult <T>()); } RawResults <EsCustomRootObject <T> > rawResults = GetRawResults <EsCustomRootObject <T> >(query, Language.GetLanguageCode(culture), indexName); if (rawResults?.RootObject == null) { return(new CustomSearchResult <T>()); } var searchResult = new CustomSearchResult <T> { Query = query.ToString(Formatting.Indented) }; if (rawResults.RootObject.Hits?.HitArray != null && rawResults.RootObject.Hits.HitArray.Length > 0) { searchResult.Hits = rawResults.RootObject.Hits.HitArray.Select(h => new CustomSearchHit <T>(h.Source, h.Score, h.Highlight)); searchResult.TotalHits = rawResults.RootObject.Hits.Total; searchResult.Took = rawResults.RootObject.Took; } SetupFacets(rawResults.RootObject, searchResult); return(searchResult); }
public override void Delete(LeagueDbContext dbContext) { IRSimSessionDetails?.Delete(dbContext); RawResults?.ToList().ForEach(x => x.Delete(dbContext)); ScoredResults?.ToList().ForEach(x => x.Delete(dbContext)); base.Delete(dbContext); }
/// <summary> /// Load the raw event results into the registered athletes. /// </summary> private void LoadRawEventResults() { List <IRaw> rawResultsData = this.handicapEventModel.LoadRawResults(); foreach (IRaw raw in rawResultsData) { bool found = false; foreach (RawResults results in UnregisteredAthletes) { if (results.AthleteNumbers.Contains(raw.RaceNumber)) { results.RaceNumber = raw.RaceNumber; results.RaceTime = raw.TotalTime; results.Order = raw.Order; found = true; break; } } if (!found) { ObservableCollection <string> newNumber = new ObservableCollection <string> { raw.RaceNumber }; RawResults newResult = new RawResults(0, string.Empty, newNumber); newResult.RaceTime = raw.TotalTime; newResult.RaceNumber = raw.RaceNumber; newResult.Order = raw.Order; this.AllAthletes.Add(newResult); } } }
public void GetCountingResults() { try { results = handler.GetResults(); } catch (Exception x) { logger.TraceEvent(LogLevels.Error, 1010, "Exception getting results " + x.Message); logger.TraceException(x, true); } }
/// <summary> /// Execute the provided query /// </summary> /// <param name="query">Use <see cref="QueryBuilder"/> to generate a suitable query.</param> /// <param name="culture"></param> /// <param name="indexName"></param> public SearchResult Query(RequestBase query, CultureInfo culture, string indexName = null) { if (query == null) { return(new SearchResult()); } RawResults <EsRootObject> rawResults = GetRawResults <EsRootObject>(query, Language.GetLanguageCode(culture), indexName); if (rawResults?.RootObject == null) { return(new SearchResult()); } SearchResult searchResult = SetupResults(rawResults, query.ToString(Formatting.Indented)); SetupFacets(rawResults.RootObject, searchResult); return(searchResult); }
private SearchResult SetupResults(RawResults <EsRootObject> results, string query) { Hits hits = results.RootObject.Hits; var searchResult = new SearchResult { Query = query, RawJsonOutput = results.RawJson }; if (results.RootObject.Suggest?.DidYouMean != null && results.RootObject.Suggest.DidYouMean.Length > 0) { searchResult.DidYouMeanSuggestions = results.RootObject.Suggest.DidYouMean[0].Options; } if (hits?.HitArray != null && hits.HitArray.Length > 0) { searchResult.Hits = hits.HitArray.Select(Map); searchResult.TotalHits = hits.Total; searchResult.Took = results.RootObject.Took; } return(searchResult); }
/// <summary> /// Execute the provided query /// </summary> /// <param name="query">Use <see cref="QueryBuilder"/> to generate a suitable query.</param> /// <param name="culture"></param> /// <param name="cancellationToken"></param> /// <param name="indexName"></param> public async Task <SearchResult> QueryAsync(RequestBase query, CultureInfo culture, CancellationToken cancellationToken, string indexName = null) { if (query == null) { return(new SearchResult()); } EsRootObject results = await GetRawResultsAsync <EsRootObject>(query, Language.GetLanguageCode(culture), cancellationToken, indexName); if (results == null) { return(new SearchResult()); } var rawResults = new RawResults <EsRootObject> { RootObject = results }; SearchResult searchResult = SetupResults(rawResults, query.ToString(Formatting.Indented)); SetupFacets(results, searchResult); return(searchResult); }
/// <summary> /// /// </summary> private void RegisterNewResult(string raceNumber, RaceTimeType raceTime) { RawResults result = this.FindAthlete(raceNumber); if (result != null) { result.RaceNumber = raceNumber; result.RaceTime = raceTime; // Determine the finish order if two or more athletes share the same finishing time. List <RawResults> filteredList = AllAthletes.FindAll(athlete => athlete.RaceTime == result.RaceTime); result.Order = filteredList.Count(); ResetMemberData(); RaisePropertyChangedEvent("UnregisteredAthletes"); RaisePropertyChangedEvent("RegisteredAthletes"); } else { // The athlete is unknown. Add the data to all athletes, all athletes is read // when saving the raw results. ObservableCollection <string> newNumber = new ObservableCollection <string> { raceNumber }; RawResults newResult = new RawResults(0, string.Empty, newNumber); newResult.RaceTime = raceTime; newResult.RaceNumber = raceNumber; // Determine the finish order if two or more athletes share the same finishing time. List <RawResults> filteredList = AllAthletes.FindAll(athlete => athlete.RaceTime == raceTime); newResult.Order = filteredList.Count(); this.AllAthletes.Add(newResult); } }