public IArtifactHandler <TObject> Setup(Action <XafApplication> created, Action <TObject> action) { _applicationNodeWrapper = new ApplicationNodeWrapper(new Dictionary(new DictionaryNode(ApplicationNodeWrapper.NodeName), Schema.GetCommonSchema())); _applicationNodeWrapper.Load(typeof(TObject)); var objectSpaceProvider = new ObjectSpaceProvider(new MemoryDataStoreProvider()); _objectSpace = objectSpaceProvider.CreateObjectSpace(); _currentObject = (TObject)_objectSpace.CreateObject(typeof(TObject)); if (action != null) { action.Invoke(_currentObject); } _xafApplication = Isolate.Fake.Instance <XafApplication>(); // CollectionSourceBase _collectionSource = null; // var collectionSourceBase = Isolate.Fake.Instance<CollectionSourceBase>(); // Isolate.WhenCalled((String listViewId, CollectionSourceBase collectionSource, bool isRoot) => _xafApplication.CreateListView("", collectionSourceBase, // false)).AndArgumentsMatch((s, @base, arg3) => { // _collectionSource = @base; // return true; // }).WillReturn(new ListView(_collectionSource, _xafApplication, false)); if (created != null) { created.Invoke(_xafApplication); } return(this); }
public virtual void ProcessRequestsToStartWorkflows() { var objectChangedXpoStartWorkflowRequests = new List <ObjectChangedXpoStartWorkflowRequest>(); using (IObjectSpace objectSpace = ObjectSpaceProvider.CreateObjectSpace()) { foreach (var request in objectSpace.GetObjects <ObjectChangedXpoStartWorkflowRequest>()) { try { var definition = GetService <IWorkflowDefinitionProvider>().FindDefinition(request.TargetWorkflowUniqueId); if (definition != null && definition.CanOpenHost) { if (GetService <ObjectChangedStartWorkflowService>().StartWorkflow(definition.Name, request.TargetWorkflowUniqueId, request.TargetObjectKey, request.PropertyName, request.OldValue)) { OnRequestProcessed(objectSpace, request); objectChangedXpoStartWorkflowRequests.Add(request); } } } catch (Exception e) { e.Data.Add("StartWorkflowOnObjectChangeService.ProcessRequestsToStartWorkflows.currentRequest", string.Format("Key={0}, TargetObjectKey={1}, TargetWorkflowUniqueId={2}", objectSpace.GetKeyValue(request), request.TargetObjectKey, request.TargetWorkflowUniqueId)); throw; } } objectSpace.Delete(objectChangedXpoStartWorkflowRequests); objectSpace.CommitChanges(); } }
public virtual void TestFixtureSetUp() { ObjectSpaceProvider objectSpaceProvider = new ObjectSpaceProvider(new MemoryDataStoreProvider()); Application = new TestApplication(); Module = new ModuleBase(); Application.Modules.Add(Module); SetupModuleTypes(); Application.Setup("TestApplication", objectSpaceProvider); }
public override IList <IWorkflowDefinition> GetDefinitions() { IList <IWorkflowDefinition> result = base.GetDefinitions(); IObjectSpace objectSpace = ObjectSpaceProvider.CreateObjectSpace(); foreach (ScheduledWorkflow workflow in objectSpace.GetObjects <ScheduledWorkflow>()) { result.Add(workflow); } return(result); }
public override IList <IWorkflowDefinition> GetDefinitions() { IList <IWorkflowDefinition> result = base.GetDefinitions(); IObjectSpace objectSpace = ObjectSpaceProvider.CreateObjectSpace(); foreach (var type in _types) { IEnumerable <IXpandWorkflowDefinition> objects = objectSpace.GetObjects(type).OfType <IXpandWorkflowDefinition>(); foreach (var definition in objects) { result.Add(definition); } } return(result); }
public IList <IWorkflowDefinition> GetDefinitions() { var result = new List <IWorkflowDefinition>(); var objectSpace = ObjectSpaceProvider.CreateObjectSpace(); foreach (var type in _workflowTypes) { var objects = objectSpace.GetObjects(type).OfType <IXpandWorkflowDefinition>(); foreach (var definition in objects) { result.Add(definition); } } WorkflowVersioningEngine versioningEngine = GetWorkflowVersioningEngine(); return(versioningEngine.GetVersionedDefinitions(result.ToArray())); }
public override void OnTimer() { using (IObjectSpace objectSpace = ObjectSpaceProvider.CreateObjectSpace()) { foreach (T workflow in objectSpace.GetObjects <T>(new BinaryOperator("IsActive", true))) { WorkflowHost host; if (HostManager.Hosts.TryGetValue(workflow.GetUniqueId(), out host)) { if (NeedToStartWorkflow(objectSpace, workflow)) { Guid startWorkflow = host.StartWorkflow(new Dictionary <string, object>()); AfterWorkFlowStarted(objectSpace, workflow, startWorkflow); objectSpace.CommitChanges(); } } } } }
public override void OnTimer() { using (IObjectSpace objectSpace = ObjectSpaceProvider.CreateObjectSpace()) { foreach (T workflow in objectSpace.GetObjects <T>(new BinaryOperator("IsActive", true))) { WorkflowHost host; if (HostManager.Hosts.TryGetValue(workflow.GetUniqueId(), out host)) { if (NeedToStartWorkflow(objectSpace, workflow)) { Guid instanceHandle = host.StartWorkflow(new Dictionary <string, object>()); GetService <IRunningWorkflowInstanceInfoService>().CreateRunningWorkflowInstanceInfo(workflow.Name, host.ActivityUnigueId, null, instanceHandle); AfterWorkFlowStarted(objectSpace, workflow, instanceHandle); objectSpace.CommitChanges(); } } } } }