public ActionResult Install(string id) { if (String.IsNullOrEmpty(id)) { throw new ArgumentNullException("id"); } var projectManager = GetProjectManager(); var packages = projectManager.SourceRepository.FindPackagesById(id).OrderByDescending(p => p.Version); if (packages == null) { throw new InvalidOperationException("Package does not exist"); } var package = packages.FirstOrDefault(); if (package == null) { throw new InvalidOperationException("Package does not exist"); } projectManager.InstallPackage(package); // Get the skin. var skinEngine = new SkinEngine(); var skinsWithoutMobileOnly = skinEngine.GetSkinTemplatesGroupedByFolder(mobileOnly: false); var packageViewModel = new PackageViewModel(package, skinsWithoutMobileOnly, GetSkinIconImage, mobileOnly: false); if (Request.IsAjaxRequest()) { return(Json(packageViewModel, JsonRequestBehavior.AllowGet)); } return(View(package)); }
private IEnumerable <PackageViewModel> GetPackagesFromSkinTemplates(bool mobileOnly) { var packages = NuGetService.LocalRepository.GetPackages(); var skinEngine = new SkinEngine(); var skins = skinEngine.GetSkinTemplatesGroupedByFolder(mobileOnly: mobileOnly); return(from p in packages where skins.ContainsKey(p.Id) select new PackageViewModel(p, skins, GetSkinIconImage, mobileOnly)); }