Esempio n. 1
0
        public PartialViewResult Edit(ProjectTypePrimaryKey projectTypePrimaryKey)
        {
            var projectType = projectTypePrimaryKey.EntityObject;
            var viewModel   = new EditViewModel(projectType);

            return(ViewEdit(viewModel, projectType.TaxonomyBranch.DisplayName));
        }
Esempio n. 2
0
        private PartialViewResult ViewEdit(EditViewModel viewModel, string taxonomyBranchDisplayName)
        {
            var taxonomyBranches = HttpRequestStorage.DatabaseEntities.TaxonomyBranches.ToList()
                                   .OrderBy(x => x.DisplayName)
                                   .ToSelectList(x => x.TaxonomyBranchID.ToString(CultureInfo.InvariantCulture), x => x.DisplayName);
            var viewData = new EditViewData(taxonomyBranches, taxonomyBranchDisplayName);

            return(RazorPartialView <Edit, EditViewData, EditViewModel>(viewData, viewModel));
        }
Esempio n. 3
0
        public ActionResult Edit(ProjectTypePrimaryKey projectTypePrimaryKey, EditViewModel viewModel)
        {
            var projectType = projectTypePrimaryKey.EntityObject;

            if (!ModelState.IsValid)
            {
                return(ViewEdit(viewModel, projectType.TaxonomyBranch.DisplayName));
            }

            viewModel.UpdateModel(projectType, CurrentPerson);
            return(new ModalDialogFormJsonResult());
        }
Esempio n. 4
0
        public ActionResult New(EditViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(ViewNew(viewModel));
            }

            var projectType = new ProjectType(viewModel.TaxonomyBranchID, string.Empty, false);

            viewModel.UpdateModel(projectType, CurrentPerson);
            HttpRequestStorage.DatabaseEntities.ProjectTypes.Add(projectType);

            HttpRequestStorage.DatabaseEntities.SaveChanges();

            // we need to add this new leaf as a ProjectTypePerformanceMeasure record if it's branch or trunk are currently associated to a PM
            var associatePerformanceMeasureTaxonomyLevel = MultiTenantHelpers.GetAssociatePerformanceMeasureTaxonomyLevel();

            if (associatePerformanceMeasureTaxonomyLevel == TaxonomyLevel.Branch)
            {
                var leaves =
                    HttpRequestStorage.DatabaseEntities.ProjectTypes.Where(x =>
                                                                           x.TaxonomyBranchID == projectType.TaxonomyBranchID).Select(x => x.ProjectTypeID).ToList();
                var projectTypePerformanceMeasuresGroupedByPerformanceMeasure = HttpRequestStorage.DatabaseEntities.ProjectTypePerformanceMeasures
                                                                                .Where(x => leaves.Contains(x.ProjectTypeID)).ToList().GroupBy(x => x.PerformanceMeasure, new HavePrimaryKeyComparer <PerformanceMeasure>());
                var projectTypePerformanceMeasures = projectTypePerformanceMeasuresGroupedByPerformanceMeasure.Select(x =>
                                                                                                                      new ProjectTypePerformanceMeasure(projectType, x.Key, x.First().IsPrimaryProjectType));
            }
            else if (associatePerformanceMeasureTaxonomyLevel == TaxonomyLevel.Trunk)
            {
                var taxonomyBranch = HttpRequestStorage.DatabaseEntities.TaxonomyBranches.GetTaxonomyBranch(projectType.TaxonomyBranchID);
                var leaves         = taxonomyBranch.TaxonomyTrunk.TaxonomyBranches.SelectMany(x => x.ProjectTypes.Select(y => y.ProjectTypeID)).ToList();
                var projectTypePerformanceMeasuresGroupedByPerformanceMeasure = HttpRequestStorage.DatabaseEntities.ProjectTypePerformanceMeasures
                                                                                .Where(x => leaves.Contains(x.ProjectTypeID)).ToList().GroupBy(x => x.PerformanceMeasure, new HavePrimaryKeyComparer <PerformanceMeasure>());
                var projectTypePerformanceMeasures = projectTypePerformanceMeasuresGroupedByPerformanceMeasure.Select(x =>
                                                                                                                      new ProjectTypePerformanceMeasure(projectType, x.Key, x.First().IsPrimaryProjectType));
            }
            SetMessageForDisplay($"New {FieldDefinition.ProjectType.GetFieldDefinitionLabel()} {projectType.GetDisplayNameAsUrl()} successfully created!");
            return(new ModalDialogFormJsonResult());
        }
Esempio n. 5
0
 private PartialViewResult ViewNew(EditViewModel viewModel)
 {
     return(ViewEdit(viewModel, string.Empty));
 }
Esempio n. 6
0
        public PartialViewResult New()
        {
            var viewModel = new EditViewModel();

            return(ViewNew(viewModel));
        }