예제 #1
0
 public static List <Beatmap> GetAllBeatmaps(this AppDbOperator op)
 {
     try
     {
         return(op.ThreadedProvider.Query <Beatmap>(TABLE_BEATMAP).ToList());
     }
     catch (Exception ex)
     {
         Logger.Error(ex, "Error while calling GetAllBeatmaps().");
         throw;
     }
 }
예제 #2
0
 public static Beatmap GetBeatmapByIdentifiable(this AppDbOperator op, IMapIdentifiable id)
 {
     try
     {
         return(op.ThreadedProvider.Query <Beatmap>(TABLE_BEATMAP,
                                                    new Where[]
         {
             ("version", id.Version),
             ("folderName", id.FolderName)
         },
                                                    count: 1).FirstOrDefault());
     }
예제 #3
0
        public static List <Beatmap> SearchBeatmapByOptions(this AppDbOperator op, string searchText, BeatmapSortMode beatmapSortMode, int startIndex, int count)
        {
            var expando    = new DynamicParameters();
            var command    = " SELECT * FROM beatmap WHERE ";
            var keywordSql = GetKeywordQueryAndArgs(searchText, ref expando);
            var sort       = GetOrderAndTakeQueryAndArgs(beatmapSortMode, startIndex, count);
            var sw         = Stopwatch.StartNew();

            try
            {
                return(op.ThreadedProvider.GetDbConnection().Query <Beatmap>(command + keywordSql + sort, expando)
                       .ToList());
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Error while calling SearchBeatmapByOptions().");
                throw;
            }
            finally
            {
                Logger.Debug("查询花费: {0}", sw.ElapsedMilliseconds);
                sw.Stop();
            }
        }