internal static IObservable <Unit> Connect(this ApplicationModulesManager manager)
 => manager.WhenApplication(application => {
     var positionInListCreated = application.WhenPositionInListCreated();
     return(positionInListCreated.SortCollectionSource()
            .Merge(positionInListCreated.DisableSorting())
            .Merge(application.ReturnObservable().PositionNewObjects()));
 });
 internal static IObservable <Unit> Connect(this ApplicationModulesManager manager)
 => manager.WhenApplication(application => {
     var whenModelReady = application.WhenModelChanged().Skip(1).Publish().RefCount();
     return(application.WhenStartupView()
            .Merge(application.WhenModelChanged().FirstAsync().RegisterOrganizationNonSecured(application))
            .Merge(whenModelReady.MarkupMessage()));
 });
Beispiel #3
0
 internal static IObservable <Unit> Connect(this  ApplicationModulesManager manager)
 => manager.WhenApplication(application => {
     var cleanStartupNavigationItem = CleanStartupNavigationItem(application);
     var showView = application.ShowView().Publish().RefCount();
     return(showView.EditModel().ToUnit()
            .Merge(showView.ExitApplication(application))
            .Merge(application.HideMainWindow())
            .Merge(cleanStartupNavigationItem));
 });
        internal static IObservable <Unit> Connect(this ApplicationModulesManager manager)
        {
            var whenApplication           = manager.WhenApplication();
            var whenPositionInListCreated = WhenPositionInListCreated(whenApplication);

            return(whenApplication.PositionNewObjects()
                   .Merge(whenPositionInListCreated.SortCollectionSource())
                   .Merge(whenPositionInListCreated.DisableSorting()));
        }
Beispiel #5
0
 internal static IObservable <Unit> HideToolBarConnect(this ApplicationModulesManager manager)
 => manager.WhenApplication(application => application.WhenNestedFrameCreated()
                            .SelectMany(frame => frame.WhenTemplateChanged()
                                        .WhenToolBarNeedHide()
                                        .Do(template => {
     // ((List<IActionControlContainer>) template.ViewActionContainers).Clear();
     // ((List<IActionControlContainer>) template.SelectionIndependentActionContainers).Clear();
     // ((List<IActionControlContainer>) template.SelectionDependentActionContainers).Clear();
 }))).ToUnit();
Beispiel #6
0
 internal static IObservable <Unit> ConnectJobSchedulerNotification(this ApplicationModulesManager manager)
 => manager.WhenApplication(application => application.WhenNotification <Product>()
                            .SelectMany(t => t.objects.Do(product => {
     var testTask     = t.worker.ObjectSpace.CreateObject <TestTask>();
     testTask.Subject = product.Id.ToString();
     t.worker.ObjectSpace.CommitChanges();
 }).ToNowObservable()
                                        .Finally(() => t.worker.NotifyFinish())
                                        .ToUnit()));
