public HDBSeries(TimeSeriesDatabase db, TimeSeriesDatabaseDataSet.SeriesCatalogRow sr) : base(db, sr) { string str = ConnectionStringUtility.GetToken(ConnectionString, "server", ""); m_server = (HDBServer)Enum.Parse(typeof(HDBServer), str); m_sdi = ConnectionStringUtility.GetIntFromConnectionString(ConnectionString, "sdi"); }
public CalculationSeries(TimeSeriesDatabase db,TimeSeriesDatabaseDataSet.SeriesCatalogRow sr) : base(db,sr) { m_parser = db.Parser; m_db = db; Init(); }
public FormNewMeasurment( TimeSeriesDatabaseDataSet.sitecatalogDataTable siteCatalog) { InitializeComponent(); buttonSave.Enabled = false; m_siteCatalog = siteCatalog; Prepare(); this.Text="Input New Measurement"; }
public override Series CreateScenario(TimeSeriesDatabaseDataSet.ScenarioRow scenario) { var s = new UrgwomSeries(ConnectionStringUtility.GetFileName(scenario.Path, m_db.DataSource), ConnectionStringUtility.GetToken(scenario.Path, "SheetName", ""), valueColumn); s.ScenarioName = scenario.Name; s.Name = ""; s.Appearance.LegendText = scenario.Name; return s; }
public BasicMeasurement(TimeSeriesDatabase db, TimeSeriesDatabaseDataSet.SeriesCatalogRow sr) : base(sr) { this.m_db = db; this.m_sr = sr; int id = Convert.ToInt32(ConnectionStringToken("id", "-1")); Console.WriteLine("ctor BasicMeasurement id ="+id); var tbl = m_db.Hydrography.GetMeasurements(); m_measurementRow = tbl.FindByid(id); }
public UrgwomSeries(TimeSeriesDatabase db, TimeSeriesDatabaseDataSet.SeriesCatalogRow sr) : base(db, sr) { TimeInterval = TimeSeries.TimeInterval.Daily; ExternalDataSource = true; ReadOnly = true; Provider = "UrgwomSeries"; ScenarioName = "ScenarioName"; xlsFilename = ConnectionStringUtility.GetFileName(ConnectionString, m_db.DataSource); sheetName = ConnectionStringToken("SheetName"); dateColumn = ConnectionStringToken("DateColumn"); valueColumn = ConnectionStringToken("ValueColumn"); }
public override Series CreateScenario(TimeSeriesDatabaseDataSet.ScenarioRow scenario) { if (scenario.Name == ScenarioName) { return this; } else { string fn = ConnectionStringUtility.GetFileName(scenario.Path, m_db.DataSource); Logger.WriteLine("Reading series from " + fn); var sr = m_db.GetNewSeriesRow(false); sr.ItemArray = SeriesCatalogRow.ItemArray; sr.ConnectionString = ConnectionStringUtility.Modify(sr.ConnectionString, "FileName", fn); Series s = new HydrossSeries(m_db, sr); s.ReadOnly = true; s.ScenarioName = scenario.Name; return s; } }
/// <summary> /// Adds new site using template subset of a SeriesCatalog /// </summary> /// <param name="parent"></param> /// <param name="template">copy this sereis catalog changing the siteid </param> /// <param name="SiteName"></param> /// <param name="SiteID"></param> /// <param name="elevation"></param> /// <param name="Lat"></param> /// <param name="Lon"></param> /// <param name="TimeZone"></param> /// <param name="Install"></param> public void AddSiteWithTemplate(PiscesFolder parent, TimeSeriesDatabaseDataSet.SeriesCatalogDataTable template, string SiteName, string SiteID, string state,double elevation, double Lat, double Lon, string TimeZone, string Install, string program) { var siteCatalog = GetSiteCatalog(); var rows = siteCatalog.Select("siteid='"+SiteID+"'"); if (rows.Length == 0) // check if site exists before creating. { siteCatalog.AddsitecatalogRow(SiteID, SiteName, state, Lat, Lon, elevation, TimeZone, Install, "", "", 0, "", "", "", "", "",""); Server.SaveTable(siteCatalog); } var siteFolder = GetOrCreateFolder(parent,SiteID); var instant = GetOrCreateFolder(parent,SiteID,"instant" ); var daily = GetOrCreateFolder(parent,SiteID,"daily"); var quality = GetOrCreateFolder(parent, SiteID, "quality"); var sc = GetSeriesCatalog(); var series_properties = GetSeriesProperties(); foreach (var item in template) { int id = sc.NextID(); int parentID = siteFolder.ID; if (item.TimeInterval == "Daily") parentID = daily.ID; if (item.TimeInterval == "Irregular") parentID = instant.ID; if (QualityParameters.Contains(item.Parameter.ToUpper())) { parentID = quality.ID; } var check = sc.Select("tablename = '"+item.TableName+"'"); if (check.Length > 0) { MessageBox.Show("Warning: skipping item that allready exists: "+item.TableName); } else { sc.AddSeriesCatalogRow(id, parentID, 0, id, item.iconname, item.Name, item.siteid, item.Units, item.TimeInterval, item.Parameter, item.TableName, item.Provider, item.ConnectionString, item.Expression, item.Notes, item.enabled); series_properties.AddseriespropertiesRow(series_properties.NextID(), id, "program", program); } //series_properties.DuplicateProperties(series item.id, id); } series_properties.Save(); Server.SaveTable(sc); }
//public PiscesFolder(TimeSeriesDatabase db) //{ // m_db = db; // base.IsFolder = true; //} public PiscesFolder(TimeSeriesDatabase db, TimeSeriesDatabaseDataSet.SeriesCatalogRow sr) : base(sr) { this.m_db = db; }
string m_path; // //CHJ/YT//IR-MONTH/IRVZZBZD/ #endregion Fields #region Constructors public UsaceSeries(TimeSeriesDatabase db, TimeSeriesDatabaseDataSet.SeriesCatalogRow sr) : base(db, sr) { m_path = ConnectionStringUtility.GetToken(sr.ConnectionString, "DssPath", ""); ExternalDataSource = true; }
private void AddRows(TimeSeriesDatabaseDataSet.SeriesCatalogDataTable tbl) { foreach (var item in tbl) { var r = m_seriesCatalog.NewSeriesCatalogRow(); r.ItemArray = item.ItemArray; m_seriesCatalog.AddSeriesCatalogRow(r); } }
private void MarkParentsAsPartOfFilter(int id, TimeSeriesDatabaseDataSet.SeriesCatalogDataTable tbl) { var row = tbl.FindByid(id); if( row == null) { Logger.WriteLine("Row does not exist. It may have been deleted."); return; } row["keep"] = true; if (row.ParentID != row.id) // skip root level folders where parentid=id { MarkParentsAsPartOfFilter(row.ParentID, tbl); } }
/// <summary> /// Creates Scenario based on scenaroName/xyfile /// </summary> public override Series CreateScenario(TimeSeriesDatabaseDataSet.ScenarioRow scenario) { string fn = ConnectionStringUtility.GetFileName(scenario.Path, m_db.DataSource); if (fn == m_xyFilename) { return this; } Logger.WriteLine("Reading series from: '" + fn + "'"); if (!File.Exists(fn) || Path.GetExtension(fn).ToLower() != ".xy") { Logger.WriteLine("File not found (or not xy file) '" + fn + "'"); Logger.WriteLine("Error: Can't create scenario"); return new Series(); } var rval = new ModsimSeries(fn, modsimName, timeSeriesName); rval.Name = this.Name; rval.Appearance.LegendText = scenario.Name + " " + Name; rval.ScenarioName = scenario.Name; rval.SiteID = this.SiteID; rval.TimeInterval = this.TimeInterval; return rval; }
public Series GetSeries(TimeSeriesDatabaseDataSet.SeriesCatalogRow sr) { if (db.Settings.ReadBoolean("VerboseLogging", false)) Logger.EnableLogger(); Series s = null;// = new Series(sr, db); int sdi = sr.id; try { if (sr.Provider.Trim() == "") sr.Provider = "Series"; // most common cases -- avoid reflection if (sr.Provider == "Series") { s = new Series(db, sr); //s.Table.TableName = s.Icon = AssignIcon(sr.iconname); s.TimeSeriesDatabase = this.db; return s; } // most common cases -- avoid reflection if (sr.Provider == "CalculationSeries") { s = new CalculationSeries(db, sr); s.Icon = AssignIcon(sr.iconname); s.TimeSeriesDatabase = this.db; return s; } if (seriesTypeList == null) { seriesTypeList = new List<Type>(); var asmList = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly item in asmList) { if (item.FullName.IndexOf("Reclamation.") <0 && item.FullName.IndexOf("Pisces") <0 && item.FullName.IndexOf("HDB") <0 ) continue; var types = item.GetTypes().Where(x => x.BaseType == typeof(Series)); seriesTypeList.AddRange(types); } } for (int i = 0; i < seriesTypeList.Count; i++) { Type t = seriesTypeList[i]; if (t.Name == sr.Provider) { Type[] parmFaster = new Type[] { typeof(TimeSeriesDatabase), typeof(SeriesCatalogRow) }; var cInfoFaster = t.GetConstructor(parmFaster); if (cInfoFaster != null) { object o = cInfoFaster.Invoke(new object[] { db, sr }); if (o is Series) s = o as Series; else throw new InvalidOperationException("Provider '" + sr.Provider + "' is not a Series"); } else { throw new InvalidOperationException("Can't find constructor for '" + sr.Provider + "'"); } break; } } } catch(Exception excep) { if (excep.InnerException != null) { Logger.WriteLine(excep.InnerException.Message); throw excep.InnerException; } var msg = excep.Message + "\n" + sr.Provider; Logger.WriteLine(msg); throw new Exception(msg); } if (s == null) { // Logger.WriteLine("No Class found for '"+sr.Provider +"' ID= "+sr.id+" Name = "+sr.Name); s = new Series( db, sr); } s.Icon = AssignIcon(sr.iconname); s.TimeSeriesDatabase = this.db; return s; }
private void SaveScenarioTable(TimeSeriesDatabaseDataSet.ScenarioDataTable scenarioTable) { if (m_referenceBuilder) scenarioTable.WriteLocalXml(); else m_db.Server.SaveTable(scenarioTable); }
private TimeSeriesDatabaseDataSet.ScenarioRow GetScenarioTableRowsByName(TimeSeriesDatabaseDataSet.ScenarioDataTable scenarioTable, string scenarioName) { var rows = scenarioTable.Select("name='" + scenarioName + "'"); if (rows.Length > 1) { throw new DuplicateNameException("Duplicate rows found for name '" + scenarioName + "'"); } return (TimeSeriesDatabaseDataSet.ScenarioRow) rows[0]; }