Added some extra code around erroneous Qualities in ProfileService

This commit is contained in:
Joseph Milazzo 2017-05-29 13:05:18 -05:00
parent 1024555f75
commit 7dcacffec7
2 changed files with 9 additions and 4 deletions

View File

@ -6,6 +6,7 @@ using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Parser; using NzbDrone.Core.Parser;
using NzbDrone.Core.Qualities; using NzbDrone.Core.Qualities;
using NzbDrone.Core.Tv; using NzbDrone.Core.Tv;
using NzbDrone.Core.Music;
namespace NzbDrone.Core.Profiles namespace NzbDrone.Core.Profiles
{ {
@ -22,13 +23,13 @@ namespace NzbDrone.Core.Profiles
public class ProfileService : IProfileService, IHandle<ApplicationStartedEvent> public class ProfileService : IProfileService, IHandle<ApplicationStartedEvent>
{ {
private readonly IProfileRepository _profileRepository; private readonly IProfileRepository _profileRepository;
private readonly ISeriesService _seriesService; private readonly IArtistService _artistService;
private readonly Logger _logger; private readonly Logger _logger;
public ProfileService(IProfileRepository profileRepository, ISeriesService seriesService, Logger logger) public ProfileService(IProfileRepository profileRepository, IArtistService artistService, Logger logger)
{ {
_profileRepository = profileRepository; _profileRepository = profileRepository;
_seriesService = seriesService; _artistService = artistService;
_logger = logger; _logger = logger;
} }
@ -44,7 +45,7 @@ namespace NzbDrone.Core.Profiles
public void Delete(int id) public void Delete(int id)
{ {
if (_seriesService.GetAllSeries().Any(c => c.ProfileId == id)) if (_artistService.GetAllArtists().Any(c => c.ProfileId == id))
{ {
throw new ProfileInUseException(id); throw new ProfileInUseException(id);
} }

View File

@ -103,6 +103,10 @@ namespace NzbDrone.Core.Qualities
public static Quality FindById(int id) public static Quality FindById(int id)
{ {
if (id == 0) return Unknown; if (id == 0) return Unknown;
else if (id > AllLookup.Length)
{
throw new ArgumentException("ID does not match a known quality", nameof(id));
}
var quality = AllLookup[id]; var quality = AllLookup[id];