TrackQuery.cs 527 B

123456789101112131415161718192021222324
  1. using LiteDB;
  2. using RunnersMeet.Server.Domain;
  3. namespace RunnersMeet.Server.Persistence;
  4. public class TrackQuery : IRequestHandler<ObjectId, Track>, IRequestHandler<string, Track>
  5. {
  6. private readonly IDatabase _database;
  7. public TrackQuery(IDatabase database)
  8. {
  9. _database = database;
  10. }
  11. public Track Handle(ObjectId trackId)
  12. {
  13. return _database.Tracks.FindById(trackId);
  14. }
  15. public Track Handle(string fileHash)
  16. {
  17. return _database.Tracks.FindOne(track => track.FileHash == fileHash);
  18. }
  19. }