public async Task <WorkflowsVM> CompletedWorkflows(string projectId, string user) { ExistingWorkflows existingWorkflows = new ExistingWorkflows(_ampRepository.GetWorkflowMastersByProject(projectId)); WorkflowsVM workflowsVm = new WorkflowsVM(); List <CompletedWorkflowVM> completedWorkflowVms = new List <CompletedWorkflowVM>(); List <Tuple <WorkflowMaster, WorkflowMaster> > completedTupleList = new List <Tuple <WorkflowMaster, WorkflowMaster> >(); List <WorkflowMaster> completedRequests = existingWorkflows.CompletedRequests().OrderByDescending(x => x.WorkFlowID).ToList(); List <WorkflowMaster> completedResponses = existingWorkflows.CompletedResponses().OrderByDescending(x => x.WorkFlowID).ToList(); for (int i = 0; i < completedRequests.Count(); i++) { WorkflowRequest request = new WorkflowRequest(_personService); WorkflowResponse response = new WorkflowResponse(_personService); request.workflow = completedRequests.ElementAt(i); response.workflow = completedResponses.ElementAt(i); CompletedWorkflow completed = new CompletedWorkflow(_ampRepository, _documentService); await completed.Construct(request, response); completedWorkflowVms.Add(completed); } workflowsVm.workflows = completedWorkflowVms; return(workflowsVm); }
/// <summary> /// Gets a completed workflow by it's unique identifier. /// </summary> /// <param name="id"></param> /// <returns></returns> /// <exception cref="System.NotImplementedException"></exception> public CompletedWorkflow GetCompleted(Guid id) { CompletedWorkflow workflow = this.GetCompletedOrDefault(id); if (workflow == null) { throw new WorkflowNotFoundException(String.Format("No workflow found matching id {0}", id)); } return(workflow); }
/// <summary> /// Gets a completed workflow by it's unique identifier, or null if it does not exist. /// </summary> /// <param name="id"></param> /// <returns></returns> /// <exception cref="System.NotImplementedException"></exception> public override CompletedWorkflow GetCompletedOrDefault(Guid id) { CompletedWorkflow workflow = null; using (IDocumentSession session = this.OpenSession()) { workflow = session.Load <CompletedWorkflow>(id); } return(workflow); }