/// <summary> /// Controller method to navigate to the page for /// creating a Dimension. This takes the ID of a /// staging dataset which is used to find the values /// for the new dimension. /// /// Accessed via /Dataset/CreateDimension /// </summary> /// <param name="stagingDatasetID"> The Database ID of the staging dataset</param> /// <returns></returns> public ActionResult CreateDimension(int stagingDatasetID) { DatasetDataAccess dataAccess = new DatasetDataAccess(); CreateDimensionModel model = dataAccess.PopulateCreateDimensionModel(stagingDatasetID); List<Breadcrumb> trail = new List<Breadcrumb>(); trail.Add(new Breadcrumb() { LinkText = "Home", Action = "Index", Controller = "Home", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Staging Index", Action = "Index", Controller = "Staging", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Create Dimension", Action = "", Controller = "", isCurrent = true }); model.Breadcrumbs = trail; return View(model); }
public ActionResult CreateDimension(CreateDimensionModel model) { DatasetDataAccess dataAccess = new DatasetDataAccess(); if (!dataAccess.IsCreateDimensionModelValid(model)) { ModelState.AddModelError("DimensionName", "The Dimension Name must be unique"); model = dataAccess.PopulateCreateDimensionModel(model.StagingDatasetID); List<Breadcrumb> trail = new List<Breadcrumb>(); trail.Add(new Breadcrumb() { LinkText = "Home", Action = "Index", Controller = "Home", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Staging Index", Action = "Index", Controller = "Staging", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Create Dimension", Action = "", Controller = "", isCurrent = true }); model.Breadcrumbs = trail; return View(model); } try { dataAccess.CreateDimension(model); } catch (SqlException) { ModelState.AddModelError("", "An error occured when creating the dimension. Please ensure that the Dimension Name is unique and that the values are unique within it."); model = dataAccess.PopulateCreateDimensionModel(model.StagingDatasetID); List<Breadcrumb> trail = new List<Breadcrumb>(); trail.Add(new Breadcrumb() { LinkText = "Home", Action = "Index", Controller = "Home", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Staging Index", Action = "Index", Controller = "Staging", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Create Dimension", Action = "", Controller = "", isCurrent = true }); model.Breadcrumbs = trail; return View(model); } TempData["SuccessMessage"] = String.Format("The Dimension - {0}, was successfully created", model.DimensionName); return RedirectToAction("Index", "Staging"); }