using System.Collections.Generic; using System.Data; using System.Linq; using NzbDrone.Core.Datastore; using ServiceStack.OrmLite; namespace NzbDrone.Core.Tv { public interface ISeriesRepository : IBasicDb { bool SeriesPathExists(string path); List Search(string title); Series GetByTitle(string cleanTitle); Series FindByTvdbId(int tvdbId); void SetSeriesType(int seriesId, SeriesTypes seriesTypes); } public class SeriesRepository : BasicDb, ISeriesRepository { public SeriesRepository(IDbConnection database) : base(database) { } public bool SeriesPathExists(string path) { return Database.Exists("WHERE Path = {0}", path); } public List Search(string title) { return Database.Select(s => s.Title.Contains(title)); } public Series GetByTitle(string cleanTitle) { return Database.Select(s => s.CleanTitle.Equals(cleanTitle)).SingleOrDefault(); } public Series FindByTvdbId(int tvdbId) { return Database.Select(s => s.TvDbId.Equals(tvdbId)).SingleOrDefault(); } public void SetSeriesType(int seriesId, SeriesTypes seriesType) { Database.UpdateOnly(new Series { SeriesType = seriesType }, s => s.SeriesType, s => s.Id == seriesId); } } }