static void reflect(IEnumerable <FileSettingText> configs) { Assembly[] AssembliesLoaded = AppDomain.CurrentDomain.GetAssemblies(); foreach (FileSettingText config in configs) { foreach (InjectSettingText injSetting in config.InjectSettings) { string path = injSetting.Assembly; var assemblies = new Assembly[] { Assembly.LoadFile(path) }; iInjector injectObj = Global.getTypedObject <iInjector>(assemblies, injSetting.Injector); if (injectObj == null) { Global.LogError(""); continue; } IEnumerable <string> aaa = injSetting.Templates.Trim('[', ']').Split(',').Select(obj => obj.Trim()); List <iTemplate> templateList = new List <iTemplate>(); foreach (string templates in aaa) { iTemplate template = Global.getTypedObject <iTemplate>(assemblies, templates); if (template == null) { Global.LogError(""); continue; } templateList.Add(template); } iInitValue initValue = injectObj.getInitValue(); iInputValue inputValue = injectObj.getInputValue(); initValue.setValue(injSetting.InitValue); inputValue.setValue(injSetting.InputValue); Global.dicTemplates.Add(config.Name, templateList); Global.dicInput.Add(config.Name, inputValue); Global.dicInit.Add(config.Name, initValue); Global.dicInject.Add(config.Name, injectObj); } Global.dicSetting.Add(config.Name, config); } }
public ActionResult CreateView(int tableid, string viewtype) { try { iTemplate template = null; switch (viewtype) { case "SINGLE_VIEW": template = new SingleViewTemplate(tableid); break; case "MASTER_DETAIL": template = new MasterDetailViewTemplate(tableid); break; case "MASTER_SIDE": template = new MasterSideViewTemplate(tableid); break; case "EDIT_ON_TABLE": template = new EditOnTableTemplate(tableid); break; } if (template == null) { throw new Exception("not implement template [" + viewtype + "]"); } template.CreateView(Server.MapPath(MyConfig.OutputTemplateFolder)); return(Json(true)); } catch (Exception ex) { return(Json("#error:" + ex.Message)); } }