@@ -286,26 +286,28 @@ public static Replay ParseReplay(Stream fileStream)
286
286
/// <exception cref="NotImplementedException">
287
287
/// Thrown when the search mode is not implemented.
288
288
/// </exception>
289
- public static List < Replay > SearchReplays ( SearchMode mode , string query , IQueryable < Replay > queryable )
289
+ public static List < Replay > SearchReplays ( SearchMode mode , string query , ReplayDbContext context )
290
290
{
291
+ var queryable = context . Replays . AsQueryable ( ) ;
292
+
291
293
switch ( mode )
292
294
{
293
295
case SearchMode . Map :
294
- return queryable . Where ( x => x . Map . Contains ( query ) ) . ToList ( ) ;
296
+ return queryable . Where ( x => x . Map . ToLower ( ) . Contains ( query . ToLower ( ) ) ) . ToList ( ) ;
295
297
case SearchMode . Gamemode :
296
- return queryable . Where ( x => x . Gamemode . Contains ( query ) ) . ToList ( ) ;
298
+ return queryable . Where ( x => x . Gamemode . ToLower ( ) . Contains ( query . ToLower ( ) ) ) . ToList ( ) ;
297
299
case SearchMode . ServerId :
298
- return queryable . Where ( x => x . ServerId . Contains ( query ) ) . ToList ( ) ;
300
+ return queryable . Where ( x => x . ServerId . ToLower ( ) . Contains ( query . ToLower ( ) ) ) . ToList ( ) ;
299
301
case SearchMode . Guid :
300
302
return queryable . Where ( x => ( x . RoundEndPlayers ?? new List < Player > { } ) . Any ( y => y . PlayerGuid . ToString ( ) . Contains ( query , StringComparison . CurrentCultureIgnoreCase ) ) ) . ToList ( ) ;
301
303
case SearchMode . PlayerIcName :
302
- return queryable . Where ( x => ( x . RoundEndPlayers ?? new List < Player > { } ) . Any ( y => y . PlayerIcName . Contains ( query , StringComparison . CurrentCultureIgnoreCase ) ) ) . ToList ( ) ;
304
+ return queryable . Where ( x => ( x . RoundEndPlayers ?? new List < Player > { } ) . Any ( y => y . PlayerIcName . ToLower ( ) . Contains ( query . ToLower ( ) ) ) ) . ToList ( ) ;
303
305
case SearchMode . PlayerOocName :
304
- return queryable . Where ( x => ( x . RoundEndPlayers ?? new List < Player > { } ) . Any ( y => y . PlayerOocName . Contains ( query , StringComparison . CurrentCultureIgnoreCase ) ) ) . ToList ( ) ;
306
+ return queryable . Include ( replay => replay . RoundEndPlayers ) . AsEnumerable ( ) . Where ( x => ( x . RoundEndPlayers ?? new List < Player > { } ) . Any ( y => y . PlayerOocName . Contains ( query , StringComparison . CurrentCultureIgnoreCase ) ) ) . ToList ( ) ;
305
307
case SearchMode . RoundEndText :
306
- return queryable . Where ( x => x . RoundEndText != null && x . RoundEndText . Contains ( query , StringComparison . CurrentCultureIgnoreCase ) ) . ToList ( ) ;
308
+ return queryable . Where ( x => x . RoundEndText != null && x . RoundEndText . ToLower ( ) . Contains ( query . ToLower ( ) ) ) . ToList ( ) ;
307
309
case SearchMode . ServerName :
308
- return queryable . Where ( x => x . ServerName != null && x . ServerName . Contains ( query , StringComparison . CurrentCultureIgnoreCase ) ) . ToList ( ) ;
310
+ return queryable . Where ( x => x . ServerName != null && x . ServerName . ToLower ( ) . Contains ( query . ToLower ( ) ) ) . ToList ( ) ;
309
311
default :
310
312
throw new NotImplementedException ( ) ;
311
313
}
0 commit comments