public ActionResult CreateMeasure(CreateMeasureModel model) { DatasetDataAccess dataAccess = new DatasetDataAccess(); if (ModelState.IsValid) { if (!dataAccess.isCreateMeasureModelValid(model)) { ModelState.AddModelError("", "An error occured when creating the Measure. Please ensure that the Measure name is unique and that Dimensions have been specified"); model = dataAccess.populateCreateMeasureModel(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 Measure", Action = "", Controller = "", isCurrent = true }); model.Breadcrumbs = trail; return View(model); } dataAccess.createMeasure(model); IEnumerable<Tuple<int, int>> dimensionMappings = model.MeasureDetails.Where(x => x.DimensionValueID.HasValue).Select(x => new Tuple<int, int>(x.StagingColumnID, x.DimensionValueID.Value)); TempData["DimensionMappings"] = dimensionMappings; return RedirectToAction("AddMeasureValues", new { stagingTableName = model.StagingTableName, measureName = model.MeasureName, measureColumnStagingID = model.MeasureColumnID, geographyColumnID = model.GeographyColumnID, geographyTypeID = model.GeographyTypeID }); } model = dataAccess.populateCreateMeasureModel(model.StagingDatasetID); return View(model); }
/// <summary> /// The controller method to navigate to the page used to /// initiate the creation of a Measure. This is the first page in a /// two page process. Initially all that is needed is a Staging /// Dataset ID to use to populate the model. /// /// Accessed from /Dataset/CreateMeasure /// </summary> /// <param name="stagingDatasetID"></param> /// <returns></returns> public ActionResult CreateMeasure(int stagingDatasetID) { DatasetDataAccess dataAccess = new DatasetDataAccess(); CreateMeasureModel model = dataAccess.populateCreateMeasureModel(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 Measure", Action = "", Controller = "", isCurrent = true }); model.Breadcrumbs = trail; return View(model); }