public ActionResult Index() { Session["Url"] = Request.RawUrl; if (Session["year"] == null) { HttpContext.GetOwinContext().Authentication.SignOut(); return(RedirectToAction("Login", "Account")); } ViewBag.TrienKhai = td.getTrienKhai(Session["year"].ToString(), DateTime.Parse(Session["date"].ToString()), Session["donvi"] == null ? "" : Session["donvi"].ToString()).FirstOrDefault(); string[] categories = new[] { "Đã kết thúc", "Đã trình duyệt BCKT", "Đã xét duyệt BCKT", "Đơn vị đã trình PHBCKT", "Vụ TH đã trình PHBCKT", "Đã phát hành BCKT" }; ChartsModel model = new ChartsModel(); model.Charts = new List <Highcharts>(); var tmp2 = td.getPhatHanh(Session["year"].ToString(), DateTime.Parse(Session["date"].ToString()), Session["donvi"] == null ? "" : Session["donvi"].ToString()).FirstOrDefault(); Series[] colData = new[] { new Series { Name = "", Data = new Data(new object[] { tmp2.dakt, tmp2.datrinhbc, tmp2.daduyetbc, tmp2.dvtrinhph, tmp2.thtrinhph, tmp2.ktnnph }) } }; ChartsController c = new ChartsController(); model.Charts.Add(c.ColChart1("chart", categories, colData).SetOptions(new GlobalOptions { Colors = new System.Drawing.Color[] { Color.FromArgb(92, 184, 92) } })); return(View(model)); }
// GET: Charts/Ratings public ActionResult Ratings(ChartsModel model) { model = model ?? new ChartsModel(); var to = model.To.Date; var from = model.From.Date; var providers = new List <IGraphDataProvider>(); if (model.UserId != null) { providers = model.UserId.Select(x => (IGraphDataProvider) new RatingHistory(x, model.RatingCategory)).ToList(); } var series = new List <GraphSeries>(); foreach (var prov in providers) { series.Add(new GraphSeries() { Title = prov.Title, Data = prov.GetDailyValues(from, to) }); } model.GraphingData = series; return(View("ChartsRatings", model)); }
public IActionResult Index() { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.covid19india.org/data.json"); request.Method = "GET"; String test = String.Empty; using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { Stream dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); test = reader.ReadToEnd(); reader.Close(); dataStream.Close(); } NationDataModel nationDataModel = JsonConvert.DeserializeObject <NationDataModel>(test); ChartsModel chartsModel = ChartsModelMapper.Map(nationDataModel); var stringModel = JsonConvert.SerializeObject(chartsModel); return(View(chartsModel)); }
public ActionResult Index(FormCollection collection) { var listItems = new List <SelectListItem>(); var questions = db.Questions.ToList(); foreach (var question in questions) { listItems.Add( new SelectListItem { Text = question.QuestionText, Value = question.QuestionText }); } ViewBag.ListItems = listItems; var name = Request.Form["listItems"]; var ChartCollection = new ChartsModel(); var chart = SurveryBarChart(name); var donutchart = SentimentStackBarChart(); ChartCollection.Chart1 = chart; ChartCollection.Chart2 = donutchart; // this.ViewBag.DonutchartModel = Donutchart; return(View(ChartCollection)); }
// GET: DashBoard public ActionResult Index() { var listItems = new List <SelectListItem>(); var questions = db.Questions.ToList(); foreach (var question in questions) { listItems.Add( new SelectListItem { Text = question.QuestionText, Value = question.QuestionText }); } ViewBag.ListItems = listItems; var chart = SurveryBarChart(); var donutchart = SentimentStackBarChart(); var ChartCollection = new ChartsModel(); ChartCollection.Option = listItems.LastOrDefault().Text; ChartCollection.Chart1 = null; ChartCollection.Chart2 = donutchart; // this.ViewBag.DonutchartModel = Donutchart; return(View(ChartCollection)); }
private BuisenessLogicSSKA() { progrBar = new WindowProgrBar(); dataGate = new CsvToXmlSSKA(); chartsModel = ChartsModel.GetInstance(); request = DataRequest.GetInstance(); request.DataRequested += delegate { this.UpdateDataModel(); }; request.FilterValuesRequested += delegate { this.FilterData(); }; request.DataBankUpdateRequested += delegate { UpdateData(); }; request.ViewDataRequested += delegate { this.UpdateViewData(); }; updateChart += delegate { chartsModel.IncomesInfoOverDateRange = GetIncomesInfoOverDateRange(request); }; updateChart += delegate { chartsModel.IncomesOverDatesRange = GetIncomesOverDatesRange(request); }; updateChart += delegate { chartsModel.BalanceOverDateRange = GetBalanceOverDateRange(request); }; updateChart += delegate { chartsModel.ExpensesOverDateRange = GetExpensesOverDateRange(request); }; updateChart += delegate { chartsModel.ExpensesInfoOverDateRange = GetExpensesInfoOverDateRange(request); }; updateChart += delegate { chartsModel.ExpensesOverRemiteeGroupsInDateRange = GetExpensesOverRemiteeGroupsInDateRange(request); }; updateChart += delegate { chartsModel.ExpensesOverRemiteeInDateRange = GetExpensesOverRemiteeInDateRange(request); }; updateChart += delegate { chartsModel.Summary = GetSummary(request); }; updateChart += delegate { chartsModel.TransactionsAccounts = GetTransactionsAccounts(request); }; UpdateDataModel(); }
public ActionResult Index(ChartsModel model) { model = model ?? new ChartsModel(); model.PossibleGraphs = GetPossibleProviders().Select(x => new ChartsModel.PossibleGraph() { Title = x.Title, Name = x.Name }).ToList(); var to = model.To.Date; var from = model.From.Date; var grouping = model.Grouping; var providers = GetPossibleProviders().Where(x => model.Graphs.Contains(x.Name)); var series = new List <GraphSeries>(); foreach (var prov in providers) { var data = MemCache.GetCached($"chart_{prov.Title}_{from}_{to}", () => GraphPoint.FillHoles(prov.GetDailyValues(from, to), from, to).ToList(), 3600 * 24); if (grouping > 1) { data = data.GroupBy(x => (int)x.Day.Subtract(from).TotalDays / grouping) .Select(x => new GraphPoint() { Day = x.First().Day, Value = x.Average(y => y.Value) }) .ToList(); } series.Add(new GraphSeries() { Title = prov.Title, Data = data }); } if (model.Normalize) { foreach (var s in series) { var min = s.Data.Min(x => x.Value); var max = s.Data.Max(x => x.Value); foreach (var d in s.Data) { d.Value = 100.0 * (d.Value - min) / (max - min); } } } model.GraphingData = series; return(View("ChartsIndex", model)); }
// GET: Charts public ActionResult Index(ChartsModel model) { model = model ?? new ChartsModel(); model.PossibleGraphs = GetPossibleProviders().Select(x => new ChartsModel.PossibleGraph() { Title = x.Title, Name = x.Name }).ToList(); return(View("ChartsIndex", model)); }
public ChartsPresenter(IViewCharts viewChC, IBuisenessLogic bl) { this.bl = bl; this.request = bl.Request; _viewChC = viewChC; chartModel = bl.ChartsModel; _viewChC.BeginDate = request.BeginDate; _viewChC.EndDate = request.EndDate; _viewChC.OnDateIntervalChanged += delegate { this.Initialaze(); }; chartModel.PropertyChanged += ReactOnPropertyChange; chartModel.ViewPropertyChanged += ReactOnViewPropertyChange; }
/// <summary> /// Presenta la información detalle /// </summary> /// <returns></returns> public ActionResult DashBoard() { List <MenuBO> myMenu = Util.GetDashBoardMenu(Session["myMenu"]); var charts = new ChartsModel(); int cont = 0; foreach (var item in myMenu) { charts = GetChartsModel(charts, item, cont); cont++; } Response.AddHeader("Refresh", ConfigurationManager.AppSettings["Refresh"]); return(View(charts)); }
public ActionResult Create(FormCollection collection, Charts chart) { string MedicineName = collection.Get("name"); chart.From = new DateTime(chart.From.Year, chart.From.Month, 1); chart.To = new DateTime(chart.To.Year, chart.To.Month, 1); Charts current = new Charts(MedicineName, chart.From, chart.To); ChartsModel model = new ChartsModel(); model.GetChart(current); ChartsViewModel viewModel = new ChartsViewModel(current); TempData["viewModel"] = viewModel; return(RedirectToAction("Index")); }
// GET: Charts/Ratings public ActionResult Ratings(ChartsModel model) { model = model ?? new ChartsModel(); var to = model.To.Date; var from = model.From.Date; var providers = new List <IGraphDataProvider>(); if (model.UserId != null) { providers.AddRange(model.UserId.Select(x => (IGraphDataProvider) new RatingHistory(x, model.RatingCategory)).ToList()); //providers.AddRange(model.UserId.Select(x => (IGraphDataProvider)new LadderRatingHistory(x, model.RatingCategory)).ToList()); //75% confidence } var series = new List <GraphSeries>(); foreach (var prov in providers) { series.Add(new GraphSeries() { Title = prov.Title, Data = prov.GetDailyValues(from, to) }); } model.GraphingData = series; if (model.UserId != null) { using (var db = new ZkDataContext()) { model.UserStats = model.UserId.Select(id => new UserStats() { Account = db.Accounts.Where(x => x.AccountID == id).Include(x => x.Faction).Include(x => x.Clan).FirstOrDefault(), RankStats = RatingSystems.ratingCategories.Select(s => new RankStats() { System = s.ToString(), CurrentRating = RatingSystems.GetRatingSystem(s).GetPlayerRating(id), Bracket = RatingSystems.GetRatingSystem(s).GetPercentileBracket(db.Accounts.FirstOrDefault(a => a.AccountID == id).Rank), }).ToList(), }).ToList(); } } return(View("ChartsRatings", model)); }
/// <summary> /// POST: Driver Status percentage Charts /// </summary> /// <returns></returns> public ActionResult DriverStatusCharts(string driver, DateTime?fromDate, DateTime?toDate) { ViewBag.Drivers = new SelectList(context.Users.Where(u => u.UserType == "Driver"), "Username", "Username"); #region Chart instantiation Highcharts columnChart = new Highcharts("columnchart"); Highcharts barChart = new Highcharts("barchart"); Highcharts areaChart = new Highcharts("areaChart"); Highcharts lineChart = new Highcharts("lineChart"); Highcharts areasplineChart = new Highcharts("areasplineChart"); Highcharts splineChart = new Highcharts("splineChart"); Highcharts pieChart = new Highcharts("pieChart"); Highcharts scatterChart = new Highcharts("scatterChart"); #endregion #region Charts List var charts = new ChartsModel { ColumnChart = columnChart, BarChart = barChart, AreaChart = areaChart, LineChart = lineChart, AreasplineChart = areasplineChart, SplineChart = splineChart, PieChart = pieChart, ScatterChart = scatterChart }; #endregion IQueryable <DriverStatusCount> statusCounts = context.DriverStatusCounts.Where(d => d.Driver == driver && d.Date >= fromDate && d.Date <= toDate); if (statusCounts != null) { #region Get the dates List <DriverStatusPercentage> statuspercentages = new List <DriverStatusPercentage>(); List <string> dates = new List <string>(); foreach (var status in statusCounts) { if (status.Date == null) { status.Date = DateTime.Now.Date; } if (!dates.Contains(status.Date.ToShortDateString())) { dates.Add(status.Date.ToShortDateString()); statuspercentages.Add(new DriverStatusPercentage() { Date = status.Date }); } } #endregion #region Get the daily status percentage for the driver foreach (var status in statusCounts) { foreach (var day in dates) { if (status.Date.ToShortDateString() == day) { foreach (var percentM in statuspercentages) { if (percentM.Date.ToShortDateString() == day) { // Get status percentage int value = status.OnlineCount + status.OfflineCount; percentM.OnlinePercentage = status.OnlineCount * 100 / value; percentM.OfflinePercentage = status.OfflineCount * 100 / value; } } } } } #endregion #region Get daily revenue list List <object> onlineState = new List <object>(); List <object> offlineState = new List <object>(); foreach (var percentage in statuspercentages) { onlineState.Add(percentage.OnlinePercentage); offlineState.Add(percentage.OfflinePercentage); } #endregion #region Initialization columnChart = InitializeChart(columnChart, ChartTypes.Column, driver, dates, onlineState, offlineState, "Offline percentage", "Driver Status Analysis", "Date", "percentage", "Online percentage"); barChart = InitializeChart(barChart, ChartTypes.Bar, driver, dates, onlineState, offlineState, "Offline percentage", "Driver Status Analysis", "Date", "percentage", "Online percentage"); areaChart = InitializeChart(areaChart, ChartTypes.Area, driver, dates, onlineState, offlineState, "Offline percentage", "Driver Status Analysis", "Date", "percentage", "Online percentage"); lineChart = InitializeChart(lineChart, ChartTypes.Line, driver, dates, onlineState, offlineState, "Offline percentage", "Driver Status Analysis", "Date", "percentage", "Online percentage"); areasplineChart = InitializeChart(areasplineChart, ChartTypes.Areaspline, driver, dates, onlineState, offlineState, "Offline percentage", "Driver Status Analysis", "Date", "percentage", "Online percentage"); splineChart = InitializeChart(splineChart, ChartTypes.Spline, driver, dates, onlineState, offlineState, "Offline percentage", "Driver Status Analysis", "Date", "percentage", "Online percentage"); pieChart = InitializeChart(pieChart, ChartTypes.Pie, driver, dates, onlineState, offlineState, "Offline percentage", "Driver Status Analysis", "Date", "percentage", "Online percentage"); scatterChart = InitializeChart(scatterChart, ChartTypes.Scatter, driver, dates, onlineState, offlineState, "Offline percentage", "Driver Status Analysis", "Date", "percentage", "Online percentage"); ViewBag.Charts = true; #endregion } return(View(charts)); }
/// <summary> /// POST: Daily Distance Coverage Charts /// </summary> /// <returns></returns> public ActionResult DriverDistanceCharts(string driver, DateTime?fromDate, DateTime?toDate) { ViewBag.Drivers = new SelectList(context.Users.Where(u => u.UserType == "Driver"), "Username", "Username"); #region Chart instantiation Highcharts columnChart = new Highcharts("columnchart"); Highcharts barChart = new Highcharts("barchart"); Highcharts areaChart = new Highcharts("areaChart"); Highcharts lineChart = new Highcharts("lineChart"); Highcharts areasplineChart = new Highcharts("areasplineChart"); Highcharts splineChart = new Highcharts("splineChart"); Highcharts pieChart = new Highcharts("pieChart"); Highcharts scatterChart = new Highcharts("scatterChart"); #endregion #region Charts List var charts = new ChartsModel { ColumnChart = columnChart, BarChart = barChart, AreaChart = areaChart, LineChart = lineChart, AreasplineChart = areasplineChart, SplineChart = splineChart, PieChart = pieChart, ScatterChart = scatterChart }; #endregion IQueryable <Reservation> revs = context.Reservations.Where(r => r.Driver == driver && (r.Status == "Ended" || r.Status == "Ended & Feedback Left") && r.PickUpDate >= fromDate && r.PickUpDate <= toDate); if (revs != null && revs.Count() != 0) { #region Get the dates List <DriverDailyDist> dailyDist = new List <DriverDailyDist>(); List <string> dates = new List <string>(); foreach (var rev in revs) { if (!dates.Contains(rev.PickUpDate.Date.ToShortDateString())) { dates.Add(rev.PickUpDate.Date.ToShortDateString()); dailyDist.Add(new DriverDailyDist() { Date = rev.PickUpDate.Date }); } } #endregion #region Get the daily distance for the driver foreach (var rev in revs) { foreach (var day in dates) { if (rev.PickUpDate.Date.ToShortDateString() == day) { foreach (var distM in dailyDist) { if (distM.Date.Date.ToShortDateString() == day) { // Add the OnHire and Full distance to the daily distance coverage distM.OnHire += rev.OnHireDistance; if (rev.OverallDistance == null) { rev.OverallDistance = 0; } distM.Full += (decimal)rev.OverallDistance; } } } } } #endregion #region Get daily revenue list List <object> onHireDist = new List <object>(); List <object> fullDist = new List <object>(); foreach (var rev in dailyDist) { onHireDist.Add(rev.OnHire); fullDist.Add(rev.Full); } #endregion #region Initialization columnChart = InitializeChart(columnChart, ChartTypes.Column, driver, dates, onHireDist, fullDist, "Full Distance", "Daily Distance Coverage Analysis", "Date", "On Hire & Full Distance (KM)", "On Hire Distance"); barChart = InitializeChart(barChart, ChartTypes.Bar, driver, dates, onHireDist, fullDist, "Full Distance", "Daily Distance Coverage Analysis", "Date", "On Hire & Full Distance (KM)", "On Hire Distance"); areaChart = InitializeChart(areaChart, ChartTypes.Area, driver, dates, onHireDist, fullDist, "Full Distance", "Daily Distance Coverage Analysis", "Date", "On Hire & Full Distance (KM)", "On Hire Distance"); lineChart = InitializeChart(lineChart, ChartTypes.Line, driver, dates, onHireDist, fullDist, "Full Distance", "Daily Distance Coverage Analysis", "Date", "On Hire & Full Distance (KM)", "On Hire Distance"); areasplineChart = InitializeChart(areasplineChart, ChartTypes.Areaspline, driver, dates, onHireDist, fullDist, "Full Distance", "Daily Distance Coverage Analysis", "Date", "On Hire & Full Distance (KM)", "On Hire Distance"); splineChart = InitializeChart(splineChart, ChartTypes.Spline, driver, dates, onHireDist, fullDist, "Full Distance", "Daily Distance Coverage Analysis", "Date", "On Hire & Full Distance (KM)", "On Hire Distance"); pieChart = InitializeChart(pieChart, ChartTypes.Pie, driver, dates, onHireDist, fullDist, "Full Distance", "Daily Distance Coverage Analysis", "Date", "On Hire & Full Distance (KM)", "On Hire Distance"); scatterChart = InitializeChart(scatterChart, ChartTypes.Scatter, driver, dates, onHireDist, fullDist, "Full Distance", "Daily Distance Coverage Analysis", "Date", "On Hire & Full Distance (KM)", "On Hire Distance"); ViewBag.Charts = true; #endregion } return(View(charts)); }
/// <summary> /// POST: DriverRevenueCharts /// </summary> /// <returns></returns> public ActionResult DriverMonthlyRevenueCharts(string driver, string year) { ViewBag.Drivers = new SelectList(context.Users.Where(u => u.UserType == "Driver"), "Username", "Username"); #region Get a list of years List <int> years = new List <int>(); int startYear = DateTime.Now.Year; while (startYear >= DateTime.Now.AddYears(-5).Year) { years.Add(startYear); startYear -= 1; } ViewBag.Years = years; #endregion #region Chart instantiation Highcharts columnChart = new Highcharts("columnchart"); Highcharts barChart = new Highcharts("barchart"); Highcharts areaChart = new Highcharts("areaChart"); Highcharts lineChart = new Highcharts("lineChart"); Highcharts areasplineChart = new Highcharts("areasplineChart"); Highcharts splineChart = new Highcharts("splineChart"); Highcharts pieChart = new Highcharts("pieChart"); Highcharts scatterChart = new Highcharts("scatterChart"); #endregion #region Charts List var charts = new ChartsModel { ColumnChart = columnChart, BarChart = barChart, AreaChart = areaChart, LineChart = lineChart, AreasplineChart = areasplineChart, SplineChart = splineChart, PieChart = pieChart, ScatterChart = scatterChart }; #endregion IQueryable <Reservation> revs = context.Reservations.Where(r => r.Driver == driver && (r.Status == "Ended" || r.Status == "Ended & Feedback Left") && r.PickUpDate.Year.ToString() == year); if (revs != null && revs.Count() != 0) { #region Get the months List <DriverMonthlyRev> monthlyRevs = new List <DriverMonthlyRev>(); List <string> months = new List <string>(); foreach (var rev in revs) { if (!months.Contains(GetMonth(rev.PickUpDate.Month))) { months.Add(GetMonth(rev.PickUpDate.Month)); monthlyRevs.Add(new DriverMonthlyRev() { Month = rev.PickUpDate.Month, MonthInText = GetMonth(rev.PickUpDate.Month) }); } } #endregion #region Get the daily revenue for the driver foreach (var rev in revs) { foreach (var month in months) { if (GetMonth(rev.PickUpDate.Month) == month) { foreach (var revM in monthlyRevs) { if (GetMonth(revM.Month) == month) { // Add the charge to the monthly income and commission revM.Income += rev.Charge; revM.Commission += rev.Charge * 90 / 100; } } } } } #endregion #region Get monthly income and commission list List <object> income = new List <object>(); List <object> commision = new List <object>(); foreach (var rev in monthlyRevs) { income.Add(rev.Income); commision.Add(rev.Commission); } #endregion #region Initialization columnChart = InitializeChart(columnChart, ChartTypes.Column, driver, months, commision, income, "Income", "Monthly Income & Commission Analysis", "Month", "Income & Commission", "Commission"); barChart = InitializeChart(barChart, ChartTypes.Bar, driver, months, commision, income, "Income", "Monthly Income & Commission Analysis", "Month", "Income & Commission", "Commission"); areaChart = InitializeChart(areaChart, ChartTypes.Area, driver, months, commision, income, "Income", "Monthly Income & Commission Analysis", "Month", "Income & Commission", "Commission"); lineChart = InitializeChart(lineChart, ChartTypes.Line, driver, months, commision, income, "Income", "Monthly Income & Commission Analysis", "Month", "Income & Commission", "Commission"); areasplineChart = InitializeChart(areasplineChart, ChartTypes.Areaspline, driver, months, commision, income, "Income", "Monthly Income & Commission Analysis", "Month", "Income & Commission", "Commission"); splineChart = InitializeChart(splineChart, ChartTypes.Spline, driver, months, commision, income, "Income", "Monthly Income & Commission Analysis", "Month", "Income & Commission", "Commission"); pieChart = InitializeChart(pieChart, ChartTypes.Pie, driver, months, commision, income, "Income", "Monthly Income & Commission Analysis", "Month", "Income & Commission", "Commission"); scatterChart = InitializeChart(scatterChart, ChartTypes.Scatter, driver, months, commision, income, "Income", "Monthly Income & Commission Analysis", "Month", "Income & Commission", "Commission"); ViewBag.Charts = true; #endregion } return(View(charts)); }
/// <summary> /// POST: DriverRevenueCharts /// </summary> /// <returns></returns> public ActionResult DriverRevenueCharts(string driver, DateTime?fromDate, DateTime?toDate) { ViewBag.Drivers = new SelectList(context.Users.Where(u => u.UserType == "Driver"), "Username", "Username"); #region Chart instantiation Highcharts columnChart = new Highcharts("columnchart"); Highcharts barChart = new Highcharts("barchart"); Highcharts areaChart = new Highcharts("areaChart"); Highcharts lineChart = new Highcharts("lineChart"); Highcharts areasplineChart = new Highcharts("areasplineChart"); Highcharts splineChart = new Highcharts("splineChart"); Highcharts pieChart = new Highcharts("pieChart"); Highcharts scatterChart = new Highcharts("scatterChart"); #endregion #region Charts List var charts = new ChartsModel { ColumnChart = columnChart, BarChart = barChart, AreaChart = areaChart, LineChart = lineChart, AreasplineChart = areasplineChart, SplineChart = splineChart, PieChart = pieChart, ScatterChart = scatterChart }; #endregion IQueryable <Reservation> revs = context.Reservations.Where(r => r.Driver == driver && (r.Status == "Ended" || r.Status == "Ended & Feedback Left") && r.PickUpDate >= fromDate && r.PickUpDate <= toDate); if (revs != null && revs.Count() != 0) { #region Get the dates List <DriverDailyRev> dailyRev = new List <DriverDailyRev>(); List <string> dates = new List <string>(); foreach (var rev in revs) { if (!dates.Contains(rev.PickUpDate.Date.ToShortDateString())) { dates.Add(rev.PickUpDate.Date.ToShortDateString()); dailyRev.Add(new DriverDailyRev() { Date = rev.PickUpDate.Date }); } } #endregion #region Get the daily revenue for the driver foreach (var rev in revs) { foreach (var day in dates) { if (rev.PickUpDate.Date.ToShortDateString() == day) { foreach (var revM in dailyRev) { if (revM.Date.Date.ToShortDateString() == day) { // Add the amount to the daily revenue revM.Amount += rev.Charge; } } } } } #endregion #region Get daily revenue list List <object> amount = new List <object>(); foreach (var rev in dailyRev) { amount.Add(rev.Amount); } #endregion #region Initialization columnChart = InitializeChart(columnChart, ChartTypes.Column, driver, dates, amount, null, null); barChart = InitializeChart(barChart, ChartTypes.Bar, driver, dates, amount, null, null); areaChart = InitializeChart(areaChart, ChartTypes.Area, driver, dates, amount, null, null); lineChart = InitializeChart(lineChart, ChartTypes.Line, driver, dates, amount, null, null); areasplineChart = InitializeChart(areasplineChart, ChartTypes.Areaspline, driver, dates, amount, null, null); splineChart = InitializeChart(splineChart, ChartTypes.Spline, driver, dates, amount, null, null); pieChart = InitializeChart(pieChart, ChartTypes.Pie, driver, dates, amount, null, null); scatterChart = InitializeChart(scatterChart, ChartTypes.Scatter, driver, dates, amount, null, null); ViewBag.Charts = true; #endregion } return(View(charts)); }
//public ActionResult Print() //{ // return new ActionAsPdf("Index",ev); //} public ActionResult Chart1() { Highcharts chart = new Highcharts("newChart") .SetTitle(new Title { Text = "Chart inside JavaScript function" }) .SetTooltip(new Tooltip { Formatter = "function() { return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %'; }" }) .SetXAxis(new XAxis { Categories = new[] { "Apples", "Oranges", "Pears", "Bananas", "Plums" } }) .SetTooltip(new Tooltip { Formatter = "TooltipFormatter" }) .SetLabels(new Labels { Items = new[] { new LabelsItems { Html = "Total fruit consumption", Style = "left: '40px', top: '8px', color: 'black'" } } }) .SetPlotOptions(new PlotOptions { Pie = new PlotOptionsPie { Center = new[] { new PercentageOrPixel(100), new PercentageOrPixel(80) }, Size = new PercentageOrPixel(100), ShowInLegend = false, DataLabels = new PlotOptionsPieDataLabels { Enabled = false } } }) .SetSeries(new[] { new Series { Type = ChartTypes.Column, Name = "Jane", Data = new DotNet.Highcharts.Helpers.Data(new object[] { 3, 2, 1, 3, 4 }) }, new Series { Type = ChartTypes.Column, Name = "John", Data = new DotNet.Highcharts.Helpers.Data(new object[] { 2, 3, 5, 7, 6 }) }, new Series { Type = ChartTypes.Column, Name = "Joe", Data = new DotNet.Highcharts.Helpers.Data(new object[] { 4, 3, 3, 9, 0 }) }, new Series { Type = ChartTypes.Spline, Name = "Average", Data = new DotNet.Highcharts.Helpers.Data(new object[] { 3, 2.67, 3, 6.33, 3.33 }) }, new Series { Type = ChartTypes.Pie, Name = "Total consumption", Data = new DotNet.Highcharts.Helpers.Data(new[] { new DotNet.Highcharts.Options.Point { Name = "Jane", Y = 13, Color = Color.FromName("colors[5]") }, new DotNet.Highcharts.Options.Point { Name = "John", Y = 23, Color = Color.FromName("colors[6]") }, new DotNet.Highcharts.Options.Point { Name = "Joe", Y = 19, Color = Color.FromName("colors[7]") } } ) } }) .InFunction("DrawChart") .AddJavascripVariable("colors", "Highcharts.getOptions().colors") .AddJavascripFunction("TooltipFormatter", @"var s; if (this.point.name) { // the pie chart s = ''+ this.point.name +': '+ this.y +' fruits'; } else { s = ''+ this.x +': '+ this.y; } return s;"); List <decimal> values = new List <decimal> { (decimal)29.9, (decimal)71.5, (decimal)106.4, (decimal)129.2, 111 }; Highcharts c1 = new Highcharts("chart") .InitChart(new Chart { Type = ChartTypes.Spline }) .SetTitle(new Title { Text = "Chart with decimal values" }) .SetXAxis(new XAxis { Categories = new[] { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" } }) .SetSeries(new Series { Data = new DotNet.Highcharts.Helpers.Data(values.Select(x => (object)x).ToArray()) }); var charts = new ChartsModel { Chart1 = chart, Chart2 = c1 }; return(View(charts)); }
public ActionResult Charts() { ViewBag.Message = "Your contact page."; CM = new ChartsModel(Startup.DeviceList.Devices.Find(x => x.name == UserManager.FindById(User.Identity.GetUserId()).DeviceName)); return(View()); }
public ActionResult GenerateGraph(ChartsModel model) { model = model ?? new ChartsModel(); var to = model.To.Date; var from = model.From.Date; var grouping = model.Grouping; var providers = GetPossibleProviders().Where(x => model.Graphs.Contains(x.Name)); var series = new List <GraphSeries>(); foreach (var prov in providers) { var data = MemCache.GetCached($"chart_{prov.Title}_{from}_{to}", () => GraphPoint.FillHoles(prov.GetDailyValues(from, to), from, to).ToList(), 3600 * 24); if (grouping > 1) { data = data.GroupBy(x => (int)x.Day.Subtract(from).TotalDays / grouping) .Select(x => new GraphPoint() { Day = x.First().Day, Value = x.Average(y => y.Value) }) .ToList(); } series.Add(new GraphSeries() { Title = prov.Title, Data = data }); } if (model.Normalize) { foreach (var s in series) { var min = s.Data.Min(x => x.Value); var max = s.Data.Max(x => x.Value); foreach (var d in s.Data) { d.Value = 100.0 * (d.Value - min) / (max - min); } } } // TODO: convert this to System.Web.UI.DataVisualization.Charting (which this thing is internally using) var chart = new Chart(1500, 700, ChartTheme.Blue); chart.AddTitle(string.Join(", ", providers.Select(x => x.Name))); chart.AddLegend("Daily values", "l"); var graphType = "Line"; foreach (var s in series) { chart.AddSeries(s.Title, graphType, xValue: s.Data.Select(x => x.Day.Date.ToString("d")).ToList(), yValues: s.Data.Select(y => y.Value).ToList(), legend: "l"); } return(File(chart.GetBytes("png"), "image/png")); }
//get public ActionResult Index(graphViewModel model, string fromDate, string toDate) { var user = User.Identity; var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context)); var s = UserManager.GetRoles(user.GetUserId()); if (s[0].ToString() == "Employee") { return(RedirectToAction("Index_nonadmin", "Home")); } var dateCriteria = DateTime.Now.Date.AddDays(-7); //save all dates string into this array List <DateTime> allDates = new List <DateTime>(); for (DateTime date = dateCriteria; date <= DateTime.Now; date = date.AddDays(1)) { allDates.Add(date); } ViewBag.fromDate = fromDate; ViewBag.toDate = toDate; var coa_arr = (from m in db.coas where m.Recipient_Type != "USED" select m).ToArray(); var s1_windows = (from m in coa_arr where m.location == "wcoa_s1" select m).ToArray(); var s1_office = (from n in coa_arr where n.location == "ocoa_s1" select n).ToArray(); var s2_windows = (from m in coa_arr where m.location == "wcoa_s2" select m).ToArray(); var s2_office = (from n in coa_arr where n.location == "ocoa_s2" select n).ToArray(); int w_g360_count_s1 = 0; int w_ts_count_s1 = 0; int w_mar_count_s1 = 0; int o_g360_count_s1 = 0; int o_ts_count_s1 = 0; int o_mar_count_s1 = 0; int w_g360_count_s2 = 0; int w_ts_count_s2 = 0; int w_mar_count_s2 = 0; int o_g360_count_s2 = 0; int o_ts_count_s2 = 0; int o_mar_count_s2 = 0; foreach (var coa in s1_windows) { switch (coa.Recipient_Organization_Name) { case "Good360": w_g360_count_s1 += 1; break; case "TechSoup.org": w_ts_count_s1 += 1; break; case "Interconnection": w_mar_count_s1 += 1; break; } } foreach (var coa in s1_office) { switch (coa.Recipient_Organization_Name) { case "Good360": o_g360_count_s1 += 1; break; case "TechSoup.org": o_ts_count_s1 += 1; break; case "Interconnection": o_mar_count_s1 += 1; break; } } foreach (var coa2 in s2_windows) { switch (coa2.Recipient_Organization_Name) { case "Good360": w_g360_count_s2 += 1; break; case "TechSoup.org": w_ts_count_s2 += 1; break; case "Interconnection": w_mar_count_s2 += 1; break; } } foreach (var coa2 in s2_office) { switch (coa2.Recipient_Organization_Name) { case "Good360": o_g360_count_s2 += 1; break; case "TechSoup.org": o_ts_count_s2 += 1; break; case "Interconnection": o_mar_count_s2 += 1; break; } } ViewBag.w_g360_count_s1 = w_g360_count_s1; ViewBag.w_g360_count_s2 = w_g360_count_s2; ViewBag.o_g360_count_s1 = o_g360_count_s1; ViewBag.o_g360_count_s2 = o_g360_count_s2; ViewBag.w_ts_count_s1 = w_ts_count_s1; ViewBag.w_ts_count_s2 = w_ts_count_s2; ViewBag.o_ts_count_s1 = o_ts_count_s1; ViewBag.o_ts_count_s2 = o_ts_count_s2; ViewBag.w_mar_count_s1 = w_mar_count_s1; ViewBag.w_mar_count_s2 = w_mar_count_s2; ViewBag.o_mar_count_s1 = o_mar_count_s1; ViewBag.o_mar_count_s2 = o_mar_count_s2; if (ViewBag.fromDate != null) { DateTime end; DateTime begin = DateTime.Parse(fromDate); if (toDate == "") { end = begin.AddDays(1).AddTicks(-1); } else { end = DateTime.Parse(toDate); } var fromandto = (from m in db.production_log where m.time > begin && m.time < end && m.location.Contains("Station 1") select m.time).ToArray(); var fromandto2 = (from m in db.production_log where m.time > begin && m.time < end && m.location.Contains("Station 2") select m.time).ToArray(); process_array(fromandto, fromandto2, model, allDates); int count_stations = fromandto.Count() + fromandto2.Count(); ViewBag.fromandto_total = "[" + count_stations + "] Station 1: [" + fromandto.Count() + "] Station 2: [" + fromandto2.Count() + "]"; ViewBag.station1 = fromandto.Count(); ViewBag.station2 = fromandto2.Count(); ViewBag.total = count_stations; } else { DateTime startDateTime = DateTime.Today; //Today at 00:00:00 DateTime endDateTime = DateTime.Today.AddDays(1).AddTicks(-1); var pallet = (from t in db.production_log where (t.time >= startDateTime && t.time <= endDateTime) && t.location.Contains("Station 2") select t.time).ToArray(); //int result = pallet.Count(); var pallet2 = (from t in db.production_log where (t.time >= startDateTime && t.time <= endDateTime) && t.location.Contains("Station 1") select t.time).ToArray(); process_array(pallet2, pallet, model, allDates); ViewBag.today_total = "Station 1: [" + pallet2.Count() + "] Station 2: [" + pallet.Count() + "]"; ViewBag.station1 = pallet2.Count(); ViewBag.station2 = pallet.Count(); ViewBag.total = pallet.Count() + pallet2.Count(); } Highcharts discovery_data = discover_weekly_graph(model, allDates); Highcharts chartColumn = lastweek_graph(model, allDates); ChartsModel charts = new ChartsModel(); charts.Chart3 = chartColumn; charts.Chart2 = discovery_data; ViewBag.weekGrahp = lastweek_graph(model, allDates); ViewBag.dis_weekGrahp = discover_weekly_graph(model, allDates); ViewBag.Model = set_graph(model); return(View(charts)); // return View(); }
// GET: Charts public ActionResult Index() { Session["Url"] = Request.RawUrl; ChartsModel model = new ChartsModel(); model.Charts = new List <Highcharts>(); var tmp = td.getTrienKhai(Session["year"].ToString(), DateTime.Parse(Session["date"].ToString()), Session["donvi"] == null ? "" : Session["donvi"].ToString()).FirstOrDefault(); string[] categories = { "Tổng số", "Chưa triển khai", "Đã triển khai" }; const string NAME = "Cuộc kiểm toán"; Data data = new Data(new[] { new Point { Y = tmp.TongSo, Color = Color.FromArgb(66, 139, 202) }, new Point { Y = tmp.ChuaTrienKhai, Color = Color.FromArgb(217, 83, 79) }, new Point { Y = tmp.DaTrienKhai, Color = Color.FromArgb(240, 173, 78), Drilldown = new Drilldown { Name = "Chrome versions", Categories = new[] { "Chưa kết thúc", "Đã kết thúc" }, Data = new Data(new object[] { tmp.ChuaKetThuc, tmp.DaKetThuc }), Color = Color.FromArgb(240, 173, 78) } } }); model.Charts.Add(ColDrillDown("chart", categories, NAME, data)); var s = new Series { Type = ChartTypes.Pie, Name = "Cuộc kiểm toán", Data = new Data(new object[] { new Point { Name = "Chưa triển khai", Y = tmp.ChuaTrienKhai, Color = Color.FromArgb(217, 83, 79) }, new Point { Name = "Đã triển khai", Y = tmp.DaTrienKhai, Color = Color.FromArgb(240, 173, 78) } }) }; model.Charts.Add(PieChart("chart1", s)); categories = new[] { "Đã kết thúc", "Đã trình duyệt BCKT", "Đã xét duyệt BCKT", "Đơn vị đã trình PHBCKT", "Vụ TH đã trình PHBCKT", "Đã phát hành BCKT" }; var tmp2 = td.getPhatHanh(Session["year"].ToString(), DateTime.Parse(Session["date"].ToString()), Session["donvi"] == null ? "" : Session["donvi"].ToString()).FirstOrDefault(); Series[] colData = new[] { new Series { Name = "", Data = new Data(new object[] { tmp2.dakt, tmp2.datrinhbc, tmp2.daduyetbc, tmp2.dvtrinhph, tmp2.thtrinhph, tmp2.ktnnph }) } }; model.Charts.Add(ColChart1("chart2", categories, colData).SetOptions(new GlobalOptions { Colors = new System.Drawing.Color[] { Color.FromArgb(92, 184, 92), Color.FromArgb(240, 173, 78), Color.FromArgb(217, 83, 79) } })); return(View(model)); }
private ChartsModel GetChartsModel(ChartsModel model, MenuBO item, int indexx) { if (indexx == 0) { if ((ChartType)item.GraphicsType != ChartType.Detalles) { model.ModelDef1.Name = item.Title; model.ModelDef1.Model = Grapher.GetGraphic(item); model.ModelDef1.isDetail = false; } else { model.ModelDef1.Name = item.Title; model.ModelDef1.Detail = Grapher.GetDatatailsDs(item); model.ModelDef1.isDetail = true; Session["Cars1"] = Util.AddGridView(model.ModelDef1.Detail); } } else if (indexx == 1) { if ((ChartType)item.GraphicsType != ChartType.Detalles) { model.ModelDef2.Name = item.Title; model.ModelDef2.Model = Grapher.GetGraphic(item); model.ModelDef2.isDetail = false; } else { model.ModelDef2.Name = item.Title; model.ModelDef2.Detail = Grapher.GetDatatailsDs(item); model.ModelDef2.isDetail = true; Session["Cars2"] = Util.AddGridView(model.ModelDef2.Detail); } } else if (indexx == 2) { if ((ChartType)item.GraphicsType != ChartType.Detalles) { model.ModelDef3.Name = item.Title; model.ModelDef3.Model = Grapher.GetGraphic(item); model.ModelDef3.isDetail = false; } else { model.ModelDef3.Name = item.Title; model.ModelDef3.Detail = Grapher.GetDatatailsDs(item); model.ModelDef3.isDetail = true; Session["Cars3"] = Util.AddGridView(model.ModelDef3.Detail); } } else { if ((ChartType)item.GraphicsType != ChartType.Detalles) { model.ModelDef4.Name = item.Title; model.ModelDef4.Model = Grapher.GetGraphic(item); model.ModelDef4.isDetail = false; } else { model.ModelDef4.Name = item.Title; model.ModelDef4.Detail = Grapher.GetDatatailsDs(item); model.ModelDef4.isDetail = true; Session["Cars4"] = Util.AddGridView(model.ModelDef4.Detail); } } return(model); }