public PartialViewResult Edit(ProjectTypePrimaryKey projectTypePrimaryKey) { var projectType = projectTypePrimaryKey.EntityObject; var viewModel = new EditViewModel(projectType); return(ViewEdit(viewModel, projectType.TaxonomyBranch.DisplayName)); }
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)); }
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()); }
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()); }
private PartialViewResult ViewNew(EditViewModel viewModel) { return(ViewEdit(viewModel, string.Empty)); }
public PartialViewResult New() { var viewModel = new EditViewModel(); return(ViewNew(viewModel)); }