Example #1
0
        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));
        }
Example #2
0
 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;
     }
 }
Example #3
0
 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);
 }
Example #4
0
 public BrowseItem(AddonsBrowseModule module, VersionManager.AddOnProduct data)
 {
     Module = module;
     ObjectSupport.CopyData(data, this);
 }