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); }