private PartialViewResult ViewAddProjectEvaluation(AddProjectEvaluationViewModel viewModel, Evaluation evaluation) { var selectedProjectIDs = viewModel.ProjectIDs ?? new List <int>(); var allProjects = HttpRequestStorage.DatabaseEntities.Projects.ToList(); var projectsThatAreNotSelectedAlready = allProjects.Where(x => !selectedProjectIDs.Contains(x.ProjectID)).ToList(); var projectIDsThatAreNotSelectedAlready = projectsThatAreNotSelectedAlready.Select(x => x.ProjectID).ToList(); var projectSimples = projectsThatAreNotSelectedAlready.Select(x => new ProjectSimple(x)).ToList(); var taxonomyLeaves = GetTaxonomyLeavesForUnselectedProjects(projectIDsThatAreNotSelectedAlready); var taxonomyLeafSimples = taxonomyLeaves.Select(x => new TaxonomyTierSimple(x)).OrderBy(x => x.DisplayName).ToList(); var taxonomyBranches = taxonomyLeaves.Select(x => x.TaxonomyBranch).Distinct(); var taxonomyBranchSimples = taxonomyBranches.Select(x => new TaxonomyTierSimple(x)).OrderBy(x => x.DisplayName).ToList(); var taxonomyTrunk = taxonomyBranches.Select(x => x.TaxonomyTrunk).Distinct(); var taxonomyTrunkSimples = taxonomyTrunk.Select(x => new TaxonomyTierSimple(x)).OrderBy(x => x.DisplayName).ToList(); var taxonomyLevel = MultiTenantHelpers.GetTaxonomyLevel(); var projectStages = ProjectStage.All.Select(x => new ProjectStageSimple(x)).ToList(); var angularViewData = new AddProjectEvaluationViewDataForAngular(taxonomyTrunkSimples, taxonomyBranchSimples, taxonomyLeafSimples, projectSimples, taxonomyLevel, projectStages); var firmaPage = FirmaPageTypeEnum.AddProjectToEvaluationPortfolioInstructions.GetFirmaPage(); var viewData = new AddProjectEvaluationViewData(CurrentFirmaSession, angularViewData, evaluation, firmaPage); return(RazorPartialView <AddProjectEvaluation, AddProjectEvaluationViewData, AddProjectEvaluationViewModel>(viewData, viewModel)); }
public PartialViewResult AddProjectEvaluation(EvaluationPrimaryKey evaluationPrimaryKey) { var evaluation = evaluationPrimaryKey.EntityObject; var viewModel = new AddProjectEvaluationViewModel(evaluation); return(ViewAddProjectEvaluation(viewModel, evaluation)); }
public ActionResult AddProjectEvaluation(EvaluationPrimaryKey evaluationPrimaryKey, AddProjectEvaluationViewModel viewModel) { var evaluation = evaluationPrimaryKey.EntityObject; if (!ModelState.IsValid) { return(ViewAddProjectEvaluation(viewModel, evaluation)); } viewModel.UpdateModel(CurrentFirmaSession, evaluation); SetMessageForDisplay($"Successfully added projects to this {FieldDefinitionEnum.EvaluationPortfolio.ToType().GetFieldDefinitionLabel()}."); return(new ModalDialogFormJsonResult()); }