public async Task <RiskRegisterVM> RiskDetailsByProject(string projectId, string user) { RiskRegisterVM riskRegisterVm = new RiskRegisterVM(); List <RiskCategory> riskCategories = _ampRepository.GetRiskCategories().ToList(); List <RiskLikelihood> riskLikelihoods = _ampRepository.GetRiskLikelihoods().ToList(); List <RiskImpact> riskImpacts = _ampRepository.GetRiskImpacts().ToList(); List <Risk> riskRatings = _ampRepository.GetRisks().ToList(); RiskRegisterCollection projectRiskCollection = new RiskRegisterCollection(_ampRepository.GetRiskRegister(projectId)); if (projectRiskCollection.HasRiskItems()) { List <RiskRegister> projectRisks = projectRiskCollection.AllRisks().ToList(); RiskItemVMCollectionBuilder riskItemVmCollectionBuilder = new RiskItemVMCollectionBuilder(projectRiskCollection.AllRisks().ToList(), riskCategories, riskLikelihoods, riskImpacts, riskRatings); RiskItemsVM riskItemsVm = new RiskItemsVM(); riskItemsVm.projectRisks = riskItemVmCollectionBuilder.BuildRiskItemVMList(); riskRegisterVm.RiskItemsVm = riskItemsVm; } RiskDocumentCollection riskDocumentCollection = new RiskDocumentCollection(_ampRepository.GetRiskDocuments(projectId), _documentService); if (riskDocumentCollection.HasRiskDocuments()) { riskRegisterVm.RiskDocuments = riskDocumentCollection.CreateRiskDocumentsVM(); RiskDocumentVMCollectionBuilder riskDocumentVmCollectionBuilder = new RiskDocumentVMCollectionBuilder(riskDocumentCollection.AllRiskDocuments().ToList(), _documentService); RiskDocumentsVM riskDocumentsVm = new RiskDocumentsVM(); riskDocumentsVm.ProjectRiskDocuments = riskDocumentVmCollectionBuilder.BuildRiskDocumentVMList(); riskRegisterVm.RiskDocumentsVm = riskDocumentsVm; } // OverallRiskRatingCollection overallRiskCollection = new OverallRiskRatingCollection(_ampRepository.GetOverallRiskRatings(projectId)); if (overallRiskCollection.HasOverallRiskRating()) { riskRegisterVm.OverallRiskRatings = overallRiskCollection.CreateOverallRiskRatingVms(); OverallRiskRatingVMCollectionBuilder overallRiskratingVmCollectionBuilder = new OverallRiskRatingVMCollectionBuilder(overallRiskCollection.AllOverallRiskRatingsRisks().ToList(), riskRatings); OverallRiskRatingsVM overallRatingsVm = new OverallRiskRatingsVM(); overallRatingsVm.OverallRiskRatings = overallRiskratingVmCollectionBuilder.BuildOverallRiskRatingVMList(); riskRegisterVm.OverallRiskRatingsVm = overallRatingsVm; } riskRegisterVm.RiskCategoryValues = _ampRepository.GetRiskCategories().ToList(); riskRegisterVm.RiskLikelihoodValues = _ampRepository.GetRiskLikelihoods().ToList(); riskRegisterVm.RiskImpactValues = _ampRepository.GetRiskImpacts().ToList(); riskRegisterVm.RiskValues = _ampRepository.GetRisks().ToList(); riskRegisterVm.ProjectID = projectId; return(riskRegisterVm); }