Exemplo n.º 1
0
        public string AllGoalsByMonthNet()
        {
            var now = DateTime.Now;
            var currentMonth = new DateTime(now.Year, now.Month, 1);
            var startDate = currentMonth.AddYears(-1);

            var highchart = new Highcharts("AllGoalsMonth");
            var chart = new Chart()
                {
                    Type = ChartTypes.Column
                };
            highchart.InitChart(chart);
            highchart.SetTitle(new Title() {Text = "Goals by Month"});
            var yaxis = new YAxis {Max = 2};
            highchart.SetYAxis(yaxis);
            var series = new Series {Name = "Steps"};
            var xaxis = new XAxis();
            var categories = new List<string>();
            var data = new List<object>();
            for (var i = startDate; i <= currentMonth; i = i.AddMonths(1))
            {
                categories.Add(i.Month.ToString() + "-" + i.Year.ToString());
                data.Add(pedometerCalcService.MonthPct(i.Month, i.Year));
            }
            xaxis.Categories = categories.ToArray();
            series.Data = new Data(data.ToArray());
            highchart.SetXAxis(xaxis);
            highchart.SetSeries(series);

            return highchart.ToHtmlString();
        }
Exemplo n.º 2
0
        public string ReporteTarjetasPorEmpleado()
        {
            BLL.BLLHistoricoSolicitudTarjeta bll = new BLL.BLLHistoricoSolicitudTarjeta();

            var hist = bll.ObtenerHistoricoSolicitudTarjetasPorEmpleado();

            Highcharts chart = new DotNet.Highcharts.Highcharts("Cantidad de patos en Australia");

            chart.InitChart(new DotNet.Highcharts.Options.Chart {
                DefaultSeriesType = DotNet.Highcharts.Enums.ChartTypes.Column
            });

            chart.SetTitle(new Title()
            {
                Text = "Cantidad de ventas por empleado"
            });

            object[] datos = new object[hist.Length];
            for (int i = 0; i < hist.Length; i++)
            {
                datos[i] = hist[i].Item2;
            }
            chart.SetSeries(new Series()
            {
                Data = new Data(datos),
                Name = "Tarjetas"
            });
            string[] cat = new string[hist.Length];
            for (int i = 0; i < hist.Length; i++)
            {
                cat[i] = hist[i].Item1;
            }
            chart.SetXAxis(new XAxis()
            {
                Categories = cat,
            });
            chart.SetYAxis(new YAxis()
            {
                Title = new YAxisTitle()
                {
                    Text = "Tarjetas"
                }
            });

            string cadena = chart.ToHtmlString();

            cadena = cadena.Substring(193);
            cadena = cadena.Substring(0, cadena.Length - 17);
            cadena = cadena.Replace("Cantidad de patos en Australia_container", "Chart");

            return(cadena);
        }
        //
        // GET: /HighChartsSampleModel/
        public ActionResult Index()
        {
            var highchartSample = new List<HighChartsSampleModel>
            {
                new HighChartsSampleModel() {Parameters = "Event", GoodScore = 23.45D, AverageScore = 15.32D,BadScore = 9.4D,ActualScore=78.33D},
                new HighChartsSampleModel() {Parameters = "Weather",GoodScore=45.67D,AverageScore = 33.24D,BadScore = 12.23D,ActualScore = 56.22D},
                new HighChartsSampleModel() {Parameters = "User Review",GoodScore=67.23D,AverageScore = 31.23D,BadScore = 10.11D,ActualScore = 29.44D},
                new HighChartsSampleModel() {Parameters = "Tweets",GoodScore = 89.67D,AverageScore = 12.33D,BadScore = 3.43D,ActualScore = 88.11D},
                new HighChartsSampleModel() {Parameters = "Persona",GoodScore=38.34D,AverageScore = 25.34D,BadScore = 16.43D,ActualScore = 35.08D},
                new HighChartsSampleModel() {Parameters = "Crime",GoodScore=38.34D,AverageScore = 25.34D,BadScore = 16.43D,ActualScore = 24.87D}
            };

            var xDataParameters = highchartSample.Select(i => i.Parameters).ToArray();
            var actualScore = highchartSample.Select(i => i.ActualScore);

            var chart = new Highcharts("chart");
            chart.InitChart(new Chart { DefaultSeriesType = ChartTypes.Bar });
            chart.SetTitle(new Title { Text = "Risk Score Profiling" });
            chart.SetSubtitle(new Subtitle { Text = "Risk predicting using social media" });
            chart.SetXAxis(new XAxis { Categories = xDataParameters });
            chart.SetYAxis(new YAxis { Title = new YAxisTitle { Text = "Scores" }, Max = 100 });
            chart.SetLegend(new Legend { Enabled = false, });
            chart.SetTooltip(new Tooltip
            {
                Enabled = true,
                Formatter = @"function(){return '<b>' + this.series.name +'</b><br/>' + this.x+':' + this.y;}"
            });
            chart.SetPlotOptions(new PlotOptions
            {
                //Series = new PlotOptionsSeries() { Stacking = Stackings.Normal },
                Bar = new PlotOptionsBar
                {
                    DataLabels = new PlotOptionsBarDataLabels { Enabled = true,Color = Color.Maroon,Shadow = true},
                    //PointWidth = 10,
                    //GroupPadding = 1,
                    //PointPadding = 0,
                    Shadow = true,
                    BorderWidth = 1,
                    BorderColor = Color.FloralWhite,
                }
            });
            Data data = new Data(
                actualScore.Select(y => new Point { Color = GetBarColor(y), Y = y}).ToArray()
            );

            chart.SetSeries(new Series { Name = "Actual Score", Data = data });

            return View(chart);
        }
