public async Task <IActionResult> BarChartCategory(int categoryId) { var user = await _userManager.GetUserAsync(User); int nrUserTests = _context.Tests.Where(t => t.UserId == user.Id).Where(c => c.CategoryId == categoryId).Count(); int nrUserPassedTests = _context.Tests.Where(t => t.UserId == user.Id).Where(t => t.Passed == true).Where(c => c.CategoryId == categoryId).Count(); BarChartDataSet dataset = new BarChartDataSet() { data = new int[] { nrUserTests, nrUserPassedTests }, backgroundColor = new string[] { "#7195A3", "#8FB258" }, borderColor = new string[] { "#7195A3", "#8FB258" }, borderWidth = 2 }; BarChartData data = new BarChartData() { labels = new string[] { "Numarul de examene", "Numarul de teste trecute" }, datasets = new BarChartDataSet[] { dataset } }; return(Json(data)); }
public async Task <JsonResult> ProfileChart() { var user = await _userManager.GetUserAsync(User); int nrUserTests = _context.Tests.Where(t => t.UserId == user.Id).Count(); int nrUserPassedTests = _context.Tests.Where(t => t.UserId == user.Id).Where(t => t.Passed == true).Count(); BarChartDataSet dataset = new BarChartDataSet() { data = new int[] { nrUserPassedTests, nrUserTests - nrUserPassedTests }, backgroundColor = new string[] { "#8FB258", "#E14B3B" }, borderColor = new string[] { "#41924B", "#BF381A" }, borderWidth = 1 }; PieChartData data = new PieChartData() { labels = new string[] { "Numarul de teste trecute", "Numarul de teste picate" }, datasets = new BarChartDataSet[] { dataset } }; return(Json(data)); }
public JsonResult GetShipmentStatusYearlyChart(string Selectyear) { var cs = "Host=qa-datalake-pg.cluster-ctg0nvlybzpq.ap-southeast-1.rds.amazonaws.com; Username =liluna_datalake; Password =Liluna@SCGL; Database =pd_datalake"; var con = new NpgsqlConnection(cs); con.Open(); var sql = "select * from dom.\"Reporting_YearlySummary_ShipmentStatus\""; var cmd = new NpgsqlCommand(sql, con); NpgsqlDataReader dr = cmd.ExecuteReader(); List <string> lsLabel = new List <string>(); List <double> lsSMTotal = new List <double>(); List <string> lsbgcolorSMTotal = new List <string>(); List <string> lsbdcolorSMTotal = new List <string>(); string c1 = "rgba(255, 99, 132, 0.2)"; string c2 = "rgba(54, 162, 235, 0.2)"; string c3 = "rgba(255, 206, 86, 0.2)"; string c4 = "rgba(75, 192, 192, 0.2)"; string c5 = "rgba(153, 102, 255, 0.2)"; string c6 = "rgba(255, 159, 64, 0.2)"; while (dr.Read()) { lsLabel.Add(dr[2].ToString()); if (!string.IsNullOrEmpty(dr[1].ToString())) { lsSMTotal.Add(Convert.ToInt32(dr[1].ToString())); } //set color lsbgcolorSMTotal.Add(c1); lsbdcolorSMTotal.Add(c1); } //Mock the data BarChartDataSet datasetSMTotal = new BarChartDataSet() { type = "bar", label = "All Shipment", data = lsSMTotal.ToArray(), backgroundColor = lsbgcolorSMTotal.ToArray(), borderColor = lsbdcolorSMTotal.ToArray(), borderWidth = 1 }; BarChartData data = new BarChartData() { labels = lsLabel.ToArray(), datasets = new BarChartDataSet[] { datasetSMTotal } }; var jsonResult = Json(data); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public ActionResult GetChartData(string DataKey, int lineIdx) { var chartTargetModel = Session[SessionKeyConfig.ChartTargetModel] as ChartTargetModel; var dataLabel = chartTargetModel.ChartYAxisLables[0][DataKey]; //var data = new List<ChartXYData>(); //for (int i = 0; i < chartTargetModel.Labels.Count; i++) //{ // data.Add(new ChartXYData() { x = chartTargetModel.Labels[i], y = chartTargetModel.ChartYAxisValues[0][DataKey][i] }); //} var data = chartTargetModel.ChartYAxisValues[0][DataKey]; var idx = lineIdx % ChartTargetModel.ChartColors.Count; var key = DataKey; var dataset = new BarChartDataSet() { label = dataLabel, backgroundColor = ChartTargetModel.ChartColors[idx], borderColor = ChartTargetModel.ChartColors[idx], pointBorderColor = ChartTargetModel.ChartColors[idx], pointBackgroundColor = ChartTargetModel.ChartColors[idx], pointBorderWidth = 1, yAxisID = string.Format("y-axis-{0}", 0), data = data.ToArray(), lineTension = 0, fill = false, spanGaps = true, DataKey = DataKey }; var dMax = data.Max(); if (dMax > 10) { var len = Math.Floor(dMax.Value).ToString().Length - 1; var div = Convert.ToInt32(Math.Pow(10, len)); var ticksMax = (Math.Ceiling(dMax.Value / div) * div); if (ticksMax == dMax) { dMax = Convert.ToDecimal(Math.Ceiling(dMax.Value / div) * div) * 1.25m; } else { dMax = ticksMax; } } else { dMax = Math.Ceiling(dMax.Value * 1.25m); } dMax = Convert.ToDecimal(Math.Max(1, dMax.Value)); var r = new { dataset = dataset, ticksMax = dMax }; return(Json(r)); }
public JsonResult GetSpendingChartData() { //Setting up (Instantiating) data structures var barChartVM = new BarChartVM(); var actualChartDataSet = new BarChartDataSet(); var targetChartDataSet = new BarChartDataSet(); var hhId = User.Identity.GetHouseholdId(); //Select first seven of the latest var categories = db.Categories.Where(c => c.HouseholdId == hhId && c.DebitCredit == false).ToList(); //False 'DebitCredit' indicates a Debit foreach (var cat in categories) { var tTypeId = db.TransactionTypes.FirstOrDefault(t => t.Type == "Withdrawal").Id; var totalActual = cat.CategoryItems.SelectMany(c => c.Transactions).Where(t => t.TransactionTypeId == tTypeId).Where(t => t.Created.Month == DateTime.Now.Month).Select(t => t.Amount).Sum(); var totalTarget = cat.TargetAmount; //Adding actual/target amounts to datasets actualChartDataSet.data.Add(totalActual); targetChartDataSet.data.Add(totalTarget); //Adding chart labels to ViewModel barChartVM.labels.Add(cat.Name); } //Adding 'Actual Spending' data to the open dataset actualChartDataSet.label = "Actual Spending"; actualChartDataSet.backgroundColor = "rgba(60,141,188,0.9)"; actualChartDataSet.borderColor = "rgba(60,141,188,0.8)"; actualChartDataSet.pointRadius = false; actualChartDataSet.pointColor = "#208cff"; actualChartDataSet.pointStrokeColor = "#208cff"; actualChartDataSet.pointHighlightFill = "#208cff"; actualChartDataSet.pointHighlightStroke = "#208cff"; //Adding 'Target Spending' data to the closed dataset targetChartDataSet.label = "Target Spending"; targetChartDataSet.backgroundColor = "rgba(210, 214, 222, 1)"; targetChartDataSet.borderColor = "rgba(210, 214, 222, 1)"; targetChartDataSet.pointRadius = false; targetChartDataSet.pointColor = "rgba(210, 214, 222, 1)"; targetChartDataSet.pointStrokeColor = "#c1c7d1"; targetChartDataSet.pointHighlightFill = "#fff"; targetChartDataSet.pointHighlightStroke = "rgba(220,220,220,1)"; //Adding datasets to ViewModel barChartVM.datasets.Add(actualChartDataSet); barChartVM.datasets.Add(targetChartDataSet); //Sending all data via ViewModel to the View return(Json(barChartVM, JsonRequestBehavior.AllowGet)); }
/* * EXPORT FOR BAR */ public BarChartData ExportBarData(Widget.Charts.Models.BarChart.BarChartData bubbleChartData) { var dataSetItems = new List <BarChartDataSet>(); foreach (var item in bubbleChartData.DataSets) { var entryOriginal = item.IF_GetValues().Select(obj => new BarChartDataEntry(obj.GetXPosition(), obj.GetYPosition())); var dataSet = new BarChartDataSet(entryOriginal.ToArray(), item.IF_GetLabel()); OnIntializeDataSetBar(item, dataSet); dataSetItems.Add(dataSet); } var data = new BarChartData(dataSetItems.ToArray()); return(data); }
BarChartData GenerateBarData() { List <BarChartDataEntry> greenEntries = new List <BarChartDataEntry>(); List <BarChartDataEntry> blueEntries = new List <BarChartDataEntry>(); List <BarChartDataEntry> yellowEntries = new List <BarChartDataEntry>(); List <BarChartDataEntry> orangeEntries = new List <BarChartDataEntry>(); List <BarChartDataEntry> redEntries = new List <BarChartDataEntry>(); //Green greenEntries.Add(new BarChartDataEntry(0, 8f)); greenEntries.Add(new BarChartDataEntry(1, 3)); greenEntries.Add(new BarChartDataEntry(2, 1)); greenEntries.Add(new BarChartDataEntry(3, -1)); BarChartDataSet set1 = new BarChartDataSet(greenEntries.ToArray(), string.Empty); set1.DrawValuesEnabled = false; set1.SetColor(UIColor.Green); set1.ValueTextColor = UIColor.White; set1.ValueFont = UIFont.SystemFontOfSize(15); //Blue blueEntries.Add(new BarChartDataEntry(3, -1f)); blueEntries.Add(new BarChartDataEntry(4, -7f)); blueEntries.Add(new BarChartDataEntry(5, -2f)); blueEntries.Add(new BarChartDataEntry(6, -3f)); blueEntries.Add(new BarChartDataEntry(7, -4f)); BarChartDataSet set2 = new BarChartDataSet(blueEntries.ToArray(), string.Empty); set2.DrawValuesEnabled = false; set2.SetColor(UIColor.Red); set2.ValueTextColor = UIColor.White; set2.ValueFont = UIFont.SystemFontOfSize(15); //Yellow List <IInterfaceChartDataSet> dataSets = new List <IInterfaceChartDataSet>(); dataSets.Add(set1); dataSets.Add(set2); BarChartData barData = new BarChartData(dataSets.ToArray()); barData.BarWidth = 0.7f; return(barData); }
protected override void OnInitializeChartData() { base.OnInitializeChartData(); if (OriginalChartView != null && SupportChartView != null && SupportChartView.ChartData != null) { var dataSetItems = new List <BarChartDataSet>(); foreach (var item in SupportChartView.ChartData.DataSets) { var entryOriginal = item.IF_GetValues().Select(obj => new BarChartDataEntry(obj.GetXPosition(), obj.GetYPosition())); var dataSet = new BarChartDataSet(entryOriginal.ToArray(), item.IF_GetLabel()); OnIntializeDataSet(item, dataSet); dataSetItems.Add(dataSet); } var data = new BarChartData(dataSetItems.ToArray()); OriginalChartView.Data = data; OriginalChartView.ReloadInputViews(); OriginalChartView.SetNeedsDisplay(); } }
private void InitializeChart() { if (supportChart != null && supportChart.ChartData != null && chartOriginal != null) { SupportChart.OnInitializeChart(supportChart, chartOriginal); var data = supportChart.ChartData; var dataSetItems = new List <BarChartDataSet>(); foreach (var itemChild in data.IF_GetDataSet()) { var entryOriginal = itemChild.IF_GetEntry().Select(item => new iOSCharts.BarChartDataEntry(item.GetXPosition(), item.GetYPosition())); BarChartDataSet lineDataSet = new BarChartDataSet(entryOriginal.ToArray(), itemChild.IF_GetTitle()); lineDataSet.SetColor(itemChild.IF_GetDataColor().ToUIColor()); lineDataSet.DrawValuesEnabled = (itemChild.IF_GetDrawValue()); dataSetItems.Add(lineDataSet); } BarChartData lineData = new BarChartData(dataSetItems.ToArray()); chartOriginal.Data = lineData; } }
public ActionResult InitChart(FormCollection formData) { var ChartAxis = new List <ChartAxi>(); for (int i = 0; i < (formData.Count - 5) / 2; i++) { var index = Convert.ToInt32(formData[i * 2]); var key = string.Format("{0}", formData[i * 2 + 1]); if (key.Equals("0")) { continue; } ChartAxis.Add(new ChartAxi() { Index = index, // Convert.ToInt32(formData[i * 2]), Key = key // formData[i * 2 + 1] }); } var chartType = formData["ChartType"]; var chartType1 = formData["ChartType1"]; var chartType2 = formData["ChartType2"]; if (string.IsNullOrEmpty(chartType1)) { chartType1 = chartType; } if (string.IsNullOrEmpty(chartType2)) { chartType2 = chartType; } if (ChartAxis.Count == 1) { chartType = chartType1; } else { if (chartType1.Equals("line") && chartType2.Equals("line")) { chartType = "line"; } else { chartType = "bar"; } } var charTypes = new[] { chartType1, chartType2 }; var scaleMax = formData["Max"]; var scaleMin = formData["Min"]; var barConfig = new BarConfig(); var chartTargetModel = Session[SessionKeyConfig.ChartTargetModel] as ChartTargetModel; if (chartTargetModel == null) { barConfig.options.zoom.enabled = false; barConfig.options.zoom.drag = false; return(Json(barConfig)); } var axisLength = ChartAxis.Count; barConfig.type = chartType;// chartTargetModel.ChartTypes[0]; if (!string.IsNullOrEmpty(chartType) && chartTargetModel.ChartTypes.Contains(chartType)) { barConfig.type = chartType; } barConfig.data = new BarChartData(); barConfig.data.labels = chartTargetModel.Labels.ToArray(); barConfig.data.datasets = new BarChartDataSet[axisLength]; for (int i = 0; i < axisLength; i++) { var key = ChartAxis[i].Key; var dataset = new BarChartDataSet(); var yAxisLables = chartTargetModel.ChartYAxisLables[i]; var listData = chartTargetModel.ChartYAxisValues[i]; dataset.type = charTypes[i % charTypes.Length]; dataset.label = yAxisLables[key]; dataset.backgroundColor = ChartTargetModel.ChartColors[i]; dataset.borderColor = ChartTargetModel.ChartColors[i]; dataset.pointBorderColor = ChartTargetModel.ChartColors[i]; dataset.pointBackgroundColor = ChartTargetModel.ChartColors[i]; dataset.pointBorderWidth = 1; dataset.yAxisID = string.Format("y-axis-{0}", i + 1); dataset.data = listData[key].ToArray(); dataset.lineTension = 0; dataset.fill = false; dataset.DataKey = key; dataset.spanGaps = true; barConfig.data.datasets[i] = dataset; } if (chartType1 == "bar" || chartType2 == "line") { var dts = barConfig.data.datasets.Reverse().ToArray(); barConfig.data.datasets = dts; } barConfig.options = new Options(); barConfig.options.responsive = true; barConfig.options.hoverMode = "index"; barConfig.options.hoverAnimationDuration = 400; barConfig.options.stacked = false; barConfig.options.title = new Title() { display = false, text = chartTargetModel.Title }; barConfig.options.scales = new Scales(); if (barConfig.type.ToLower().Equals("bar")) { barConfig.options.scales.xAxes = new XAxe[1]; var time = new XAxeTime() { unit = chartTargetModel.XAxesTimeUnit, unitStepSize = chartTargetModel.XAxesUnitStepSize, displayFormats = chartTargetModel.XAxesDisplayFormats }; barConfig.options.scales.xAxes[0] = new XAxe() { type = "category", time = time, }; } else if (!string.IsNullOrEmpty(chartTargetModel.XAxesType) && !string.IsNullOrEmpty(chartTargetModel.XAxesTimeUnit)) { barConfig.options.scales.xAxes = new XAxe[1]; var time = new XAxeTime() { unit = chartTargetModel.XAxesTimeUnit, unitStepSize = chartTargetModel.XAxesUnitStepSize, displayFormats = chartTargetModel.XAxesDisplayFormats }; barConfig.options.scales.xAxes[0] = new XAxe() { type = chartTargetModel.XAxesType, time = time, }; } barConfig.options.scales.yAxes = new YAxe[axisLength]; for (int i = 0; i < axisLength; i++) { var key = ChartAxis[i].Key; //var showAxis=(key.Equals("0") ? false : true); var yAxisLables = chartTargetModel.ChartYAxisLables[i]; barConfig.options.scales.yAxes[i] = new YAxe(); barConfig.options.scales.yAxes[i].type = "linear"; // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance barConfig.options.scales.yAxes[i].display = true; barConfig.options.scales.yAxes[i].scaleLabel = new ScaleLabel() { display = true, labelString = yAxisLables[key] }; if (i % 2 == 0) { barConfig.options.scales.yAxes[i].position = "left"; } else { barConfig.options.scales.yAxes[i].position = "right"; } barConfig.options.scales.yAxes[i].id = string.Format("y-axis-{0}", i + 1); barConfig.options.scales.yAxes[i].gridLines = new GridLines() { drawOnChartArea = i == 0 }; var listData = chartTargetModel.ChartYAxisValues[i]; var dMax = listData[key].Max(); var dMin = listData[key].Min(); if (dMax > 10) { var len = Math.Floor(dMax.Value).ToString().Length - 1; var div = Convert.ToInt32(Math.Pow(10, len)); var ticksMax = (Math.Ceiling(dMax.Value / div) * div); if (ticksMax == dMax) { dMax = Convert.ToDecimal(Math.Ceiling(dMax.Value / div) * div) * 1.25m; } else { dMax = ticksMax; } } else { dMax = Math.Ceiling(dMax.Value * 1.25m); } dMax = Convert.ToDecimal(Math.Max(1, dMax.Value)); barConfig.options.scales.yAxes[i].ticks = new YAxesTicks() { max = dMax.Value, min = Math.Min(0, Math.Ceiling(dMin.Value * 1.1m)) }; } barConfig.options.zoom = new Zoom(); if (!chartTargetModel.ZoomEnable) { barConfig.options.zoom.enabled = false; barConfig.options.zoom.drag = false; } else { barConfig.options.zoom.sensitivity = chartTargetModel.ZoomSensitivity; if (chartType.ToLower().Equals("bar")) { barConfig.options.zoom.sensitivity = 0; } } var r = new { barConfig = barConfig, scaleMax = scaleMax, scaleMin = scaleMin }; return(Json(r)); }
private void OnIntializeDataSetBar(UltimateXF.Widget.Charts.Models.BarChart.IBarDataSet source, BarChartDataSet original) { /* * Properties could not set * IF_GetStackSize * IF_GetEntryCountStacks */ OnSettingsBarLineScatterCandleBubbleDataSet(source, original); if (source.IF_GetBarShadowColor().HasValue) { original.BarShadowColor = source.IF_GetBarShadowColor().Value.ToUIColor(); } if (source.IF_GetBarBorderWidth().HasValue) { original.BarBorderWidth = source.IF_GetBarBorderWidth().Value; } if (source.IF_GetBarBorderColor().HasValue) { original.BarBorderColor = source.IF_GetBarBorderColor().Value.ToUIColor(); } if (source.IF_GetHighLightAlpha().HasValue) { original.HighlightAlpha = source.IF_GetHighLightAlpha().Value; } if (source.IF_GetStackLabels() != null && source.IF_GetStackLabels().Count > 0) { original.StackLabels = (source.IF_GetStackLabels().ToArray()); } }
public override UICollectionViewCell GetCell(UICollectionView collectionView, NSIndexPath indexPath) { var resultCell = collectionView.DequeueReusableCell(ResultViewController.resultCellId, indexPath) as ResultCollectionViewCell; resultCell.BackgroundColor = UIColor.White; var reportDataSet = this.reportsDatasets[indexPath.Row]; if (ReportType.Overall.Equals(reports[indexPath.Row])) { resultCell.sectionLabel.Text = reports[indexPath.Row].ToString(); if (reportDataSet.totalVotes > 0) { var dataEntries = new List <PieChartDataEntry>(); for (int i = 0; i < reportDataSet.dataSets[0].Count; i++) { if (Convert.ToInt32(reportDataSet.dataSets[0][i]) > 0) { dataEntries.Add(new PieChartDataEntry(reportDataSet.dataSets[0][i], reportDataSet.labels[i])); } } var dataSet = new PieChartDataSet(dataEntries.ToArray(), ""); dataSet.ValueFormatter = new ChartDefaultValueFormatter(new NSNumberFormatter() { MinimumFractionDigits = 0 }); dataSet.SliceSpace = 2; //dataSet.Colors = ChartColorTemplates.Joyful; dataSet.Colors = this.chartColors.ToArray(); dataSet.ValueTextColor = UIColor.FromRGB(90, 89, 89); dataSet.ValueLineColor = UIColor.FromRGB(90, 89, 89); dataSet.EntryLabelColor = UIColor.FromRGB(90, 89, 89); dataSet.XValuePosition = PieChartValuePosition.OutsideSlice; dataSet.YValuePosition = PieChartValuePosition.OutsideSlice; resultCell.pieChartView.Data = new PieChartData(new PieChartDataSet[] { dataSet }); } resultCell.pieChartView.AnimateWithXAxisDuration(1.4, ChartEasingOption.EaseOutBack); resultCell.pieChartView.ChartDescription.Text = ""; var colorAttributes = new UIStringAttributes { ForegroundColor = UIColor.FromRGB(90, 89, 89) }; resultCell.pieChartView.CenterAttributedText = new NSAttributedString(string.Format("Total {0} votes", reportDataSet.totalVotes, colorAttributes)); resultCell.pieChartView.Legend.Enabled = false; resultCell.pieChartView.NoDataText = "No results to show"; resultCell.AddSubview(resultCell.pieChartView); resultCell.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|[v0]|", new NSLayoutFormatOptions(), "v0", resultCell.pieChartView)); resultCell.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|[v0(24)][v1]|", new NSLayoutFormatOptions(), "v0", resultCell.sectionLabel, "v1", resultCell.pieChartView)); } else { resultCell.sectionLabel.Text = "By " + reports[indexPath.Row].ToString(); resultCell.barChartView.Legend.Enabled = true; resultCell.barChartView.Legend.HorizontalAlignment = ChartLegendHorizontalAlignment.Right; resultCell.barChartView.Legend.VerticalAlignment = ChartLegendVerticalAlignment.Top; resultCell.barChartView.Legend.Orientation = ChartLegendOrientation.Vertical; resultCell.barChartView.Legend.DrawInside = true; resultCell.barChartView.Legend.YOffset = 10.0f; resultCell.barChartView.Legend.XOffset = 10.0f; resultCell.barChartView.Legend.YEntrySpace = 0.0f; resultCell.barChartView.Legend.TextColor = UIColor.FromRGB(90, 89, 89); resultCell.barChartView.XAxis.DrawGridLinesEnabled = true; resultCell.barChartView.XAxis.LabelPosition = XAxisLabelPosition.Bottom; resultCell.barChartView.XAxis.CenterAxisLabelsEnabled = true; resultCell.barChartView.XAxis.ValueFormatter = new ChartIndexAxisValueFormatter(TranslateReportGroups(reportDataSet.groups.ToArray())); resultCell.barChartView.XAxis.Granularity = 1; resultCell.barChartView.XAxis.LabelTextColor = UIColor.FromRGB(90, 89, 89); resultCell.barChartView.XAxis.GridColor = UIColor.FromRGB(90, 89, 89); resultCell.barChartView.XAxis.AxisLineColor = UIColor.FromRGB(90, 89, 89); resultCell.barChartView.LeftAxis.SpaceTop = 0.35f; resultCell.barChartView.LeftAxis.AxisMinimum = 0; resultCell.barChartView.LeftAxis.DrawGridLinesEnabled = false; resultCell.barChartView.LeftAxis.Granularity = 1; resultCell.barChartView.LeftAxis.ValueFormatter = new ChartDefaultAxisValueFormatter(new NSNumberFormatter() { MinimumFractionDigits = 0 }); resultCell.barChartView.LeftAxis.LabelTextColor = UIColor.FromRGB(90, 89, 89); resultCell.barChartView.LeftAxis.GridColor = UIColor.FromRGB(90, 89, 89); resultCell.barChartView.LeftAxis.AxisLineColor = UIColor.FromRGB(90, 89, 89); resultCell.barChartView.LeftAxis.ZeroLineColor = UIColor.FromRGB(90, 89, 89); resultCell.barChartView.RightAxis.Enabled = false; if (reportDataSet.totalVotes > 0) { var groupCount = reportDataSet.groups.Count; var optionsCount = reportDataSet.labels.Count; var dataEntriesList = new List <List <BarChartDataEntry> >(); for (int i = 0; i < optionsCount; i++) { var dataEntries = new List <BarChartDataEntry>(); for (int j = 0; j < groupCount; j++) { if (Convert.ToInt32(reportDataSet.dataSets[i][j]) > 0) { dataEntries.Add(new BarChartDataEntry(i, reportDataSet.dataSets[i][j])); } } dataEntriesList.Add(dataEntries); } var chartDataSetList = new List <BarChartDataSet>(); var k = 0; for (int i = 0; i < dataEntriesList.Count; i++) { var barChartDataSet = new BarChartDataSet(dataEntriesList[i].ToArray(), reportDataSet.labels[i]); if (dataEntriesList[i].ToArray().Length > 0) { barChartDataSet.SetColor(this.chartColors[k++]); } else { barChartDataSet.SetColor(UIColor.Clear); } barChartDataSet.ValueFormatter = new ChartDefaultValueFormatter(new NSNumberFormatter() { MinimumFractionDigits = 0, ZeroSymbol = "" }); barChartDataSet.ValueTextColor = UIColor.FromRGB(90, 89, 89); barChartDataSet.BarBorderColor = UIColor.FromRGB(90, 89, 89); chartDataSetList.Add(barChartDataSet); } var dataSets = chartDataSetList.ToArray(); var chartData = new BarChartData(dataSets); var initialXValue = 0; var groupSpace = 0.3; var barSpace = 0.05; var barWidth = (0.7 - (0.05 * optionsCount)) / optionsCount; // (barWidth + 0.05) * optionsCount + 0.3 = 1.00 -> interval per "group" chartData.BarWidth = barWidth; resultCell.barChartView.XAxis.AxisMinimum = initialXValue; resultCell.barChartView.XAxis.AxisMaximum = initialXValue + chartData.GroupWidthWithGroupSpace(groupSpace, barSpace) * groupCount; chartData.GroupBarsFromX(initialXValue, groupSpace, barSpace); resultCell.barChartView.Data = chartData; } resultCell.barChartView.AnimateWithXAxisDuration(1.4, ChartEasingOption.Linear); resultCell.barChartView.ChartDescription.Text = ""; resultCell.barChartView.NoDataText = "No results to show"; resultCell.AddSubview(resultCell.barChartView); resultCell.AddConstraints(NSLayoutConstraint.FromVisualFormat("H:|[v0]|", new NSLayoutFormatOptions(), "v0", resultCell.barChartView)); resultCell.AddConstraints(NSLayoutConstraint.FromVisualFormat("V:|[v0(24)][v1]|", new NSLayoutFormatOptions(), "v0", resultCell.sectionLabel, "v1", resultCell.barChartView)); } return(resultCell); }
public JsonResult GetLPC010_ShipmentStatusChart_ByType(string selectmonth, string selectday, string reporttype) { var cs = "Host=qa-datalake-pg.cluster-ctg0nvlybzpq.ap-southeast-1.rds.amazonaws.com; Username=datalakero; Password=d@t@SCGL; Database=pd_datalake"; var con = new NpgsqlConnection(cs); con.Open(); NpgsqlCommand command = new NpgsqlCommand(); command = con.CreateCommand(); var sql = " select a.*, b.count, b.DC_Inside, b.DC_Outside, b.Transfer, b.HUB" + " from ( " + " SELECT date_part('day'::text, dates_in_month) AS date_part " + " FROM generate_series(date_trunc('month'::text, now()) , date_trunc('month'::text, now()) + '1 mon'::interval - '1 day'::interval, '1 day'::interval) dates_in_month" + " ) a" + " left join (" + " select tmp.groupdate" + " , date_part('day'::text, tmp.groupdate) AS date_part" + " , count(distinct tmp.load_id)" + " , sum( case when tmp.type = 'DC_Inside' then 1 else 0 end) as DC_Inside" + " , sum( case when tmp.type = 'DC_Outside' then 1 else 0 end) as DC_Outside" + " , sum( case when tmp.type = 'HUB' then 1 else 0 end) as HUB" + " , sum( case when tmp.type = 'Transfer' then 1 else 0 end) as Transfer" + " from (" + " SELECT DISTINCT ON (ll.load_id)" + " ll.load_id AS load_id" + " , date(ll.user_create_date) as groupdate" + " , CASE" + " WHEN lld.origin_code::text = ANY (ARRAY['1130000009'::character varying::text, '6140000022'::character varying::text]) THEN 'DC_Inside'::text" + " WHEN lld.origin_code::text = ANY (ARRAY['1130000011'::character varying::text, '6140000023'::character varying::text]) THEN 'DC_Outside'::text" + " WHEN lld.origin_code::text = ANY (ARRAY['3500000029'::character varying::text, '3520000017'::character varying::text, '3530000011'::character varying::text, '3570000020'::character varying::text, '3600000017'::character varying::text, '3650000011'::character varying::text, '3670000013'::character varying::text, '4300000035'::character varying::text, '4340000027'::character varying::text, '4400000029'::character varying::text, '4410000023'::character varying::text, '4450000022'::character varying::text, '4490000009'::character varying::text, '5800000025'::character varying::text, '5800000027'::character varying::text, '5830000005'::character varying::text, '5840000022'::character varying::text, '5900000024'::character varying::text]) THEN 'HUB'::text" + " ELSE 'Transfer'::text" + " END AS type" + " FROM dom.scvmvc_tms_load_leg ll" + " left JOIN dom.scvmvc_tms_load_leg_detail lld ON ll.load_id::text = lld.load_id::text" + " where extract('month' from ll.user_create_date) = " + selectmonth + " ) tmp" + " group by tmp.groupdate, date_part('day'::text, tmp.groupdate)" + ") b on a.date_part = b.date_part"; command.CommandText = sql; command.Parameters.AddWithValue("@month", Convert.ToInt32(selectmonth)); command.Parameters.AddWithValue("@day", Convert.ToInt32(selectday)); NpgsqlDataReader dr = command.ExecuteReader(); List <string> lsLabel = new List <string>(); List <double> lsConsoTotal = new List <double>(); List <double> lsDC_Inside = new List <double>(); List <double> lsDC_Outside = new List <double>(); List <double> lsHub = new List <double>(); List <double> lsTransfer = new List <double>(); List <string> lsbgcolorConsoTotal = new List <string>(); List <string> lsbdcolorConsoTotal = new List <string>(); List <string> lsbgcolorDC_Inside = new List <string>(); List <string> lsbdcolorDC_Inside = new List <string>(); List <string> lsbgcolorDC_Outside = new List <string>(); List <string> lsbdcolorDC_Outside = new List <string>(); List <string> lsbgcolorHub = new List <string>(); List <string> lsbdcolorHub = new List <string>(); List <string> lsbgcolorTransfer = new List <string>(); List <string> lsbdcolorTransfer = new List <string>(); string c1 = "rgba(255, 99, 132, 0.2)"; string c2 = "rgba(54, 162, 235, 0.2)"; string c3 = "rgba(255, 206, 86, 0.2)"; string c4 = "rgba(75, 192, 192, 0.2)"; string c5 = "rgba(153, 102, 255, 0.2)"; string c6 = "rgba(255, 159, 64, 0.2)"; string c7 = "rgb(12, 202, 142, 0.5)"; string c8 = "rgb(255, 205, 86, 0.5)"; string c9 = "rgb(255, 99, 132, 0.5)"; string c10 = "rgb(54, 162, 235, 0.9)"; string c11 = "rgb(51, 102, 0, 0.9)"; while (dr.Read()) { lsLabel.Add(dr[0].ToString()); if (!string.IsNullOrEmpty(dr[1].ToString())) { lsConsoTotal.Add(Convert.ToInt32(dr[1].ToString())); } else { lsConsoTotal.Add(0); } if (!string.IsNullOrEmpty(dr[2].ToString())) { lsDC_Inside.Add(Convert.ToInt32(dr[2])); } else { lsDC_Inside.Add(0); } if (!string.IsNullOrEmpty(dr[3].ToString())) { lsDC_Outside.Add(Convert.ToInt32(dr[3])); } else { lsDC_Outside.Add(0); } if (!string.IsNullOrEmpty(dr[4].ToString())) { lsTransfer.Add(Convert.ToInt32(dr[4])); } else { lsTransfer.Add(0); } if (!string.IsNullOrEmpty(dr[5].ToString())) { lsHub.Add(Convert.ToInt32(dr[5])); } else { lsHub.Add(0); } //set color lsbgcolorConsoTotal.Add(c11); lsbdcolorConsoTotal.Add(c11); lsbgcolorDC_Inside.Add(c7); lsbdcolorDC_Inside.Add(c7); lsbgcolorDC_Outside.Add(c8); lsbdcolorDC_Outside.Add(c8); lsbgcolorHub.Add(c9); lsbdcolorHub.Add(c9); lsbgcolorTransfer.Add(c10); lsbdcolorTransfer.Add(c10); } //Mock the data BarChartDataSet datasetConsoTotal = new BarChartDataSet() { type = "line", label = "Conso Shipment", data = lsConsoTotal.ToArray(), backgroundColor = lsbgcolorConsoTotal.ToArray(), borderColor = lsbdcolorConsoTotal.ToArray(), borderWidth = 1 }; BarChartDataSet datasetDC_Inside = new BarChartDataSet() { type = "bar", label = "DC_Inside", data = lsDC_Inside.ToArray(), backgroundColor = lsbgcolorDC_Inside.ToArray(), borderColor = lsbdcolorDC_Inside.ToArray(), borderWidth = 1 }; BarChartDataSet datasetDC_Outside = new BarChartDataSet() { type = "bar", label = "DC_Outside", data = lsDC_Outside.ToArray(), backgroundColor = lsbgcolorDC_Outside.ToArray(), borderColor = lsbdcolorDC_Outside.ToArray(), borderWidth = 1 }; BarChartDataSet datasetTransfer = new BarChartDataSet() { type = "bar", label = "Transfer", data = lsTransfer.ToArray(), backgroundColor = lsbgcolorTransfer.ToArray(), borderColor = lsbdcolorTransfer.ToArray(), borderWidth = 1 }; BarChartDataSet datasetHub = new BarChartDataSet() { type = "bar", label = "Hub", data = lsHub.ToArray(), backgroundColor = lsbgcolorHub.ToArray(), borderColor = lsbdcolorHub.ToArray(), borderWidth = 1 }; BarChartData data = new BarChartData() { labels = lsLabel.ToArray(), datasets = new BarChartDataSet[] { datasetConsoTotal, datasetDC_Inside, datasetDC_Outside, datasetTransfer, datasetHub } }; var jsonResult = Json(data); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public JsonResult GetShipmentStatusChart_ByType(string selectmonth, string selectday, string reporttype) { var cs = "Host=qa-datalake-pg.cluster-ctg0nvlybzpq.ap-southeast-1.rds.amazonaws.com; Username=datalakero; Password=d@t@SCGL; Database=pd_datalake"; var con = new NpgsqlConnection(cs); con.Open(); NpgsqlCommand command = new NpgsqlCommand(); command = con.CreateCommand(); var sql = " SELECT a.date_part, b.date, b.\"SMTotal\", b.\"SMComplete\", b.\"SMGI\", b.\"SMTenderAccept\" " + " FROM ( SELECT date_part('day'::text, dates_this_month.dates_this_month) AS date_part" + " FROM generate_series(date_trunc('month'::text, now()), date_trunc('month'::text, now()) + '1 mon'::interval - '1 day'::interval, '1 day'::interval) dates_this_month(dates_this_month)) a" + " LEFT JOIN " + " ( select stat.date " + " , stat.day" + " , count(distinct stat.load_id) as \"SMTotal\"" + " , sum(stat.\"SMComplete\") as \"SMComplete\"" + " , sum(\"SMGI\") as \"SMGI\"" + " , sum(stat.\"SMTenderAccept\") as \"SMTenderAccept\"" + " from (" + " select distinct" + " date(scvdnst.actual_open) as \"date\"" + " , date_part('day', scvdnst.actual_open) AS \"day\"" + " , scvdnst.load_id as \"load_id\"" + " , case when scvdnst.actual_delivery_date is not null then 1 else 0 end as \"SMComplete\"" + " , case when scvdnst.actual_delivery_date is not null then 0 " + " when scvdnst.actual_gi_date is not null then 1 else 0 end as \"SMGI\"" + " , case when scvdnst.actual_gi_date is not null then 0 " + " when scvdnst.actual_tender_accept is not null then 1 else 0 end as \"SMTenderAccept\"" + " from dom.scvcor_delivery_tracking_status scvdnst" + " inner join dom.scvmvc_tms_load_leg tmssmh on scvdnst.load_id = tmssmh.load_id" + " inner join dom.scvmvc_tms_delivery_header tmsdnh on 'A' || right('0000' || scvdnst.delivery_number , 10) = tmsdnh.delivery_number" + " where extract('month' from tmssmh.user_create_date) = @month"; if (!string.IsNullOrEmpty(selectday)) { sql += " and extract('day' from tmssmh.user_create_date) = @day"; } switch (reporttype) { case "Fly_Ash": sql += " and tmsdnh.commodity_code in ('BRFLY','BCFYA')" + " and tmsdnh.shipping_point in ('3520000603','2210000897','6700000620','6710000500','2210000906','2250000410','6710000503','4400001149')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "All_Bulk_FLEET_SRB": sql += " and tmsdnh.commodity_code = 'BCBGR'" + " and tmsdnh.shipping_point in ('2190000635','2190000637','2190000894','2190000968')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "All_Bulk_FLEET_LP": sql += " and tmsdnh.commodity_code in ('BCBGR','BCMTA','BRGYP')" + " and tmsdnh.shipping_point in ('3520000594','3520000597','3520001431','3520000612')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Mortar_Bulk_FLEET_SRB": sql += " and tmsdnh.commodity_code = 'BCMTA'" + " and tmsdnh.shipping_point in ('2190000642','2190000898','2200001644')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Mortar_Bulk_FLEET_KW": sql += " and tmsdnh.shipping_point in ('2190000938')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Mortar_Bulk_FLEET_TS": sql += " and tmsdnh.commodity_code in ('BCMTA' , 'BRCCN')" + " and tmsdnh.shipping_point in ('5800000746')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "PFA_PPD": sql += " and tmsdnh.shipping_point in ('1110001558')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Cement_Bulk_PPD": sql += " and tmsdnh.commodity_code in ('BCBGR')" + " and tmsdnh.shipping_point in ('1110001519')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Cement_Bulk_SRC": sql += " and tmsdnh.commodity_code in ('BCBGR')" + " and tmsdnh.shipping_point in ('2200001646')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Cement_White_Bulk": sql += " and tmsdnh.commodity_code in ('BCBGR')" + " and tmsdnh.shipping_point in ('2190000643')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Cement_Bulk_TS": sql += " and tmsdnh.commodity_code in ('BCBGR')" + " and tmsdnh.shipping_point in ('5800000742')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "KCL": sql += " and tmsdnh.commodity_code in ('BCBGR')" + " and tmsdnh.shipping_point in ('4480000395')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Cementh_Rajasri": sql += " and tmsdnh.commodity_code in ('BCRAC')" + " and tmsdnh.shipping_point in ('2190000953')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; case "Barite": sql += " and tmsdnh.commodity_code in ('BMINE','BRCCN')" + " and tmsdnh.shipping_point in ('2190000957','2190000642')" + " and tmssmh.equipment_type in ('10CC','18CS','18CT','22CS','22CT')"; break; default: break; } sql += " ) stat group by stat.date, stat.day) b ON a.date_part = b.day"; command.CommandText = sql; command.Parameters.AddWithValue("@month", Convert.ToInt32(selectmonth)); command.Parameters.AddWithValue("@day", Convert.ToInt32(selectday)); NpgsqlDataReader dr = command.ExecuteReader(); List <string> lsLabel = new List <string>(); List <double> lsSMTotal = new List <double>(); List <double> lsSMCompletet = new List <double>(); List <double> lsSMGI = new List <double>(); List <double> lsSMTenderAccept = new List <double>(); List <string> lsbgcolorSMTotal = new List <string>(); List <string> lsbdcolorSMTotal = new List <string>(); List <string> lsbgcolorSMCompletet = new List <string>(); List <string> lsbdcolorSMCompletet = new List <string>(); List <string> lsbgcolorSMGI = new List <string>(); List <string> lsbdcolorSMGI = new List <string>(); List <string> lsbgcolorSMTenderAccept = new List <string>(); List <string> lsbdcolorSMTenderAccept = new List <string>(); string c1 = "rgba(255, 99, 132, 0.2)"; string c2 = "rgba(54, 162, 235, 0.2)"; string c3 = "rgba(255, 206, 86, 0.2)"; string c4 = "rgba(75, 192, 192, 0.2)"; string c5 = "rgba(153, 102, 255, 0.2)"; string c6 = "rgba(255, 159, 64, 0.2)"; string c7 = "rgb(12, 202, 142, 0.5)"; string c8 = "rgb(255, 205, 86, 0.5)"; string c9 = "rgb(255, 99, 132, 0.5)"; string c10 = "rgb(54, 162, 235, 0.9)"; string c11 = "rgb(51, 102, 0, 0.9)"; while (dr.Read()) { lsLabel.Add(dr[0].ToString()); if (!string.IsNullOrEmpty(dr[2].ToString())) { lsSMTotal.Add(Convert.ToInt32(dr[2].ToString())); } else { lsSMTotal.Add(0); } if (!string.IsNullOrEmpty(dr[3].ToString())) { lsSMCompletet.Add(Convert.ToInt32(dr[3])); } else { lsSMCompletet.Add(0); } if (!string.IsNullOrEmpty(dr[4].ToString())) { lsSMGI.Add(Convert.ToInt32(dr[4])); } else { lsSMGI.Add(0); } if (!string.IsNullOrEmpty(dr[5].ToString())) { lsSMTenderAccept.Add(Convert.ToInt32(dr[5])); } else { lsSMTenderAccept.Add(0); } //set color lsbgcolorSMTotal.Add(c11); lsbdcolorSMTotal.Add(c11); lsbgcolorSMCompletet.Add(c7); lsbdcolorSMCompletet.Add(c7); lsbgcolorSMGI.Add(c8); lsbdcolorSMGI.Add(c8); lsbgcolorSMTenderAccept.Add(c9); lsbdcolorSMTenderAccept.Add(c9); } //Mock the data BarChartDataSet datasetSMTotal = new BarChartDataSet() { type = "line", label = "All Shipment", data = lsSMTotal.ToArray(), backgroundColor = lsbgcolorSMTotal.ToArray(), borderColor = lsbdcolorSMTotal.ToArray(), borderWidth = 1 }; BarChartDataSet datasetSMCompletet = new BarChartDataSet() { type = "bar", label = "Complete Delivery", data = lsSMCompletet.ToArray(), backgroundColor = lsbgcolorSMCompletet.ToArray(), borderColor = lsbdcolorSMCompletet.ToArray(), borderWidth = 1 }; BarChartDataSet datasetSMGI = new BarChartDataSet() { type = "bar", label = "GI", data = lsSMGI.ToArray(), backgroundColor = lsbgcolorSMGI.ToArray(), borderColor = lsbdcolorSMGI.ToArray(), borderWidth = 1 }; BarChartDataSet datasetSMTenderAccept = new BarChartDataSet() { type = "bar", label = "Accept", data = lsSMTenderAccept.ToArray(), backgroundColor = lsbgcolorSMTenderAccept.ToArray(), borderColor = lsbdcolorSMTenderAccept.ToArray(), borderWidth = 1 }; BarChartData data = new BarChartData() { labels = lsLabel.ToArray(), datasets = new BarChartDataSet[] { datasetSMTotal, datasetSMTenderAccept, datasetSMGI, datasetSMCompletet } }; var jsonResult = Json(data); jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
public JsonResult GetData() { #region old var cs = "Host=qa-datalake-pg.cluster-ctg0nvlybzpq.ap-southeast-1.rds.amazonaws.com; Username =liluna_datalake; Password =Liluna@SCGL; Database =pd_datalake"; var con = new NpgsqlConnection(cs); con.Open(); var sql = "select * from dom.\"Reporting_MonthlySummary2\""; var cmd = new NpgsqlCommand(sql, con); NpgsqlDataReader dr = cmd.ExecuteReader(); List <double> lsTotalSM = new List <double>(); List <double> lsTotalWeight = new List <double>(); List <string> lsLabel = new List <string>(); List <string> lsbgcolorTotalSM = new List <string>(); List <string> lsbdcolorTotalSM = new List <string>(); List <string> lsbgcolorTotalWeight = new List <string>(); List <string> lsbdcolorTotalWeight = new List <string>(); string c1 = "rgba(255, 99, 132, 0.2)"; string c2 = "rgba(54, 162, 235, 0.2)"; string c3 = "rgba(255, 206, 86, 0.2)"; string c4 = "rgba(75, 192, 192, 0.2)"; string c5 = "rgba(153, 102, 255, 0.2)"; string c6 = "rgba(255, 159, 64, 0.2)"; while (dr.Read()) { lsLabel.Add(dr[0].ToString()); if (!string.IsNullOrEmpty(dr[2].ToString())) { lsTotalSM.Add(Convert.ToInt32(dr[2].ToString())); } if (!string.IsNullOrEmpty(dr[2].ToString())) { lsTotalWeight.Add(Convert.ToDouble(dr[3])); } lsbgcolorTotalSM.Add(c1); lsbdcolorTotalSM.Add(c1); lsbgcolorTotalWeight.Add(c2); lsbdcolorTotalWeight.Add(c2); } //Mock the data BarChartDataSet datasetTotalSM = new BarChartDataSet() { type = "bar", label = "จำนวน Shipment", data = lsTotalSM.ToArray(), backgroundColor = lsbgcolorTotalSM.ToArray(), borderColor = lsbdcolorTotalSM.ToArray(), borderWidth = 1 }; BarChartDataSet datasetTotalWeight = new BarChartDataSet() { type = "bar", label = "จำนวน Volumn (x 100 Ton.)", data = lsTotalWeight.ToArray(), backgroundColor = lsbgcolorTotalWeight.ToArray(), borderColor = lsbdcolorTotalWeight.ToArray(), borderWidth = 1 }; BarChartData data = new BarChartData() { labels = lsLabel.ToArray(), datasets = new BarChartDataSet[] { datasetTotalSM, datasetTotalWeight } }; return(Json(data)); #endregion }