using System; using System.Collections.Generic; using System.Linq; using System.Text; using NLog; using NzbDrone.Core.Repository.Quality; using PetaPoco; namespace NzbDrone.Core.Providers { public class QualityTypeProvider { private readonly IDatabase _database; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); public QualityTypeProvider(IDatabase database) { _database = database; } public QualityTypeProvider() { } public virtual void Update(QualityType qualityType) { _database.Update(qualityType); } public virtual void UpdateAll(List qualityTypes) { _database.UpdateMany(qualityTypes); } public virtual List All() { return _database.Fetch(); } public virtual QualityType Get(int qualityTypeId) { return _database.Single(qualityTypeId); } public virtual List GetList(List qualityTypeIds) { var queryParams = String.Join(", ", qualityTypeIds); var query = String.Format("WHERE QualityTypeId IN ({0})", queryParams); return _database.Fetch(query); } public virtual void SetupDefault() { if (All().Count != 0) return; Logger.Debug("Setting up default quality types"); var qualityTypes = new List(); qualityTypes.Add(new QualityType { QualityTypeId = 1, Name = "SDTV", MinSize = 0, MaxSize = 100 }); qualityTypes.Add(new QualityType { QualityTypeId = 2, Name = "DVD", MinSize = 0, MaxSize = 100 }); qualityTypes.Add(new QualityType { QualityTypeId = 4, Name = "HDTV", MinSize = 0, MaxSize = 100 }); qualityTypes.Add(new QualityType { QualityTypeId = 5, Name = "WEBDL", MinSize = 0, MaxSize = 100 }); qualityTypes.Add(new QualityType { QualityTypeId = 6, Name = "Bluray720p", MinSize = 0, MaxSize = 100 }); qualityTypes.Add(new QualityType { QualityTypeId = 7, Name = "Bluray1080p", MinSize = 0, MaxSize = 100 }); _database.InsertMany(qualityTypes); } } }