Exemplo n.º 4
0
        public DotNet.Highcharts.Highcharts set_graph(graphViewModel model)
        {
            DotNet.Highcharts.Highcharts chart = new DotNet.Highcharts.Highcharts("chart")
                                                 .SetTitle(new Title {
                Text = "Production Graph"
            })
                                                 .SetSubtitle(new Subtitle
            {
                Text = "Date : " + DateTime.Today,
                X    = -20
            })
                                                 .SetXAxis(new XAxis
            {
                Categories = new[] { "6am", "7am", "8am", "9am", "10am", "11am", "12pm", "1pm", "2pm", "3pm", "4pm", "5pm", "6pm" }
            })

                                                 .SetSeries(new[]
            {
                new Series
                {
                    Name = "Laptop",
                    Data = new Data(new object[] { model.laptop_six_am, model.laptop_six_am, model.laptop_seven_am, model.laptop_eight_am, model.laptop_nine_am, model.laptop_ten_am, model.laptop_eleven_am, model.laptop_twelve_pm, model.laptop_one_pm, model.laptop_two_pm, model.laptop_three_pm, model.laptop_four_pm, model.laptop_five_pm })
                }
                , new Series
                {
                    Name = "Desktop",
                    Data = new Data(new object[] { model.desktop_six_am, model.desktop_six_am, model.desktop_seven_am, model.desktop_eight_am, model.desktop_nine_am, model.desktop_ten_am, model.desktop_eleven_am, model.desktop_twelve_pm, model.desktop_one_pm, model.desktop_two_pm, model.desktop_three_pm, model.desktop_four_pm, model.desktop_five_pm })
                }
            }


                                                            );
            chart.InitChart(new Chart {
                Width = 800, Height = 250
            });

            return(chart);
        }
