public ActionResult CreateDimension(EditDimensionViewModel viewModel) { if (viewModel != null && viewModel.ProjectId != null && ModelState.IsValid) { bool hasMultipleRequests = ViewData.ContainsKey("MultipleRequests"); int dimensionId = -1; if (!hasMultipleRequests) { try { dimensionId = Repository.Create(viewModel.ToDomainModel()); } catch (EntityAlreadyExistsException ex) { ModelState.AddModelError("Name", ex.Message); return(RedirectToAction("EditDimension", new { viewModel.ProjectId, viewModel.DimensionId })); } GlobalHost.ConnectionManager.GetHubContext <MorphologicalChartHub>().Clients.All.refresh(); } if (dimensionId > 0 || hasMultipleRequests) { return(RedirectToAction("EditProject", "Project", new { viewModel.ProjectId })); } } return(View("Error")); }
public ActionResult EditDimension(int?projectId, int?dimensionId) { if (projectId == null) { return(View("Error")); } EditDimensionViewModel viewModel; if (dimensionId != null) { Dimension dimension = Repository.Get(dimensionId.Value).SingleOrDefault(); if (dimension == null) { // If a previous action caused the model to be invalid (like a failed update or creation), return the view so that it can display the errors if (!ModelState.IsValid) { viewModel = new EditDimensionViewModel { ProjectId = projectId } } ; else { return(View("Error")); } } else { viewModel = new EditDimensionViewModel(dimension); } } else { viewModel = new EditDimensionViewModel { ProjectId = projectId } }; return(View("EditDimension", viewModel)); }