2013-11-14 02:02:27 +00:00
|
|
|
namespace NzbDrone.Core.Organizer
|
|
|
|
{
|
|
|
|
public interface INamingConfigService
|
|
|
|
{
|
|
|
|
NamingConfig GetConfig();
|
|
|
|
void Save(NamingConfig namingConfig);
|
|
|
|
}
|
|
|
|
|
|
|
|
public class NamingConfigService : INamingConfigService
|
|
|
|
{
|
2015-05-03 19:46:21 +00:00
|
|
|
private readonly INamingConfigRepository _repository;
|
2013-11-14 02:02:27 +00:00
|
|
|
|
2015-05-03 19:46:21 +00:00
|
|
|
public NamingConfigService(INamingConfigRepository repository)
|
2013-11-14 02:02:27 +00:00
|
|
|
{
|
|
|
|
_repository = repository;
|
|
|
|
}
|
|
|
|
|
|
|
|
public NamingConfig GetConfig()
|
|
|
|
{
|
|
|
|
var config = _repository.SingleOrDefault();
|
|
|
|
|
|
|
|
if (config == null)
|
|
|
|
{
|
2018-05-24 21:51:05 +00:00
|
|
|
lock (_repository)
|
|
|
|
{
|
|
|
|
config = _repository.SingleOrDefault();
|
|
|
|
|
|
|
|
if (config == null)
|
|
|
|
{
|
|
|
|
_repository.Insert(NamingConfig.Default);
|
|
|
|
config = _repository.Single();
|
|
|
|
}
|
|
|
|
}
|
2013-11-14 02:02:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return config;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void Save(NamingConfig namingConfig)
|
|
|
|
{
|
|
|
|
_repository.Upsert(namingConfig);
|
|
|
|
}
|
|
|
|
}
|
2018-05-24 21:51:05 +00:00
|
|
|
}
|