Radarr/src/NzbDrone.Core/ImportLists/TMDb/Popular/TMDbPopularSettings.cs

38 lines
1.2 KiB
C#
Raw Normal View History

using FluentValidation;
2019-12-15 07:34:27 +00:00
using NzbDrone.Core.Annotations;
using NzbDrone.Core.Validation;
2019-12-15 07:34:27 +00:00
namespace NzbDrone.Core.ImportLists.TMDb.Popular
2019-12-15 07:34:27 +00:00
{
public class TMDbPopularSettingsValidator : TMDbSettingsBaseValidator<TMDbPopularSettings>
{
public TMDbPopularSettingsValidator()
{
RuleFor(c => c.TMDbListType).NotNull();
2019-12-15 07:34:27 +00:00
RuleFor(c => c.FilterCriteria).SetValidator(_ => new TMDbFilterSettingsValidator());
}
}
public class TMDbPopularSettings : TMDbSettingsBase<TMDbPopularSettings>
{
private static readonly TMDbPopularSettingsValidator Validator = new ();
2019-12-15 07:34:27 +00:00
public TMDbPopularSettings()
{
TMDbListType = (int)TMDbPopularListType.Popular;
2019-12-15 07:34:27 +00:00
}
[FieldDefinition(1, Label = "List Type", Type = FieldType.Select, SelectOptions = typeof(TMDbPopularListType), HelpText = "Type of list your seeking to import from")]
public int TMDbListType { get; set; }
2019-12-15 07:34:27 +00:00
[FieldDefinition(2)]
public TMDbFilterSettings FilterCriteria { get; set; } = new ();
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
2019-12-15 07:34:27 +00:00
}
}