public ModelApplicationBase GetMasterModel(bool tryToUseCurrentTypesInfo, Action <ITypesInfo> action = null) { _typesInfo = TypesInfoBuilder.Create() .FromModule(_moduleName) .Build(tryToUseCurrentTypesInfo); _xafApplication = ApplicationBuilder.Create(). UsingTypesInfo(s => _typesInfo). FromModule(_moduleName). Build(); return(GetMasterModel(_xafApplication, action)); }
public ModelApplicationBase GetMasterModel(bool tryToUseCurrentTypesInfo, Action <ITypesInfo> action = null) { ModelApplicationBase masterModel = null; Retry.Do(() => { _typesInfo = TypesInfoBuilder.Create() .FromModule(_moduleName) .Build(tryToUseCurrentTypesInfo); _xafApplication = ApplicationBuilder.Create(). UsingTypesInfo(s => _typesInfo). FromModule(_moduleName). Build(); masterModel = GetMasterModel(_xafApplication, action); }, TimeSpan.FromTicks(1), 2); return(masterModel); }
public ModelApplicationBase GetMasterModel(bool tryToUseCurrentTypesInfo, Action <ITypesInfo> action = null) { if (!File.Exists(_moduleName)) { throw new UserFriendlyException(_moduleName + " not found in path"); } ModelApplicationBase masterModel = null; Retry.Do(() => { _typesInfo = TypesInfoBuilder.Create() .FromModule(_moduleName) .Build(tryToUseCurrentTypesInfo); _xafApplication = ApplicationBuilder.Create(). UsingTypesInfo(s => _typesInfo). FromModule(_moduleName). Build(); masterModel = GetMasterModel(_xafApplication, action); }, TimeSpan.FromTicks(1), 2); return(masterModel); }
public static void AddKnownTypes(string modulePath) { InterfaceBuilder.SkipAssemblyCleanup = true; var instance = XafTypesInfo.Instance; var modelLoader = new ModelLoader(modulePath, instance); modulePath = Path.GetFullPath(modulePath); var typesInfo = TypesInfoBuilder.Create().FromModule(modulePath).Build(false); var xafApplication = ApplicationBuilder.Create() .UsingTypesInfo(s => typesInfo) .FromModule(modulePath) .FromAssembliesPath(Path.GetDirectoryName(modulePath)) .WithOutObjectSpaceProvider() .Build(); modelLoader.GetMasterModel(xafApplication); AddKnownTypesForAll(typesInfo); instance.AssignAsInstance(); xafApplication.Dispose(); InterfaceBuilder.SkipAssemblyCleanup = true; }