using System.Collections.Generic; using System.Data; using System.Linq; using NzbDrone.Common.Messaging; using NzbDrone.Core.Datastore; namespace NzbDrone.Core.MediaFiles { public interface IMediaFileRepository : IBasicRepository { EpisodeFile GetFileByPath(string path); List GetFilesBySeries(int seriesId); List GetFilesBySeason(int seriesId, int seasonNumber); } public class MediaFileRepository : BasicRepository, IMediaFileRepository { public MediaFileRepository(IDatabase database, IMessageAggregator messageAggregator) : base(database, messageAggregator) { } public EpisodeFile GetFileByPath(string path) { return Query.SingleOrDefault(c => c.Path == path); } public List GetFilesBySeries(int seriesId) { return Query.Where(c => c.SeriesId == seriesId).ToList(); } public List GetFilesBySeason(int seriesId, int seasonNumber) { return Query.Where(c => c.SeriesId == seriesId && c.SeasonNumber == seasonNumber).ToList(); } } }