Compare commits

..

1 Commits

Author SHA1 Message Date
Bogdan
0660b697ed New: Add Monitored specification to Auto Tagging
(cherry picked from commit 8bd91bd86b5955da5d19c9f866e7de701b843e7b)
2023-08-01 23:59:43 +00:00
2 changed files with 28 additions and 42 deletions

View File

@@ -0,0 +1,28 @@
using FluentValidation;
using NzbDrone.Core.Tv;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.AutoTagging.Specifications
{
public class MonitoredSpecificationValidator : AbstractValidator<MonitoredSpecification>
{
}
public class MonitoredSpecification : AutoTaggingSpecificationBase
{
private static readonly MonitoredSpecificationValidator Validator = new ();
public override int Order => 1;
public override string ImplementationName => "Monitored";
protected override bool IsSatisfiedByWithoutNegate(Series series)
{
return series.Monitored;
}
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
}
}

View File

@@ -1,42 +0,0 @@
using FluentValidation;
using NzbDrone.Core.Annotations;
using NzbDrone.Core.Tv;
using NzbDrone.Core.Validation;
namespace NzbDrone.Core.AutoTagging.Specifications
{
public class YearSpecificationValidator : AbstractValidator<YearSpecification>
{
public YearSpecificationValidator()
{
RuleFor(c => c.Min).NotEmpty();
RuleFor(c => c.Min).GreaterThan(0);
RuleFor(c => c.Max).NotEmpty();
RuleFor(c => c.Max).GreaterThan(c => c.Min);
}
}
public class YearSpecification : AutoTaggingSpecificationBase
{
private static readonly YearSpecificationValidator Validator = new ();
public override int Order => 1;
public override string ImplementationName => "Year";
[FieldDefinition(1, Label = "Minimum Year", Type = FieldType.Number)]
public int Min { get; set; }
[FieldDefinition(2, Label = "Maximum Year", Type = FieldType.Number)]
public int Max { get; set; }
protected override bool IsSatisfiedByWithoutNegate(Series series)
{
return series.Year >= Min && series.Year <= Max;
}
public override NzbDroneValidationResult Validate()
{
return new NzbDroneValidationResult(Validator.Validate(this));
}
}
}