private async Task <string[]> GetWorkflowInstanceIds( string missionInstanceId) { var args = new FindHyperDocumentsArgs(true); args.SetDocumentType(typeof(HyperWorkflowInstance)); args.DescriptorConditions.AddCondition("MissionInstanceId", missionInstanceId); var instances = await FindHyperDocumentsArgs.FindAsync <HyperWorkflowInstance>(_netStore, args); return(instances.Select(it => it.Id).ToArray()); }
private async Task <string[]> GetWorkflowInstanceIdsAsync( bool activeOnly) { if (_request == null || string.IsNullOrWhiteSpace(_request.MissionId)) { return new string[] { } } ; var args = new FindHyperDocumentsArgs(true); args.SetDocumentType(typeof(HyperWorkflowInstance)); args.DescriptorConditions.AddCondition("MissionId", _request.MissionId); var instances = await FindHyperDocumentsArgs.FindAsync <HyperWorkflowInstance>(_netStore, args); if (!activeOnly) { return(instances.Select(it => it.Id).ToArray()); } var statsArgs = new RetrieveHyperWorkflowsStatusesArgs { MissionIds = new[] { _request.MissionId } }; var statuses = await _netStore.ExecuteAsync(statsArgs); if (statuses == null || !statuses.Any()) { return new string[] { } } ; var data = new List <HyperWorkflowInstance>(); foreach (var status in statuses) { var activeInstance = instances.FirstOrDefault(it => it.Id == status.WorkflowInstanceId); if (activeInstance == null) { continue; } data.Add(activeInstance); } return(data.Select(it => it.Id).ToArray()); }
private async Task PopulateData() { Items.Clear(); IsLoadedData = false; if (HyperStore == null || string.IsNullOrWhiteSpace(WorkflowId)) { return; } var historyArgs = new FindHyperDocumentsArgs(true); historyArgs.DescriptorConditions.AddCondition(Assist.GetPropertyName((HyperWorkflowInstance i) => i.WorkflowId), WorkflowId); var instances = await FindHyperDocumentsArgs.FindAsync <HyperWorkflowInstance>(HyperStore, historyArgs); if (instances != null) { var wfInstances = instances.OrderBy(it => it.ToString()); Items.AddRange(wfInstances); } IsLoadedData = true; }