using System.Collections.Generic; using System.Linq; using NzbDrone.Core.Parser.Model; namespace NzbDrone.Core.DecisionEngine { public class DownloadDecision { public RemoteMovie RemoteMovie { get; private set; } public IEnumerable Rejections { get; private set; } public bool Approved => !Rejections.Any(); public bool TemporarilyRejected { get { return Rejections.Any() && Rejections.All(r => r.Type == RejectionType.Temporary); } } public bool Rejected { get { return Rejections.Any() && Rejections.Any(r => r.Type == RejectionType.Permanent); } } public DownloadDecision(RemoteMovie movie, params Rejection[] rejections) { RemoteMovie = movie; Rejections = rejections.ToList(); } public override string ToString() { if (Approved) { return "[OK] " + RemoteMovie; } return "[Rejected " + Rejections.Count() + "]" + RemoteMovie; } } }