Exemplo n.º 5
0
        //
        // GET: /Home/
        public ActionResult Index()
        {
            DbDataContext dt = new DbDataContext();

             //Fetching data from db:
            var voltageValues = dt.Values.Where(v => v.FieldName == "Voltage").OrderBy(v => v.Datetime).ToList<Value>();
            var currentValues = dt.Values.Where(v => v.FieldName == "Current").OrderBy(v => v.Datetime).ToList<Value>();

            Highcharts Chart = new Highcharts("Chart");
            // Initiizing chart
            // Making month and days persian, however it is not accurate at all!
            Chart.SetOptions(new GlobalOptions
            {
                Lang = new DotNet.Highcharts.Helpers.Lang
                {
                    Loading = "در حال بارگذاری",
                    Months = new string[] { "فروردین", "اردیبهشت", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند" },
                    Weekdays = new string[] { "شنبه", "یک شنبه", "دوشنبه", "سه شنبه", "چهارشنبه", "پنج شنبه", "جمعه" },
                    ShortMonths = new string[] { "فرور", "اردی", "خرداد", "تیر", "مرداد", "شهریور", "مهر", "آبان", "آذر", "دی", "بهمن", "اسفند" }
                }
            });
            Chart.InitChart(new Chart
                {
                    DefaultSeriesType = ChartTypes.Line,
                    MarginRight = 130,
                    MarginBottom = 55,
                    ClassName = "chart",
                    ZoomType = ZoomTypes.X
                })
            .SetTitle(new Title
                {
                    Text = "نمودار تغییرات داده ها "
                })
            .SetSubtitle(new Subtitle
                {
                    Text = "نمونه استفاده نمودار",
                    X = -20
                })
            .SetXAxis(new XAxis
                {
                    Type = AxisTypes.Datetime,
                    Title = new XAxisTitle
                    {
                        Text = "بازه زمانی از ... تا..."
                    },
                    MinorTickInterval = 3600 * 1000,
                    TickLength = 1,
                    MinRange = 3600 * 1000,
                    MinTickInterval = 3600 * 1000,
                    GridLineWidth = 1,
                    Labels = new XAxisLabels
                    {
                        Align = HorizontalAligns.Right,
                        Rotation = -30,
                    },
                    DateTimeLabelFormats = new DateTimeLabel
                    {
                        Second = "%H:%M:%S",
                        Minute = "%H:%M",
                        Hour = "%H:%M",
                        Day = "%e %b",
                        Week = "%e %b",
                        Month = "%b",
                        Year = "%Y",
                    },
                    ShowEmpty = false,

                })
                .SetLegend(new Legend
                {
                    Layout = Layouts.Vertical,
                    Align = HorizontalAligns.Left,
                    X = 20,
                    VerticalAlign = VerticalAligns.Top,
                    Y = 80,
                    BackgroundColor = new BackColorOrGradient(System.Drawing.ColorTranslator.FromHtml("#FFFFFF"))
                });

            YAxis[] yAxis = new YAxis[2];
            yAxis[0] = (new YAxis
            {
                Title = new YAxisTitle
                {
                    Text = string.Format("{0} ({1})", "Voltage", "V"),

                },
                Labels = new YAxisLabels
                {
                    //Align = HorizontalAligns.Right,
                    Formatter = "function() { return this.value; }",
                },
                Opposite = true,
                GridLineWidth = 0
            });
            yAxis[1] = (new YAxis
            {
                Title = new YAxisTitle
                {
                    Text = string.Format("{0} ({1})", "Current", "A"),

                },
                Labels = new YAxisLabels
                {
                    //Align = HorizontalAligns.Left,
                    Formatter = "function() { return this.value; }",
                },
                Opposite = false,
                GridLineWidth = 1
            });

            Chart.SetYAxis(yAxis);

            Series[] seriesOfData = new Series[2];

            object[,] x1 = new object[voltageValues.Count(), 2];
            for (int i = 0; i < voltageValues.Count(); i++)
            {

                x1[i, 0] = PersianDateTime.ParseFromDateTime(voltageValues[i].Datetime).ToString("Date.parse('MM/dd/yyyy HH:mm:ss')");
                x1[i, 1] = voltageValues[i].Value1;
            }

            DotNet.Highcharts.Helpers.Data data1 = new DotNet.Highcharts.Helpers.Data(x1);
            Series series1 = new Series
            {
                Name = "Voltage",
                Data = data1,
                Type = ChartTypes.Line,
            };
            series1.YAxis = "0";
            seriesOfData[0] = series1;

            object[,] x2 = new object[currentValues.Count(), 2];
            for (int i = 0; i < voltageValues.Count(); i++)
            {
                x2[i, 0] = PersianDateTime.ParseFromDateTime(voltageValues[i].Datetime).ToString("Date.parse('MM/dd/yyyy HH:mm:ss')");
                x2[i, 1] = currentValues[i].Value1;
            }
            DotNet.Highcharts.Helpers.Data data2 = new DotNet.Highcharts.Helpers.Data(x2);
            Series series2 = new Series
            {
                Name = "Current",
                Data = data2,
                Type = ChartTypes.Spline,
            };
            series1.YAxis = "1";
            seriesOfData[1] = series2;

            Chart.SetSeries(seriesOfData);
            ViewBag.Chart = Chart;

            return View();
        }
Exemplo n.º 6
0
        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            var lists = new List<HomeModel>{
                new HomeModel(){ Date = new DateTime(2015, 08, 10), Weight = 232.8 },
                new HomeModel(){ Date = new DateTime(2015, 08, 11), Weight = 232.6 },
                new HomeModel(){ Date = new DateTime(2015, 08, 12), Weight = 233 },
                new HomeModel(){ Date = new DateTime(2015, 08, 13), Weight = 232.8 },
                new HomeModel(){ Date = new DateTime(2015, 08, 14), Weight = 233.4 },
                new HomeModel(){ Date = new DateTime(2015, 08, 15), Weight = 233 },
                new HomeModel(){ Date = new DateTime(2015, 08, 16), Weight = 233 },
                new HomeModel(){ Date = new DateTime(2015, 08, 17), Weight = 232.8 },
                new HomeModel(){ Date = new DateTime(2015, 08, 18), Weight = 231.2 },
                new HomeModel(){ Date = new DateTime(2015, 08, 19), Weight = 231.8 },
                new HomeModel(){ Date = new DateTime(2015, 08, 20), Weight = 230.8 },
                new HomeModel(){ Date = new DateTime(2015, 08, 21), Weight = 231.8 },
                new HomeModel(){ Date = new DateTime(2015, 08, 22), Weight = 231 },
                new HomeModel(){ Date = new DateTime(2015, 08, 23), Weight = 230.2 },
                new HomeModel(){ Date = new DateTime(2015, 08, 24), Weight = 232.2 },
                new HomeModel(){ Date = new DateTime(2015, 08, 25), Weight = 232 },
                new HomeModel(){ Date = new DateTime(2015, 08, 26), Weight = 231.6 },
                new HomeModel(){ Date = new DateTime(2015, 08, 27), Weight = 230 },
                new HomeModel(){ Date = new DateTime(2015, 08, 28), Weight = 230 },
                new HomeModel(){ Date = new DateTime(2015, 08, 29), Weight = 231.4 },
                new HomeModel(){ Date = new DateTime(2015, 08, 30), Weight = 231.8 },
                new HomeModel(){ Date = new DateTime(2015, 08, 31), Weight = 230.6 },
                new HomeModel(){ Date = new DateTime(2015, 09, 01), Weight = 230.4 },
                new HomeModel(){ Date = new DateTime(2015, 09, 02), Weight = 229.2 },
                new HomeModel(){ Date = new DateTime(2015, 09, 03), Weight = 229.8 },
                new HomeModel(){ Date = new DateTime(2015, 09, 04), Weight = 230 },
                new HomeModel(){ Date = new DateTime(2015, 09, 05), Weight = 229.4 },
                new HomeModel(){ Date = new DateTime(2015, 09, 06), Weight = 230.2 },
                new HomeModel(){ Date = new DateTime(2015, 09, 07), Weight = 229.4 },
                new HomeModel(){ Date = new DateTime(2015, 09, 08), Weight = 228.8 }
            };

            var xDataDate = lists.Select(x => x.Date).ToArray();
            string[] xDate = xDataDate.Select(x => x.ToString("yyyy/MM/dd")).ToArray();
            var yDataWeight = lists.Select(x => new object[] { x.Weight }).ToArray();

            var chart = new Highcharts("charts");
            chart.InitChart(new Chart { DefaultSeriesType = ChartTypes.Line });
            chart.SetTitle(new Title { Text = "Weight for last month" });
            chart.SetSubtitle(new Subtitle { Text = "August 8 - September 8" });

            chart.SetXAxis(new XAxis { Categories = xDate });
            chart.SetYAxis(new YAxis { Title = new YAxisTitle { Text = "Weight in lbs" } })
                .SetTooltip(new Tooltip
                {
                    Enabled = true,
                    Formatter = @"function() { return '<b>' + this.series.name + '</b><br/>' + this.x +': ' + this.y; }"
                })
                .SetPlotOptions(new PlotOptions
                {
                    Line = new PlotOptionsLine
                    {
                        DataLabels = new PlotOptionsLineDataLabels
                        {
                            Enabled = true
                        },
                        EnableMouseTracking = false
                    }
                })

                .SetSeries(new[] {
                    new Series{ Name = "Date", Data = new Data(yDataWeight)},

                });

            return View(chart);
        }