Beispiel #7
0
 internal static IObservable <Unit> Connect(this  ApplicationModulesManager manager)
 => manager.WhenApplication(application => application.WhenWindowTemplate()
                            .MultiInstance().Startup().ConfigureForm().NotifyIcon()
                            .ExitAfterModelEdit().CancelExit()
                            .OnWindowDeactivation(window => !window.Model().Exit.OnDeactivation.ApplyInMainWindow)
                            .OnWindowEscape()
                            .Merge(application.WhenPopupWindows()
                                   .ConfigureForm(window => window.Model().Form.PopupWindows)
                                   .OnWindowDeactivation().OnWindowEscape()).ToUnit()
                            .Merge(application.SystemActionsConnect())
                            ).ToUnit();
 private static IObservable <Unit> ConfigureNewJob(this ApplicationModulesManager manager)
 => manager.WhenApplication(application => application.WhenDetailViewCreated(typeof(Xpand.XAF.Modules.JobScheduler.Hangfire.BusinessObjects.Job)))
 .Do(t => {
     var job = (Xpand.XAF.Modules.JobScheduler.Hangfire.BusinessObjects.Job)t.e.View.CurrentObject;
     if (job.IsNewObject)
     {
         job.JobType   = job.JobTypes.First();
         job.JobMethod = job.JobMethods.First();
     }
 })
 .ToUnit();
 internal static IObservable <Unit> Connect(this ApplicationModulesManager manager, Type sequenceStorageType = null)
 {
     sequenceStorageType ??= typeof(SequenceStorage);
     Guard.TypeArgumentIs(typeof(ISequenceStorage), sequenceStorageType, nameof(sequenceStorageType));
     return(manager.WhenApplication(application => application.WhenCompatibilityChecked().FirstAsync().Select(xafApplication => xafApplication.ObjectSpaceProvider)
                                    .Where(provider => !provider.IsInstanceOf("DevExpress.ExpressApp.Security.ClientServer.MiddleTierServerObjectSpaceProvider"))
                                    .SelectMany(provider => provider.SequenceGeneratorDatalayer()
                                                .SelectMany(dataLayer => application.WhenObjectSpaceCreated().GenerateSequences(dataLayer, sequenceStorageType)
                                                            .Merge(application.Security.AddAnonymousType(sequenceStorageType).ToObservable())))
                                    .Merge(application.ConfigureDetailViewSequenceStorage()).ToUnit()));
 }
 internal static IObservable <Unit> Connect(this ApplicationModulesManager manager, Type sequenceStorageType = null)
 {
     sequenceStorageType ??= typeof(SequenceStorage);
     Guard.TypeArgumentIs(typeof(ISequenceStorage), sequenceStorageType, nameof(sequenceStorageType));
     return(manager.WhenApplication(application => {
         var objectSpaceProvider = application.ObjectSpaceProvider == null ? application.WhenSetupComplete()
                                   .Select(_ => application.ObjectSpaceProvider) : application.ObjectSpaceProvider.ReturnObservable();
         return objectSpaceProvider.SelectMany(provider => provider.SequenceGeneratorDatalayer()
                                               .SelectMany(dataLayer => application.WhenObjectSpaceCreated().GenerateSequences(dataLayer, sequenceStorageType)
                                                           .Merge(application.Security.AddAnonymousType(sequenceStorageType).ToObservable())))
         .Merge(application.ConfigureDetailViewSequenceStorage()).ToUnit();
     }));
 }
 internal static IObservable <Unit> DocumentStyleLinkTemplate(this ApplicationModulesManager manager) =>
 new[] { typeof(ApplyTemplateStyle), typeof(BusinessObjects.DocumentStyleManager) }.ToObservable()
 .SelectMany(type => manager.WhenApplication(application => application.WhenViewOnFrame(type, ViewType.DetailView)
                                             .Select(frame => frame.Action("OpenObject")).WhenNotDefault().Cast <SimpleAction>().WhenExecuted()
                                             .SelectMany(_ => {
     var detailView = _.Action.View <DetailView>();
     var document   = (detailView.ObjectTypeInfo.Type == typeof(ApplyTemplateStyle)
                                 ? detailView.ApplyTemplateStyleChangedRichEditControl()
                                 : detailView.DocumentManagerContentRichEditServer()).Document;
     return(((DocumentStyleLinkTemplate)_.ShowViewParameters.CreatedView.CurrentObject).DocumentStyleLinks
            .Do(link => link.SetDefaultPropertiesProvider(document)));
 }).ToUnit().TraceDocumentStyleModule()
                                             ));
        internal static IObservable <Unit> BindConnect(this ApplicationModulesManager manager) =>
        manager.WhenApplication(application => {
            var controlsCreated = application.WhenObjectViewCreated()
                                  .WhenControlsCreated().Select(tuple => tuple)
                                  .Publish().RefCount();

            return(controlsCreated.ViewModelProperties()
                   .Merge(controlsCreated.ViewItemBindData())
                   .Do(tuple => BindTo(tuple))
                   .TraceModelMapper()
                   .ToUnit()
                   .Merge(application.BindLayoutGroupControl().TraceModelMapper().ToUnit()));
        });
Beispiel #13
0
 private static IObservable <Unit> ConfigureNewJob(this ApplicationModulesManager manager)
 => manager.WhenApplication(application => application.WhenDetailViewCreated(typeof(Xpand.XAF.Modules.JobScheduler.Hangfire.BusinessObjects.Job)))
 .Do(t => {
     var job = (Xpand.XAF.Modules.JobScheduler.Hangfire.BusinessObjects.Job)t.e.View.CurrentObject;
     if (job.IsNewObject && job.JobType == null)
     {
         job.JobType   = job.JobTypes.First();
         job.JobMethod = job.JobMethods.First();
     }
     // else if (job is ExecuteActionJob actionJob) {
     //     actionJob.Action = actionJob.Actions.First(s => s.Name=="Delete");
     //     actionJob.View = actionJob.Views.First(s => s.Name=="Product_ListView");
     //     actionJob.Id = Guid.NewGuid().ToString();
     //     actionJob.SelectedObjectsCriteria = $"{nameof(Product.ProductName)}='del'";
     // }
 })
 .ToUnit();
