Esempio n. 1
0
        public MapSearchResult FindBeatmap(Dictionary <string, string> mapDictionary)
        {
            var result = new MapSearchResult();
            var b      = _sqliteControler.GetBeatmap(mapDictionary["artist"], mapDictionary["title"], mapDictionary["diff"], mapDictionary["raw"]);

            if (b?.MapId > -1 && !(string.IsNullOrWhiteSpace(b.ArtistRoman) || string.IsNullOrWhiteSpace(b.TitleRoman)))
            {
                result.BeatmapsFound.Add(b);
            }
            result.MapSearchString = mapDictionary["raw"];
            return(result);
        }
        public MapSearchResult FindBeatmap(MapSearchArgs searchArgs)
        {
            var     result  = new MapSearchResult();
            Beatmap beatmap = null;

            if (searchArgs.MapId > 0)
            {
                beatmap = _sqliteControler.GetBeatmap(searchArgs.MapId);
            }
            if (beatmap == null || (beatmap.MapId <= 0))
            {
                if (!(string.IsNullOrEmpty(searchArgs.Artist) && string.IsNullOrEmpty(searchArgs.Title)) || !string.IsNullOrEmpty(searchArgs.Raw))
                {
                    beatmap = _sqliteControler.GetBeatmap(searchArgs.Artist, searchArgs.Title, searchArgs.Diff, searchArgs.Raw);
                }
            }

            if (beatmap?.MapId > -1 && !(string.IsNullOrWhiteSpace(beatmap.ArtistRoman) || string.IsNullOrWhiteSpace(beatmap.TitleRoman)))
            {
                result.BeatmapsFound.Add(beatmap);
            }
            result.MapSearchString = searchArgs.Raw;
            return(result);
        }