Exemplo n.º 7
0
        private void GetAreaChart()
        {
            DashboardViewModel dashboard = new DashboardViewModel();
            dashboard.ViewModelEvent += dashboard_ViewModelEvent;

            // Get statistics
            List<Dictionary<string, object>> values = dashboard.GetAreaChart();

            if (values != null)
            {
                Highcharts areaChart = new Highcharts("areaChart");
                areaChart.InitChart(new Chart()
                {
                    DefaultSeriesType = ChartTypes.Area,
                    BackgroundColor = new DotNet.Highcharts.Helpers.BackColorOrGradient(Color.Transparent),
                    Height = 300
                });
                areaChart.SetPlotOptions(new PlotOptions()
                {
                    Series = new PlotOptionsSeries()
                    {
                        ConnectNulls = true,
                        ConnectEnds = true
                    }
                });
                areaChart.SetLegend(new DotNet.Highcharts.Options.Legend()
                {
                    Align = DotNet.Highcharts.Enums.HorizontalAligns.Center,
                    Layout = DotNet.Highcharts.Enums.Layouts.Horizontal,
                    VerticalAlign = DotNet.Highcharts.Enums.VerticalAligns.Bottom,
                    BorderWidth = 0
                });
                areaChart.SetCredits(new DotNet.Highcharts.Options.Credits() { Enabled = false });
                areaChart.SetTitle(new DotNet.Highcharts.Options.Title() { Text = "" });

                YAxis yAxis = new YAxis();
                yAxis.Title = new DotNet.Highcharts.Options.YAxisTitle() { Text = "" };
                yAxis.Min = 0;

                XAxis xAxis = new XAxis();
                xAxis.Categories = values[0].Keys.ToArray();

                List<Series> seriesCollection = new List<Series>();

                Series seriesUsers = new Series();
                seriesUsers.Data = new DotNet.Highcharts.Helpers.Data(values[0].Values.ToArray());
                seriesUsers.Name = "Users";
                seriesCollection.Add(seriesUsers);

                Series seriesMailbox = new Series();
                seriesMailbox.Data = new DotNet.Highcharts.Helpers.Data(values[1].Values.ToArray());
                seriesMailbox.Name = "Mailbox";
                seriesCollection.Add(seriesMailbox);

                if (StaticSettings.CitrixEnabled)
                {
                    Series seriesCitrix = new Series();
                    seriesCitrix.Data = new DotNet.Highcharts.Helpers.Data(values[2].Values.ToArray());
                    seriesCitrix.Name = "Citrix";
                    seriesCollection.Add(seriesCitrix);
                }

                areaChart.SetXAxis(xAxis);
                areaChart.SetYAxis(yAxis);
                areaChart.SetSeries(seriesCollection.ToArray());

                litAreaChart.Text = areaChart.ToHtmlString();
            }
            else
                litAreaChart.Text = "Error populating chart.";
        }
