예제 #1
0
        public PartialViewResult GetQualityProfileView(int profileId)
        {
            var profile = _qualityProvider.Get(profileId);

            var model = new QualityProfileModel();

            model.QualityProfileId = profile.QualityProfileId;
            model.Name             = profile.Name;
            model.Allowed          = profile.Allowed;
            model.Sdtv             = profile.Allowed.Contains(QualityTypes.SDTV);
            model.Dvd         = profile.Allowed.Contains(QualityTypes.DVD);
            model.Hdtv        = profile.Allowed.Contains(QualityTypes.HDTV720p);
            model.Webdl720p   = profile.Allowed.Contains(QualityTypes.WEBDL720p);
            model.Webdl1080p  = profile.Allowed.Contains(QualityTypes.WEBDL1080p);
            model.Bluray720p  = profile.Allowed.Contains(QualityTypes.Bluray720p);
            model.Bluray1080p = profile.Allowed.Contains(QualityTypes.Bluray1080p);
            model.Cutoff      = (int)profile.Cutoff;

            model.SdtvId        = QualityTypes.SDTV.Id;
            model.DvdId         = QualityTypes.DVD.Id;
            model.HdtvId        = QualityTypes.HDTV720p.Id;
            model.Webdl720pId   = QualityTypes.WEBDL720p.Id;
            model.Webdl1080pId  = QualityTypes.WEBDL1080p.Id;
            model.Bluray720pId  = QualityTypes.Bluray720p.Id;
            model.Bluray1080pId = QualityTypes.Bluray1080p.Id;

            return(PartialView("QualityProfileItem", model));
        }
        public override object OnGet(QualityProfileModel request)
        {
            if (request.Id == 0)
            {
                var profiles = _qualityProvider.All();
                return(Mapper.Map <List <QualityProfile>, List <QualityProfileModel> >(profiles));
            }

            var profile = _qualityProvider.Get(request.Id);

            return(Mapper.Map <QualityProfile, QualityProfileModel>(profile));
        }
        public virtual bool IsSatisfiedBy(Episode subject)
        {
            //Used to check if the existing episode can be upgraded by searching (Before we search)
            if (subject.EpisodeFileId == 0)
            {
                return(true);
            }

            var profile = _qualityProvider.Get(subject.Series.QualityProfileId);


            //TODO:How about proper?
            if (subject.EpisodeFile.Quality >= profile.Cutoff)
            {
                return(false);
            }

            return(true);;
        }