/// <summary> /// A controller method to redirect to a page showing the details relating to /// a staging dataset. This takes the dataset database ID as a parameter and /// utilises the data access classes to get the data back /// /// This is accessed via /Staging/DatasetDetail /// </summary> /// <param name="datasetID"></param> /// <returns></returns> public ActionResult DatasetDetails(int datasetID) { StagingDataAccess dataAccess = new StagingDataAccess(); StagingDetailModel model = dataAccess.getStagingDetails(datasetID); 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 = "Staging Dataset Details", isCurrent = true }); model.Breadcrumbs = trail; return(View(model)); }
public ActionResult CreateStaging(GeneralStagingModel model) { StagingDataAccess dataAccess = new StagingDataAccess(); if (!dataAccess.isCreateStagingModelValid(model)) { ModelState.AddModelError("TableName", "The Staging Table Name must be unique"); 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 Staging", isCurrent = true }); model.Breadcrumbs = trail; return(View(model)); } try { dataAccess.createStagingTable(model); } catch (SqlException) { ModelState.AddModelError("", "An error occured when creating the Staging Table. Please ensure that the staging table name is unique and that all columns within it are uniquely named"); 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 Staging", isCurrent = true }); model.Breadcrumbs = trail; return(View(model)); } TempData["SuccessMessage"] = String.Format("The Staging Table - {0}, was successfully created", model.TableName); return(RedirectToAction("Index")); }
public ActionResult UploadToStaging(UploadStagingModel model) { if (ModelState.IsValid) { if (model.attachment.ContentLength > 0) { string fileName = Path.GetFileName(model.attachment.FileName); string path = Path.Combine(Server.MapPath("~/App_Data/CSVUploads"), fileName); Data_Loading_Tool.Database.FileAccess fileAccess = new Data_Loading_Tool.Database.FileAccess(); fileAccess.writeCSVtoDisk(model, path); StagingDataAccess dataAccess = new StagingDataAccess(); dataAccess.updateTableFromCSV(path, model.StagingTableID, model.UniqueUploadRef, model.UnpivotData, model.FirstUpload, model.GeographyColumn); TempData["SuccessMessage"] = "The Data was uploaded successfully"; return(RedirectToAction("Index")); } } 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 = "Upload to Staging", isCurrent = true }); model.Breadcrumbs = trail; return(View(model)); }
public ActionResult CreateStaging(GeneralStagingModel model) { StagingDataAccess dataAccess = new StagingDataAccess(); if (!dataAccess.isCreateStagingModelValid(model)) { ModelState.AddModelError("TableName", "The Staging Table Name must be unique"); 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 Staging", isCurrent = true }); model.Breadcrumbs = trail; return View(model); } try { dataAccess.createStagingTable(model); } catch (SqlException) { ModelState.AddModelError("", "An error occured when creating the Staging Table. Please ensure that the staging table name is unique and that all columns within it are uniquely named"); 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 Staging", isCurrent = true }); model.Breadcrumbs = trail; return View(model); } TempData["SuccessMessage"] = String.Format("The Staging Table - {0}, was successfully created", model.TableName); return RedirectToAction("Index"); }
/// <summary> /// Main index showing the list of staging tables /// in the system and providing links to the various /// actions available. No parameter is needed /// /// Accessed via /Staging/index /// </summary> /// <returns></returns> public ActionResult Index() { StagingDataAccess dataAccess = new StagingDataAccess(); StagingIndexModel model = new StagingIndexModel(); model.StagingModels = dataAccess.getStagingTables(); 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", isCurrent = true }); model.Breadcrumbs = trail; return(View(model)); }
public ActionResult UploadToStaging(UploadStagingModel model) { if (ModelState.IsValid) { if (model.attachment.ContentLength > 0) { string fileName = Path.GetFileName(model.attachment.FileName); string path = Path.Combine(Server.MapPath("~/App_Data/CSVUploads"), fileName); Data_Loading_Tool.Database.FileAccess fileAccess = new Data_Loading_Tool.Database.FileAccess(); fileAccess.writeCSVtoDisk(model, path); StagingDataAccess dataAccess = new StagingDataAccess(); dataAccess.updateTableFromCSV(path, model.StagingTableID, model.UniqueUploadRef, model.UnpivotData, model.FirstUpload, model.GeographyColumn); TempData["SuccessMessage"] = "The Data was uploaded successfully"; return RedirectToAction("Index"); } } 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 = "Upload to Staging", isCurrent = true }); model.Breadcrumbs = trail; return View(model); }
/// <summary> /// Main index showing the list of staging tables /// in the system and providing links to the various /// actions available. No parameter is needed /// /// Accessed via /Staging/index /// </summary> /// <returns></returns> public ActionResult Index() { StagingDataAccess dataAccess = new StagingDataAccess(); StagingIndexModel model = new StagingIndexModel(); model.StagingModels = dataAccess.getStagingTables(); 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", isCurrent = true }); model.Breadcrumbs = trail; return View(model); }
/// <summary> /// A controller method to redirect to a page showing the details relating to /// a staging dataset. This takes the dataset database ID as a parameter and /// utilises the data access classes to get the data back /// /// This is accessed via /Staging/DatasetDetail /// </summary> /// <param name="datasetID"></param> /// <returns></returns> public ActionResult DatasetDetails(int datasetID) { StagingDataAccess dataAccess = new StagingDataAccess(); StagingDetailModel model = dataAccess.getStagingDetails(datasetID); 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 = "Staging Dataset Details", isCurrent = true }); model.Breadcrumbs = trail; return View(model); }