예제 #1
0
        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));
        }
예제 #2
0
        public PartialViewResult AddProjectEvaluation(EvaluationPrimaryKey evaluationPrimaryKey)
        {
            var evaluation = evaluationPrimaryKey.EntityObject;
            var viewModel  = new AddProjectEvaluationViewModel(evaluation);

            return(ViewAddProjectEvaluation(viewModel, evaluation));
        }
예제 #3
0
        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());
        }