Exemplo n.º 8
0
        public string CurrentMonthGoalProgressNet()
        {
            var now = DateTime.Now;
            var daysInMonth = DateTime.DaysInMonth(now.Year, now.Month);
            var expectedPct = ((decimal)now.Day / daysInMonth);
            var remainingDays = daysInMonth - now.Day;
            var stepsPR = pedometerCalcService.StepsPR();
            var remainingSteps = (int) (stepsPR-pedometerCalcService.MonthStepsActual())/remainingDays;

            var highchart = new Highcharts("CurrentMonthGoal");
            var chart = new Chart() {Type = ChartTypes.Bar};
            var categories = new List<string> {"Steps"};
            var yaxis = new YAxis {Max = 1};

            var seriesArray = new List<Series>();
            var series = new Series {Name = "Expected",Color = Color.Red};
            var data = new List<object> {pedometerCalcService.MonthPctExpected(now)};
            var plotoptions = new PlotOptionsBar
                {
                    Grouping = false,
                    Shadow = false,
                    DataLabels = new PlotOptionsBarDataLabels()
                        {
                            Enabled = false,
                            Format = string.Format("Expected: {0}", (int) (stepsPR*expectedPct)),
                            Color = Color.White
                        }
                };
            series.Data = new Data(data.ToArray());
            series.PlotOptionsBar = plotoptions;
            seriesArray.Add(series);

            series = new Series {Name = "Actual", Color = Color.Green};
            data = new List<object> { pedometerCalcService.MonthPct(now.Month, now.Year) };
            plotoptions = new PlotOptionsBar
                {
                    Grouping = false,
                    Shadow = false,
                    DataLabels = new PlotOptionsBarDataLabels()
                        {
                            Enabled = true,
                            Format = string.Format("Remaining: {0}/day", remainingSteps),
                            Color = Color.White,
                            Shadow = false
                        }
                };
            series.Data = new Data(data.ToArray());
            series.PlotOptionsBar = plotoptions;
            seriesArray.Add(series);

            highchart.InitChart(chart);
            highchart.SetTitle(new Title() {Text = "Month Progress"});
            highchart.SetXAxis(new XAxis() {Categories = categories.ToArray()});
            highchart.SetYAxis(yaxis);
            highchart.SetSeries(seriesArray.ToArray());
            highchart.SetTooltip(new Tooltip() {Enabled = false});

            return highchart.ToHtmlString();
        }
