public ActionResult Quality() { var profiles = _qualityProvider.All(); var defaultQualityQualityProfileId = Convert.ToInt32(_configProvider.DefaultQualityProfile); var qualityProfileSelectList = new SelectList(profiles, "QualityProfileId", "Name"); var qualityTypesFromDb = _qualityTypeProvider.All(); var model = new QualityModel { DefaultQualityProfileId = defaultQualityQualityProfileId, QualityProfileSelectList = qualityProfileSelectList, SdtvMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 1).MaxSize, DvdMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 2).MaxSize, HdtvMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 4).MaxSize, Webdl720pMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 5).MaxSize, Webdl1080pMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 3).MaxSize, Bluray720pMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 6).MaxSize, Bluray1080pMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 7).MaxSize }; ViewData["Profiles"] = profiles.Select(s => s.QualityProfileId).ToList(); return(View(model)); }
public JsonResult SaveQuality(QualityModel data) { if (ModelState.IsValid) { _configProvider.DefaultQualityProfile = data.DefaultQualityProfileId; //Saves only the Default Quality, skips User Profiles since none exist if (data.Profiles == null) return GetSuccessResult(); foreach (var profileModel in data.Profiles) { Logger.Debug(String.Format("Updating Profile: {0}", profileModel)); var profile = new QualityProfile(); profile.QualityProfileId = profileModel.QualityProfileId; profile.Name = profileModel.Name; profile.Cutoff = (QualityTypes)profileModel.Cutoff; profile.Allowed = new List<QualityTypes>(); if (profileModel.Sdtv) profile.Allowed.Add(QualityTypes.SDTV); if (profileModel.Dvd) profile.Allowed.Add(QualityTypes.DVD); if (profileModel.Hdtv) profile.Allowed.Add(QualityTypes.HDTV); if (profileModel.Webdl720p) profile.Allowed.Add(QualityTypes.WEBDL720p); if (profileModel.Webdl1080p) profile.Allowed.Add(QualityTypes.WEBDL1080p); if (profileModel.Bluray720p) profile.Allowed.Add(QualityTypes.Bluray720p); if (profileModel.Bluray1080p) profile.Allowed.Add(QualityTypes.Bluray1080p); //If the Cutoff value selected is not in the allowed list then return an error if (!profile.Allowed.Contains(profile.Cutoff)) return GetInvalidModelResult(); _qualityProvider.Update(profile); } var qualityTypesFromDb = _qualityTypeProvider.All(); qualityTypesFromDb.Single(q => q.QualityTypeId == 1).MaxSize = data.SdtvMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 2).MaxSize = data.DvdMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 4).MaxSize = data.HdtvMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 5).MaxSize = data.Webdl720pMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 3).MaxSize = data.Webdl1080pMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 6).MaxSize = data.Bluray720pMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 7).MaxSize = data.Bluray1080pMaxSize; _qualityTypeProvider.UpdateAll(qualityTypesFromDb); return GetSuccessResult(); } return GetInvalidModelResult(); }
public ActionResult Quality() { var profiles = _qualityProvider.All(); var defaultQualityQualityProfileId = Convert.ToInt32(_configProvider.DefaultQualityProfile); var qualityProfileSelectList = new SelectList(profiles, "QualityProfileId", "Name"); var qualityTypesFromDb = _qualityTypeProvider.All(); var model = new QualityModel { DefaultQualityProfileId = defaultQualityQualityProfileId, QualityProfileSelectList = qualityProfileSelectList, SdtvMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 1).MaxSize, DvdMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 2).MaxSize, HdtvMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 4).MaxSize, Webdl720pMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 5).MaxSize, Webdl1080pMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 3).MaxSize, Bluray720pMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 6).MaxSize, Bluray1080pMaxSize = qualityTypesFromDb.Single(q => q.QualityTypeId == 7).MaxSize }; ViewData["Profiles"] = profiles; return View(model); }
public JsonResult SaveQuality(QualityModel data) { if (ModelState.IsValid) { _configProvider.DefaultQualityProfile = data.DefaultQualityProfileId; //Saves only the Default Quality, skips User Profiles since none exist if (data.Profiles == null) { return(GetSuccessResult()); } foreach (var profileModel in data.Profiles) { Logger.Debug(String.Format("Updating Profile: {0}", profileModel)); var profile = new QualityProfile(); profile.QualityProfileId = profileModel.QualityProfileId; profile.Name = profileModel.Name; profile.Cutoff = (QualityTypes)profileModel.Cutoff; profile.Allowed = new List <QualityTypes>(); if (profileModel.Sdtv) { profile.Allowed.Add(QualityTypes.SDTV); } if (profileModel.Dvd) { profile.Allowed.Add(QualityTypes.DVD); } if (profileModel.Hdtv) { profile.Allowed.Add(QualityTypes.HDTV720p); } if (profileModel.Webdl720p) { profile.Allowed.Add(QualityTypes.WEBDL720p); } if (profileModel.Webdl1080p) { profile.Allowed.Add(QualityTypes.WEBDL1080p); } if (profileModel.Bluray720p) { profile.Allowed.Add(QualityTypes.Bluray720p); } if (profileModel.Bluray1080p) { profile.Allowed.Add(QualityTypes.Bluray1080p); } //If the Cutoff value selected is not in the allowed list then return an error if (!profile.Allowed.Contains(profile.Cutoff)) { return(GetInvalidModelResult()); } _qualityProvider.Update(profile); } var qualityTypesFromDb = _qualityTypeProvider.All(); qualityTypesFromDb.Single(q => q.QualityTypeId == 1).MaxSize = data.SdtvMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 2).MaxSize = data.DvdMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 4).MaxSize = data.HdtvMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 5).MaxSize = data.Webdl720pMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 3).MaxSize = data.Webdl1080pMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 6).MaxSize = data.Bluray720pMaxSize; qualityTypesFromDb.Single(q => q.QualityTypeId == 7).MaxSize = data.Bluray1080pMaxSize; _qualityTypeProvider.UpdateAll(qualityTypesFromDb); return(GetSuccessResult()); } return(GetInvalidModelResult()); }