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>()); } }
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()); }