public ActionResult LineChart() { ChartVisualizationObject chviz = (ChartVisualizationObject)TempData["myObject"]; ChartComponentViewModel modelObj = new ChartComponentViewModel(); modelObj.chartComponent = chviz.chrtCom; modelObj.mapping = (int[])TempData["mapping"]; return(View(modelObj)); }
// GET: Recommendation public ActionResult ShowRecommendation(int tableID, CSVFile csv) { bool intensionAvailable = (CSVInjector.csv.Intension != "None"); List <Recommendations_Result> recommendations = null; List <Recommendations_Result> more_Recommendations = null; if (intensionAvailable) { recommendations = Recommendation.getRecommendations(tableID, CSVInjector.csv.Intension); more_Recommendations = Recommendation.getRecommendationsMore(tableID, CSVInjector.csv.Intension); } else { recommendations = Recommendation.getRecommendationsWithoutIntention(tableID); more_Recommendations = Recommendation.getRecommendationsWithoutIntentionMore(tableID); } List <string> arr = new List <string>(); List <string> more_arr = new List <string>(); foreach (var item in recommendations) { arr.Add(item.chartName); } arr = arr.Distinct().ToList(); foreach (var item in more_Recommendations) { more_arr.Add(item.chartName); } more_arr = more_arr.Distinct().ToList(); int ColCount; int ColCountMore; if (arr.Count != 0) { ColCount = recommendations.Count / arr.Count; } else { ColCount = 0; } if (more_arr.Count != 0) { ColCountMore = more_Recommendations.Count / more_arr.Count; } else { ColCountMore = 0; } ChartVisualizationObject mainObj = new ChartVisualizationObject(); mainObj.chartTypes = new string[arr.Count]; mainObj.chartTypes = arr.ToArray(); mainObj.mappingList = new List <int[]>(); int counter = 0; for (int i = 0; i < arr.Count; i++) { int[] TableDimIndex = new int[ColCount]; int[] ChartDimIndex = new int[ColCount]; for (int j = i * ColCount; j < (i + 1) * ColCount; j++) { TableDimIndex[counter] = recommendations[j].tableDimIndex.Value; ChartDimIndex[counter] = recommendations[j].chartDimIndex.Value; counter++; } counter = 0; int[] finalArr = new int[ColCount]; for (int k = 0; k < ColCount; k++) { finalArr[k] = TableDimIndex[ChartDimIndex[k] - 1]; } mainObj.mappingList.Add(finalArr); } mainObj.more_chartTypes = new string[more_arr.Count]; mainObj.more_chartTypes = more_arr.ToArray(); mainObj.more_mappingList = new List <int[]>(); counter = 0; for (int i = 0; i < more_arr.Count; i++) { int[] TableDimIndex = new int[ColCountMore]; int[] ChartDimIndex = new int[ColCountMore]; for (int j = i * ColCountMore; j < (i + 1) * ColCountMore; j++) { TableDimIndex[counter] = more_Recommendations[j].tableDimIndex.Value; ChartDimIndex[counter] = more_Recommendations[j].chartDimIndex.Value; counter++; } counter = 0; int[] finalArr2 = new int[ColCountMore]; for (int k = 0; k < ColCountMore; k++) { finalArr2[k] = TableDimIndex[ChartDimIndex[k] - 1]; } mainObj.more_mappingList.Add(finalArr2); } //Setting dependency injection ChartVisualizationObjectInjector.CVObject = mainObj; ViewBag.path = "New Task / Recommended chart types"; return(View(mainObj)); }
public ActionResult visualizeDataFile(int num) { ChartVisualizationObject chViz = ChartVisualizationObjectInjector.CVObject; CSVFile csv = CSVInjector.csv; Convert_CSV_to_Chart converter = new Convert_CSV_to_Chart(); chViz.chrtCom = new ChartComponent(); string chart = ""; int recCount = chViz.chartTypes.Count(); if (recCount > num) { chart = chViz.chartTypes[num]; } else { chart = chViz.more_chartTypes[num - recCount]; } chViz.chrtCom.name = chart; chViz.chrtCom = converter.Convert(csv, chViz.chrtCom); switch (chart) { case ("Area chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("AreaChart", "Visualisation")); } case ("Stacked bar chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("StackedBarChart", "Visualisation")); } case ("Pin point location map"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("GeoMarker", "Visualisation")); } case ("Bar chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("BarChart", "Visualisation")); } case ("Pie chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("PieChart", "Visualisation")); } case ("Tree Map"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("TreeMap", "Visualisation")); } case ("Stacked area chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("StackedAreaChart", "Visualisation")); } case ("Nomalized stacked bar chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("NormalizedStackedBarChart", "Visualisation")); } case ("Scatterplot"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("Scatterplot", "Visualisation")); } case ("Mark Area map"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("GeoRegion", "Visualisation")); } case ("Bubble chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("BubbleChart", "Visualisation")); } case ("Calender view chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("CalenderChart", "Visualisation")); } case ("Clusture dendogram"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("WordChart", "Visualisation")); } case ("Parallel cordinates"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("ParallelCordinates", "Visualisation")); } case ("Sankey diagram"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("SankeyDiagram", "Visualisation")); } case ("Boxplot"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("Boxplot", "Visualisation")); } case ("Line chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("LineChart", "Visualisation")); } case ("Normalized stacked area chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("NormalizedStackedAreaChart", "Visualisation")); } case ("Histrogram"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("Histogram", "Visualisation")); } case ("Time Line"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("TimeLine", "Visualisation")); } case ("Grouped bar chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("BarChart", "Visualisation")); } case ("Muiltiple Bar chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("BarChart", "Visualisation")); } case ("Bivariate area chart"): { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; return(RedirectToAction("BivariateAreaChart", "Visualisation")); } default: { TempData["mapping"] = chViz.mappingList.ToList().ElementAt(num); TempData["myObject"] = chViz; //return RedirectToAction("AreaChart", "Visualisation", new { chviz = chViz }); return(RedirectToAction("AreaChart", "Visualisation")); } } }
public ActionResult saveFeedback(int num) { CSVFile csv = CSVInjector.csv; ChartVisualizationObject chViz = ChartVisualizationObjectInjector.CVObject; feedBack fb = new feedBack(); int recCount = chViz.chartTypes.Count(); if (recCount > num) { fb.recommendation = chViz.chartTypes[num]; } else { fb.recommendation = chViz.more_chartTypes[num - recCount]; } fb.tableID = (int)Session["CurrentTableId"]; int colCount = csv.Data.Count(); fb.numOfDim = colCount; fb.intention = csv.Intension; fb.dim1_IsContinuous = csv.Data[0].IsContinous ? 1 : 0; fb.dim1_context = csv.Data[0].Context; fb.dim1_Cardinality = csv.Data[0].NumDiscreteValues; if (colCount == 7) { fb.dim7_IsContinuous = csv.Data[6].IsContinous ? 1 : 0; fb.dim7_context = csv.Data[6].Context; fb.dim7_Cardinality = csv.Data[6].NumDiscreteValues; } if (colCount > 5) { fb.dim6_IsContinuous = csv.Data[5].IsContinous ? 1 : 0; fb.dim6_context = csv.Data[5].Context; fb.dim6_Cardinality = csv.Data[5].NumDiscreteValues; } if (colCount > 4) { fb.dim5_IsContinuous = csv.Data[4].IsContinous ? 1 : 0; fb.dim5_context = csv.Data[4].Context; fb.dim5_Cardinality = csv.Data[4].NumDiscreteValues; } if (colCount > 3) { fb.dim4_IsContinuous = csv.Data[3].IsContinous ? 1 : 0; fb.dim4_context = csv.Data[3].Context; fb.dim4_Cardinality = csv.Data[3].NumDiscreteValues; } if (colCount > 2) { fb.dim3_IsContinuous = csv.Data[2].IsContinous ? 1 : 0; fb.dim3_context = csv.Data[2].Context; fb.dim3_Cardinality = csv.Data[2].NumDiscreteValues; } if (colCount > 1) { fb.dim2_IsContinuous = csv.Data[1].IsContinous ? 1 : 0; fb.dim2_context = csv.Data[1].Context; fb.dim2_Cardinality = csv.Data[1].NumDiscreteValues; } db.feedBacks.Add(fb); db.SaveChanges(); return(Json(null, JsonRequestBehavior.AllowGet)); }