Exemplo n.º 1
0
        public static void RegisterDefaults(this XafApplication application, params ModuleBase[] modules)
        {
            if (modules.Any() && application.Security is SecurityStrategyComplex)
            {
                modules = modules.Add(new TestApplicationModule()).ToArray();
            }

            application.AlwaysUpdateOnDatabaseVersionMismatch().Subscribe();
            var moduleBases = new[] {
                new SystemModule(),
                application is WinApplication ? (ModuleBase) new SystemWindowsFormsModule() : new SystemAspNetModule()
            }.Concat(modules.Concat(new [] { new ReactiveLoggerModule() }));

            if (((ITestApplication)application).TransmitMessage)
            {
                if (Process.GetProcessesByName("Xpand.XAF.Modules.Reactive.Logger.Client.Win").Any())
                {
                    moduleBases = moduleBases.Add(new ReactiveLoggerHubModule());
                }
            }

            foreach (var moduleBase in moduleBases)
            {
                if (application.Modules.All(_ => moduleBase.GetType() != _.GetType()))
                {
                    application.Modules.Add(moduleBase);
                }
            }

            application.AddObjectSpaceProvider();
        }
Exemplo n.º 2
0
        public static void RegisterDefaults(this XafApplication application, params ModuleBase[] modules)
        {
            if (modules.Any() && application.Security is SecurityStrategyComplex)
            {
                if (!modules.OfType <TestApplicationModule>().Any())
                {
                    modules = modules.Add(new TestApplicationModule()).ToArray();
                }
            }

            application.AlwaysUpdateOnDatabaseVersionMismatch().Subscribe();
            object instance;
            var    platform = application.GetPlatform();

            if (platform == Platform.Win)
            {
                instance = (ModuleBase)AppDomain.CurrentDomain
                           .GetAssemblyType("DevExpress.ExpressApp.Win.SystemModule.SystemWindowsFormsModule")
                           .CreateInstance();
            }
            else if (platform == Platform.Web)
            {
                instance = AppDomain.CurrentDomain
                           .GetAssemblyType("DevExpress.ExpressApp.Web.SystemModule.SystemAspNetModule")
                           .CreateInstance();
            }
            else
            {
                instance = AppDomain.CurrentDomain
                           .GetAssemblyType("DevExpress.ExpressApp.Blazor.SystemModule.SystemBlazorModule")
                           .CreateInstance();
            }
            var moduleBases = new[] {
                new SystemModule(),
                instance
            }
            .Concat(modules)
            .Concat(new [] { new ReactiveLoggerModule() })
            ;

            if (((ITestApplication)application).TransmitMessage)
            {
                if (Process.GetProcessesByName("Xpand.XAF.Modules.Reactive.Logger.Client.Win").Any())
                {
                    moduleBases = moduleBases.Add(new ReactiveLoggerHubModule());
                }
            }

            foreach (var moduleBase in moduleBases)
            {
                if (application.Modules.All(_ => moduleBase.GetType() != _.GetType()))
                {
                    application.Modules.AddRange(new [] { moduleBase });
                }
            }

            application.AddObjectSpaceProvider();
        }
Exemplo n.º 3
0
 public static void RegisterInMemoryObjectSpaceProvider(this XafApplication application)
 {
     application.AddObjectSpaceProvider(new XPObjectSpaceProvider(new MemoryDataStoreProvider(), true));
 }
Exemplo n.º 4
0
 public static void AddObjectSpaceProvider(this XafApplication application, params IObjectSpaceProvider[] objectSpaceProviders)
 => application.WhenCreateCustomObjectSpaceProvider()
 .SelectMany(t => application.WhenWeb()
             .Do(api => application.AddObjectSpaceProvider(objectSpaceProviders, t, api.GetService <NonPersistentObjectSpaceProvider>())).ToUnit()
             .SwitchIfEmpty(Unit.Default.ReturnObservable().Do(_ => application.AddObjectSpaceProvider(objectSpaceProviders, t))))
 .Subscribe();