private static IObservable <Unit> AddNonSecuredTypes(this ApplicationModulesManager applicationModulesManager) { return(applicationModulesManager.Modules.OfType <ReactiveModule>().ToObservable() .SelectMany(_ => _.ModifyTypesInfo) .Select(_ => _.PersistentTypes.Where(info => info.Attributes.OfType <NonSecuredTypeAttrbute>().Any()) .Select(info => info.Type)) .Do(infos => { var xafApplication = applicationModulesManager.Application(); xafApplication?.AddNonSecuredType(infos.ToArray()); }) .ToUnit()); }
public static ModelApplicationBase CreateModel(this ApplicationModulesManager manager, IEnumerable <string> aspects, ModelStoreBase modelDifferenceStore = null) { ApplicationModelManager applicationModelManager = new ApplicationModelManager(); var application = manager.Application(); var modelAssemblyFilePath = application.CallMethod("GetModelAssemblyFilePath") as string; applicationModelManager.Setup(XafTypesInfo.Instance, manager.DomainComponents, manager.Modules, manager.ControllersManager.Controllers, application.ResourcesExportedToModel, aspects, modelDifferenceStore, modelAssemblyFilePath); return(applicationModelManager.CreateModelApplication(new ModelApplicationBase[0])); }