/// <summary> /// Determine if any values are computed (Yellow) for this interval /// </summary> internal static bool AnyComputedValues(GraphData ds, string interval) { foreach (var s in ds.SeriesRows) { string tableName = s.TableName; if (String.Compare(s.Interval, interval, true) == 0) { DataTable tbl = ds.GetTable(tableName); string sql = "SourceColor ='Yellow'"; DataRow[] rows = tbl.Select(sql, "", DataViewRowState.ModifiedCurrent); return(rows.Length > 0); } } return(false); }
MultipleSeriesDataTable GetIntervalDataTable() { return(dataSet.GetTable(m_interval) as MultipleSeriesDataTable); }
/// <summary> /// Delete or Update each modified value in DataSet /// </summary> /// <param name="interval"></param> /// <param name="ds"></param> /// <param name="overWrite"></param> /// <param name="validationFlag"></param> public void SaveChanges(string interval, GraphData ds, bool overWrite, char validationFlag, bool isModeledData = false, int mrid = 0) { //for (int i = 0; i < ds.Series.Count; i++) foreach (var s in ds.SeriesRows) { if (String.Compare(s.Interval, interval, true) == 0) { DataTable tbl = ds.GetTable(s.TableName); DataTableUtility.PrintRowState(tbl); DataRow[] rows = tbl.Select("", "", DataViewRowState.ModifiedCurrent); foreach (DataRow row in rows) { DateTime t = Convert.ToDateTime(row[0]); // Code for R-table data if (!isModeledData) { if (row[1, DataRowVersion.Current] == DBNull.Value && row[1, DataRowVersion.Original] != DBNull.Value) {// Delete delete_from_hdb(s.hdb_site_datatype_id, t, interval, ds.GraphRow.TimeZone); } else {// update double val = Convert.ToDouble(row[1]); ModifyRase(s.hdb_site_datatype_id, interval, t, val, overWrite, validationFlag, ds.GraphRow.TimeZone); } } // Code for M-table data else { DateTime tEnd = new DateTime(); if (interval.ToLower() == "hour") { tEnd = t.AddHours(1); } else if (interval.ToLower() == "day") { tEnd = t.AddDays(1); } else if (interval.ToLower() == "month") { tEnd.AddMonths(1); } else if (interval.ToLower() == "year") { tEnd = t.AddYears(1); } else { throw new Exception("Editing of modeled " + interval + " data is not supported."); } if (row[1, DataRowVersion.Current] == DBNull.Value && row[1, DataRowVersion.Original] != DBNull.Value) {// Delete delete_from_mtable(mrid, Convert.ToInt32(s.hdb_site_datatype_id), t, tEnd, interval); } else {// update double val = Convert.ToDouble(row[1]); modify_m_table(mrid, Convert.ToInt32(s.hdb_site_datatype_id), t, tEnd, val, interval, true); } } } tbl.AcceptChanges(); } } }
/// <summary> /// This overloaded StandardTChart is used with WindowsForms. /// </summary> /// <returns></returns> public static void StandardTChart(GraphData ds, TChart tChart1, bool preserveFormat) { if (tChart1 == null) { tChart1 = new TChart(); } if (ds == null || ds.SeriesRows.Count() == 0) { tChart1.Series.Clear(); tChart1.Text = ""; //return tChart1; } try { int sz = ds.SeriesRows.Count(); if (!preserveFormat) { tChart1.Aspect.View3D = false; tChart1.Aspect.Orthogonal = false; tChart1.Series.Clear(); if (sz == 1) // single graph series. { tChart1.Legend.Visible = false; } else { tChart1.Legend.Visible = true; tChart1.Legend.Alignment = LegendAlignments.Top; } } tChart1.Text = ds.GraphRow.Title; tChart1.Axes.Right.Title.Text = ""; tChart1.Axes.Left.Title.Text = ""; string unitsOfFirstSeries = ds.SeriesRows.First().Units.Trim(); //for(int i=0; i<sz; i++) int i = 0; foreach (var s in ds.SeriesRows) { string tblName = s.TableName; DataTable dataTable = ds.GetTable(tblName); string columnName = dataTable.Columns[1].ColumnName; double avg = AverageOfColumn(dataTable, columnName); Steema.TeeChart.Styles.Line series = null; if (preserveFormat && i < tChart1.Series.Count && tChart1[i] is Steema.TeeChart.Styles.Line) { series = tChart1[i] as Steema.TeeChart.Styles.Line; } else { series = CreateSeries(tChart1, dataTable, columnName, avg); } LoadSeriesData(dataTable, columnName, avg, series); series.Title = s.Title; if (i > 0) // check units to determine what yaxis to use(left,or right) { string units = s.Units.Trim(); if (units != unitsOfFirstSeries) { // right axis series.VertAxis = Steema.TeeChart.Styles.VerticalAxis.Right; if (tChart1.Axes.Right.Title.Text.IndexOf(s.Units) < 0) { tChart1.Axes.Right.Title.Text += s.Units + " "; } //tChart1.Axes.Right.Labels.Color = Color.Red;//series.Color; } else { // left axis if (tChart1.Axes.Left.Title.Text.IndexOf(s.Units) < 0) { tChart1.Axes.Left.Title.Text += s.Units + " "; } } } else { tChart1.Axes.Left.Title.Text = s.Units + " "; } tChart1.Series.Add(series); i++; } //tChart1.Zoom.Undo(); //tChart1.Zoom.ZoomPercent(97); } catch (Exception exc) { System.Windows.Forms.MessageBox.Show(exc.Message + "\n " + exc.StackTrace); } }