Beispiel #14
0
        internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) =>
        manager.WhenApplication(application => {
            if (!(application is ILoggerHubClientApplication))
            {
                TraceEventHub.Init();
            }
            var startServer = application.StartServer().Publish().RefCount();
            var client      = Observable.Start(application.ConnectClient).Merge().Publish().RefCount();

            application.CleanUpHubResources(startServer);

            var saveServerTraceMessages = application.SaveServerTraceMessages().Publish().RefCount();
            return(startServer.ToUnit()
                   .Merge(client.ToUnit())
                   .Merge(saveServerTraceMessages.ToUnit())
                   .Merge(application.WhenViewOnFrame(typeof(TraceEvent))
                          .SelectMany(frame => saveServerTraceMessages.LoadTracesToListView(frame))));
        });
        public static IObservable <Unit> ConnectDocumentStyleManager(this ApplicationModulesManager manager)
        => manager.WhenApplication(application => application.WhenListViewCreating(typeof(DocumentStyleLinkTemplate))
                                   .SelectMany(t => {
            var nonPersistentObjectSpace  = ((NonPersistentObjectSpace)t.e.ObjectSpace);
            var objectSpaces              = nonPersistentObjectSpace.AdditionalObjectSpaces;
            var needPersistentObjectSpace = objectSpaces.Any(space => space.IsKnownType(t.e.CollectionSource.ObjectTypeInfo.Type));
            IObjectSpace objectSpace      = null;
            if (!needPersistentObjectSpace)
            {
                objectSpace = application.CreateObjectSpace(typeof(DocumentStyleLinkTemplate));
                objectSpaces.Add(objectSpace);
            }

            return(nonPersistentObjectSpace.WhenDisposed().Do(_ => {
                if (needPersistentObjectSpace)
                {
                    objectSpace?.Dispose();
                }
            }));
        }))
        .Do(tuple => {})
        .ToUnit();
 internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) => manager
 .WhenApplication(application => application.RegisterClientScripts().Merge(application.StoreDataSource()));
 internal static IObservable <Unit> Connect(this ApplicationModulesManager manager)
 => manager.DefaultLookupPropertyEditor()
 .Merge(manager.MarkupContentPropertyEditor())
 .Merge(manager.CheckBlazor(typeof(BlazorStartup).FullName, typeof(BlazorModule).Namespace))
 .Merge(manager.WhenApplication(application => application.UseCustomNestedFrameTemplate()
                                .Merge(application.ApplyDxDataGridModel())).ToUnit());
Beispiel #18
0
 internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) =>
 manager.WhenApplication(application => application.WhenAutoCommitObjectViewCreated().AutoCommit().ToUnit());
Beispiel #19
0
 private static IObservable <Unit> WhenTemplateDocumentListViewOnFrame(this ApplicationModulesManager manager,
                                                                       Func <IObservable <NestedFrame>, IObservable <Unit> > nestedFrame)
 => manager.WhenApplication(application => nestedFrame(application
                                                       .WhenViewOnFrame(typeof(TemplateDocument), ViewType.ListView, Nesting.Nested)
                                                       .Cast <NestedFrame>()));
Beispiel #20
0
 internal static IObservable <Unit> Connect(this ApplicationModulesManager manager) =>
 manager.WhenApplication(application => application.WhenViewEditModeChanged().ToUnit()
                         .Merge(application.HandleWebEditAction(), Scheduler.Immediate));
 internal static IObservable <Unit> Connect(this  ApplicationModulesManager manager) => manager.WhenApplication(application => application.RefreshView());
 private static IObservable <Unit> SynchronizeScrolling(this ApplicationModulesManager manager)
 => manager.WhenApplication(application => application.WhenDetailViewCreated().ToDetailView()
                            .SynchronizeScrolling <BusinessObjects.DocumentStyleManager>(style => style.Original, style => style.Content));
 internal static IObservable <Unit> Connect(this  ApplicationModulesManager manager) =>
 manager.WhenApplication().SelectMany(application => application.RememberTopRow().Retry(application).ToUnit());
 internal static IObservable <Unit> Connect(this ApplicationModulesManager manager)
 => manager.WhenApplication(application => application.HideToolBarNestedFrames().HideToolBar().ToUnit());
 internal static IObservable <Unit> DocumentStyleManagerDetailView(this ApplicationModulesManager manager, Func <IObservable <DetailView>, IObservable <Unit> > detailView)
 => manager.WhenApplication(application => application.WhenDetailViewCreated(typeof(BusinessObjects.DocumentStyleManager)).ToDetailView()
                            .SelectMany(view => detailView(view.ReturnObservable())));
Beispiel #26
0
 public static IObservable <Unit> ConnectMicrosoftTodoService(this ApplicationModulesManager manager)
 {
     return(manager.InitializeModule()
            .Merge(manager.WhenApplication(application => application.UpdateTaskDescription()).ToUnit())
            );
 }
 internal static IObservable <Unit> Connect(this  ApplicationModulesManager manager)
 => manager.WhenApplication(application => application.RememberTopRow().Merge(application.FocusRow()));
Beispiel #28
0
 internal static IObservable <Unit> Connect(this ApplicationModulesManager modulesManager) =>
 modulesManager.WhenApplication(application => application.WhenCloneMemberValues().ToUnit());