Exemplo n.º 9
0
        public string WeightYearProgressNet()
        {
            var startWeight = pedometerCalcService.GetStartWeight(DateTime.Now.Year);
            const int goalWeight = 144;
            var currentWeight = pedometerCalcService.GetRecentWeight();
            var goalLoss = startWeight - goalWeight;
            var actualLoss = Math.Round(startWeight - currentWeight, 1);
            var expectedPct = (DateTime.Now.DayOfYear / 365.0);
            var expectedLoss = Math.Round(expectedPct * goalLoss, 1);

            var highchart = new Highcharts("weightloss");
            var chart = new Chart()
                {
                    Type = ChartTypes.Gauge
                };
            highchart.InitChart(chart);
            highchart.SetTitle(new Title{Text = "Weight Loss " + Math.Round(currentWeight,1)});
            var series = new Series {Data = new Data(new object[] {actualLoss})};
            highchart.SetSeries(series);
            var pane = new Pane
                {
                    Background = new[]
                        {
                            new BackgroundObject
                                {
                                    InnerRadius = new PercentageOrPixel(60, true),
                                    OuterRadius = new PercentageOrPixel(100, true)
                                }
                        },
                        StartAngle = 0,
                        EndAngle = 360
                };
            highchart.SetPane(pane);
            var yaxis = new YAxis
                {
                    Min = 0,
                    Max = goalLoss,
                    PlotBands = new[]
                            {
                                new YAxisPlotBands { From = 0, To = expectedLoss, Color = Color.Red },
                                new YAxisPlotBands { From = expectedLoss, To = expectedLoss+0.7, Color = Color.Yellow },
                                new YAxisPlotBands { From = expectedLoss+0.7, To = goalLoss, Color = Color.Green }
                            },
                    Labels = new YAxisLabels() { Style = "color:'black'"}
                };
            highchart.SetYAxis(yaxis);
            highchart.SetTooltip(new Tooltip() {Enabled = false});
            highchart.SetSubtitle(new Subtitle()
                {
                    Text = string.Format("Actual: {0} | Expected: {1} | Difference: {2}", actualLoss, expectedLoss, actualLoss-expectedLoss)
                });
            highchart.SetLegend(new Legend() {Enabled = false});
            return highchart.ToHtmlString();
        }