Exemplo n.º 1
0
        public override object ReadJson(JsonReader reader,
                                        Type objectType,
                                        object existingValue,
                                        JsonSerializer serializer)
        {
            var jObj = JObject.Load(reader);
            var type = jObj.Value <string>("Type") ?? jObj.Value <string>("type");

            var dataset = default(IMixableDataset);

            switch (type)
            {
            case "bar":
            {
                dataset = new BarChartDataset();
                break;
            }

            case "line":
            {
                dataset = new LineChartDataset();
                break;
            }
            }

            serializer.Populate(jObj.CreateReader(), dataset);

            return(dataset);
        }
Exemplo n.º 2
0
        public ActionResult Index()
        {
            var chart = new ChartData <BarChartDataset>();

            var dataset = new BarChartDataset();

            dataset.Data.Add(5);
            dataset.Data.Add(3);
            dataset.Data.Add(4);
            dataset.Data.Add(7);

            dataset.BackgroundColor.Add(Color.Red);
            dataset.BackgroundColor.Add(Color.Green);
            dataset.BackgroundColor.Add(Color.Blue);
            dataset.BackgroundColor.Add(Color.Yellow);


            dataset.Label = "Kolory";

            chart.Datasets.Add(dataset);

            chart.Labels.Add("Czerwony");
            chart.Labels.Add("Zielony");
            chart.Labels.Add("Niebieski");
            chart.Labels.Add("Zolty");

            var model = new IndexViewModel();

            model.ChartData = SerializationHelpers.ToJson(chart);

            return(View(model));
        }
Exemplo n.º 3
0
        public string getBarChart(int projectID)
        {
            myCommand.CommandText = "SELECT [Name], [Sum] FROM Users INNER JOIN " +
                                    "(SELECT User_ID, SUM(Work_estimation) AS [Sum] FROM Task_User INNER JOIN " +
                                    "(SELECT Task_ID, Work_estimation FROM Task INNER JOIN (SELECT Backlog_ID FROM Backlog WHERE Project_ID=@projectID AND Status='Ongoing') AS A " +
                                    "ON Task.Backlog_ID = A.Backlog_ID WHERE Task.Status='Done' OR Task.Status='Ongoing') " +
                                    "AS B ON Task_User.Task_ID = B.Task_ID GROUP BY User_ID) AS C ON C.User_ID = Users.User_ID";
            addParameter <int>("@projectID", SqlDbType.Int, projectID);
            myAdapter.Fill(myDataSet, "temp");
            var table = myDataSet.Tables["temp"];

            myCommand.Parameters.Clear();

            BarChart myBar  = new BarChart();
            var      labels = myBar.labels;

            // Random color - not necessary can be removed.
            int             colorIndex = new Random().Next(0, 6);
            BarChartDataset barDataset = new BarChartDataset(colorHex[1, colorIndex], colorHex[0, colorIndex]);

            barDataset.label = "";

            // Name of the person and Work estimation
            foreach (DataRow temp in table.Rows)
            {
                labels.Add(temp["Name"].ToString());
                barDataset.data.Add(Convert.ToInt32(temp[1]));
            }
            myBar.datasets.Add(barDataset);
            return(JsonConvert.SerializeObject(myBar));
        }
        public async Task RefreshChartData()
        {
            IEnumerable <DashboardChartData> newDatas = await GenerateChartDatas?.Invoke();

            await Chart.Clear();

            await Chart.AddLabels(newDatas.Select(x => x.Label).ToArray());

            List <string> colors = new List <string>();

            for (int i = 0; i < newDatas.Count(); i++)
            {
                string barColor = BarColorGenerator?.Invoke(i);
                if (!string.IsNullOrWhiteSpace(barColor))
                {
                    colors.Add(barColor);
                }
                else
                {
                    colors.Add(DEFAULT_BAR_COLOR);
                }
            }

            BarChartDataset <BarChartDatasetXValue> newBarChartDataset = new BarChartDataset <BarChartDatasetXValue>()
            {
                Type = "horizontalBar",
                Data = newDatas.Select(x => new BarChartDatasetXValue()
                {
                    X = x.Value, DataId = x.DataId
                }).ToList(),
                BackgroundColor = colors,
                BorderColor     = colors,
            };

            CurrentDataset = newBarChartDataset;
            await Chart.AddDatasetsAndUpdate(newBarChartDataset);
        }
Exemplo n.º 5
0
        public async Task GetBehandelduurDistributionAsync(BarChart <int> chart)
        {
            var age = await _dataService.GetBehandelduurDistributionAsync();

            await chart.Clear();

            var overleden = new BarChartDataset <int>
            {
                Label           = Resources.Label_Overleden,
                BackgroundColor = age.LabelsDagen.Select(x => (string)AppColors.ChartLightGray),
                Data            = age.Overleden
            };

            var ic = new BarChartDataset <int>
            {
                Label           = Resources.Label_IC,
                BackgroundColor = age.LabelsDagen.Select(x => (string)AppColors.ChartYellow),
                Data            = age.NogOpgenomen
            };

            var verpleegafdeling = new BarChartDataset <int>
            {
                Label           = Resources.Label_Verpleegafdeling,
                BackgroundColor = age.LabelsDagen.Select(x => (string)AppColors.ChartBlue),
                Data            = age.ICVerlatenNogOpVerpleegafdeling
            };

            var gezond = new BarChartDataset <int>
            {
                Label           = Resources.Label_Gezond,
                BackgroundColor = age.LabelsDagen.Select(x => (string)AppColors.ChartGreen),
                Data            = age.ICVerlaten
            };

            await chart.AddLabelsDatasetsAndUpdate(age.LabelsDagen.ToArray(), overleden, ic, verpleegafdeling, gezond);
        }