Ejemplo n.º 1
0
 /// <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);
 }
Ejemplo n.º 2
0
 MultipleSeriesDataTable GetIntervalDataTable()
 {
     return(dataSet.GetTable(m_interval) as MultipleSeriesDataTable);
 }
Ejemplo n.º 3
0
        /// <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();
                }
            }
        }
Ejemplo n.º 4
0
        /// <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);
            }
        }