Example #1
0
 public List <Beatmap> GetBeatmapsByMapInfo(List <BeatmapSettings> settings, TimeSortMode sortMode)
 {
     try
     {
         return(_dbOperator.GetBeatmapsByMapInfo(settings, sortMode));
     }
     catch (Exception ex)
     {
         Notification.Push($"Error while getting maps from collection: {ex.Message}");
         return(new List <Beatmap>());
     }
 }
Example #2
0
        public List <Beatmap> GetBeatmapsByMapInfo(List <MapInfo> reqList, TimeSortMode sortMode)
        {
            var entities = GetBeatmapsByIdentifiable(reqList);

            var newList = reqList.Join(entities,
                                       mapInfo => mapInfo.GetIdentity(),
                                       entry => entry.GetIdentity(),
                                       (mapInfo, entry) => new
            {
                entry,
                playTime = mapInfo.LastPlayTime ?? new DateTime(),
                addTime  = mapInfo.AddTime ?? new DateTime()
            });

            return(sortMode == TimeSortMode.PlayTime
                ? newList.OrderByDescending(k => k.playTime).Select(k => k.entry).ToList()
                : newList.OrderByDescending(k => k.addTime).Select(k => k.entry).ToList());
        }