Duplicated root folders are now blocked.

This commit is contained in:
kay.one 2012-01-18 21:04:55 -08:00
commit d967d4198c
3 changed files with 21 additions and 15 deletions

View file

@ -34,7 +34,15 @@ namespace NzbDrone.Core.Providers
public virtual void Add(RootDir rootDir)
{
ValidatePath(rootDir);
if (String.IsNullOrWhiteSpace(rootDir.Path) || !Path.IsPathRooted(rootDir.Path))
throw new ArgumentException("Invalid path");
if (!_diskProvider.FolderExists(rootDir.Path))
throw new DirectoryNotFoundException("Can't add root directory that doesn't exist.");
if (GetAll().Exists(r => DiskProvider.PathEquals(r.Path, rootDir.Path)))
throw new InvalidOperationException("Root directory already exist.");
_database.Insert(rootDir);
}
@ -43,19 +51,6 @@ namespace NzbDrone.Core.Providers
_database.Delete<RootDir>(rootDirId);
}
private void ValidatePath(RootDir rootDir)
{
if (String.IsNullOrWhiteSpace(rootDir.Path) || !Path.IsPathRooted(rootDir.Path))
{
throw new ArgumentException("Invalid path");
}
if (!_diskProvider.FolderExists(rootDir.Path))
{
throw new DirectoryNotFoundException("Can't add root directory that doesn't exist.");
}
}
public List<String> GetUnmappedFolders(string path)
{
Logger.Debug("Generating list of unmapped folders");