public ActionResult AddonDisplay(string key) { List <VersionManager.AddOnProduct> list = VersionManager.GetAvailableAddOns(); VersionManager.AddOnProduct data = (from l in list where l.AddonKey == key select l).FirstOrDefault(); if (data == null) { throw new Error(this.__ResStr("notFound", "AddOn Info for key \"{0}\" not found"), key); } DisplayModel model = new DisplayModel(); model.SetData(data); return(View(model)); }
public void SetData(VersionManager.AddOnProduct data) { ObjectSupport.CopyData(data, this); JsPathUrl = Utility.PhysicalToUrl(data.JsPath); CssPathUrl = Utility.PhysicalToUrl(data.CssPath); SupportTypesStrings = new List <string>(); foreach (Type t in data.SupportTypes) { SupportTypesStrings.Add(t.FullName); } if (data.SkinInfo != null) { SkinFilePath = data.SkinInfo.Folder; } }
private static string GetPart(string part, Package package, Type recordType, string file, string name) { if (part.StartsWith("[") && part.EndsWith("]") && part.Length > 2) { string[] vars = part.Substring(1, part.Length - 2).Split(new[] { '.' }); if (vars.Length != 2) { throw new InternalError("Invalid variable {0} for column {1} in {2}", part, name, file); } if (vars[0] == "Globals") { FieldInfo fi = typeof(Globals).GetField(vars[1], BindingFlags.Public | BindingFlags.Static); if (fi == null) { throw new InternalError("Globals.{0} doesn't exist - column {1} in {2}", vars[1], name, file); } part = fi.GetValue(null).ToString(); } else if (vars[0] == "Package") { VersionManager.AddOnProduct addonVersion = VersionManager.FindPackageVersion(package.AreaName); foreach (var type in addonVersion.SupportTypes) { object o = Activator.CreateInstance(type); if (o == null) { throw new InternalError($"Type {type.Name} can't be created for area {package.AreaName}"); } FieldInfo fi = type.GetField(vars[1], BindingFlags.Public | BindingFlags.Static); if (fi != null) { part = fi.GetValue(null).ToString(); break; } } } else { throw new InternalError("Unknown variable {0} for column {1} in {2}", part, name, file); } } return(part); }
public BrowseItem(AddonsBrowseModule module, VersionManager.AddOnProduct data) { Module = module; ObjectSupport.CopyData(data, this); }