public ActionResult CreateView(CreateViewModel model) { DataViewDataAccess dataAccess = new DataViewDataAccess(); if (!dataAccess.isCreateViewModelValid(model)) { ModelState.AddModelError("ViewName", "The View Name must be unique"); CreateViewModel tempModel = dataAccess.getDefaultCreateViewModel(); model.GeographyTypes = tempModel.GeographyTypes; model.NewColumnModel = dataAccess.getDefaultColumnModel(); List<Breadcrumb> trail = new List<Breadcrumb>(); trail.Add(new Breadcrumb() { LinkText = "Home", Action = "Index", Controller = "Home", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Data View Index", Action = "Index", Controller = "DataView", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Create Data View", Action = "", Controller = "", isCurrent = true }); model.Breadcrumbs = trail; return View(model); } try { dataAccess.CreateView(model); } catch (SqlException) { ModelState.AddModelError("", "An error occured when creating the Data View. Please ensure that the Data View Name is unique and that the columns are uniquely named within it."); CreateViewModel tempModel = dataAccess.getDefaultCreateViewModel(); model.GeographyTypes = tempModel.GeographyTypes; model.NewColumnModel = dataAccess.getDefaultColumnModel(); List<Breadcrumb> trail = new List<Breadcrumb>(); trail.Add(new Breadcrumb() { LinkText = "Home", Action = "Index", Controller = "Home", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Data View Index", Action = "Index", Controller = "DataView", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Create Data View", Action = "", Controller = "", isCurrent = true }); model.Breadcrumbs = trail; return View(model); } TempData["SuccessMessage"] = String.Format("The Data View - {0}, was successfully created", model.ViewName); return RedirectToAction("Index"); }
/// <summary> /// A controller method to navigate to the page where users can create /// a bespoke View. This populates the initial models for the view /// </summary> /// <returns>The View to be displayed</returns> public ActionResult CreateView() { DataViewDataAccess dataAccess = new DataViewDataAccess(); CreateViewModel model = dataAccess.getDefaultCreateViewModel(); List<ViewColumnModel> columns = new List<ViewColumnModel>(); model.Columns = columns; model.NewColumnModel = dataAccess.getDefaultColumnModel(); List<Breadcrumb> trail = new List<Breadcrumb>(); trail.Add(new Breadcrumb() { LinkText = "Home", Action = "Index", Controller = "Home", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Data View Index", Action = "Index", Controller = "DataView", isCurrent = false }); trail.Add(new Breadcrumb() { LinkText = "Create Data View", Action = "", Controller = "", isCurrent = true }); model.Breadcrumbs = trail; return View(model); }