public ActionResult LineChart()
        {
            ChartVisualizationObject chviz    = (ChartVisualizationObject)TempData["myObject"];
            ChartComponentViewModel  modelObj = new ChartComponentViewModel();

            modelObj.chartComponent = chviz.chrtCom;
            modelObj.mapping        = (int[])TempData["mapping"];
            return(View(modelObj));
        }
Exemplo n.º 2
0
        // 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));
        }
Exemplo n.º 3
0
        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"));
            }
            }
        }
Exemplo n.º 4
0
        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));
        }