mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-14 02:37:08 -07:00
Quality moved to ObjectDb.
This commit is contained in:
parent
065b86c159
commit
c6836e0cb1
79 changed files with 800 additions and 966 deletions
73
NzbDrone.Core/Qualities/QualitySizeService.cs
Normal file
73
NzbDrone.Core/Qualities/QualitySizeService.cs
Normal file
|
@ -0,0 +1,73 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using NLog;
|
||||
using NzbDrone.Core.Lifecycle;
|
||||
|
||||
namespace NzbDrone.Core.Qualities
|
||||
{
|
||||
public interface IQualitySizeService
|
||||
{
|
||||
void Update(QualitySize qualitySize);
|
||||
void UpdateAll(List<QualitySize> qualitySizes);
|
||||
List<QualitySize> All();
|
||||
QualitySize Get(int qualityId);
|
||||
}
|
||||
|
||||
public class QualitySizeService : IQualitySizeService, IInitializable
|
||||
{
|
||||
private readonly IQualitySizeRepository _qualitySizeRepository;
|
||||
private readonly Logger _logger;
|
||||
|
||||
public QualitySizeService(IQualitySizeRepository qualitySizeRepository, Logger logger)
|
||||
{
|
||||
_qualitySizeRepository = qualitySizeRepository;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public virtual void Update(QualitySize qualitySize)
|
||||
{
|
||||
_qualitySizeRepository.Update(qualitySize);
|
||||
}
|
||||
|
||||
public virtual void UpdateAll(List<QualitySize> qualitySizes)
|
||||
{
|
||||
_qualitySizeRepository.UpdateMany(qualitySizes);
|
||||
}
|
||||
|
||||
public virtual List<QualitySize> All()
|
||||
{
|
||||
return _qualitySizeRepository.All().ToList();
|
||||
}
|
||||
|
||||
public virtual QualitySize Get(int qualityId)
|
||||
{
|
||||
return _qualitySizeRepository.GetByQualityId(qualityId);
|
||||
}
|
||||
|
||||
public void Init()
|
||||
{
|
||||
var inDb = All();
|
||||
|
||||
_logger.Debug("Setting up default quality sizes");
|
||||
|
||||
foreach (var quality in Quality.All())
|
||||
{
|
||||
//Skip UNKNOWN
|
||||
if (quality.Id == 0) continue;
|
||||
|
||||
var db = inDb.SingleOrDefault(s => s.QualityId == quality.Id);
|
||||
|
||||
if(db == null)
|
||||
_qualitySizeRepository.Insert(new QualitySize
|
||||
{
|
||||
QualityId = quality.Id,
|
||||
Name = quality.Name,
|
||||
MinSize = 0,
|
||||
MaxSize = 100
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue