/// <summary> /// Metodo de graficación. /// </summary> /// <returns></returns> public Chart Draw(params string[] filtros) { // Create a new instance of Chart Chart chart = new Chart(); chart.AnimationEnabled = true; // Create a new instance of Title Title title = new Title(); // Set title property title.Text = "SOM"; // Add title to Titles collection chart.Titles.Add(title); // Create a new instance of DataSeries DataSeries dataSeries = new DataSeries(); // Set DataSeries property dataSeries.RenderAs = RenderAs.Line; #region configuracion eje X // Creating AxisX Axis axisX = new Axis(); // Date time standard format axisX.ValueFormatString = "000000"; // To avoid auto skip chart.AxesX.Add(axisX); #endregion // Create a DataPoint DataPoint dataPoint; #region consulta DataTable kpis; try { kpis = new DataTable(); Consultas consulta = new Consultas(); kpis = consulta.SelectKPI_SOM(filtros).Tables[0]; consulta = null; string serAnt = "-5555"; string ser = "-1111"; foreach (DataRow g in kpis.Rows) { Decimal? y = g["SOM"]!=DBNull.Value? (Decimal?)g["SOM"]:null; long x = (long)g["TimeId"]; ser = (string)g["ManufacturerCode"]; //Creando las series if (serAnt != ser) { if (serAnt != "-5555") { chart.Series.Add(dataSeries); } // Create a new instance of DataSeries dataSeries = new DataSeries(); dataSeries.Name = ser; // Set DataSeries property dataSeries.RenderAs = RenderAs.Line; dataSeries.MarkerType = Visifire.Commons.MarkerTypes.Circle; dataSeries.SelectionEnabled = true; dataSeries.LineThickness = 3; serAnt = ser; } // Create a new instance of DataPoint dataPoint = new DataPoint(); // Set YValue for a DataPoint if (x != null) dataPoint.AxisXLabel = x.ToString(); if (!ciclos.Contains(x.ToString())) ciclos.Add(x.ToString()); dataPoint.YValue = System.Convert.ToDouble(y); // Add dataPoint to DataPoints collection. dataSeries.DataPoints.Add(dataPoint); } } catch (Exception Error) { throw (new Exception(Error.ToString())); } #endregion // Add dataSeries to Series collection. chart.Series.Add(dataSeries); return chart; }