/// <summary> /// Given a site id, this method returns the site's information including /// all the variables measured at the site /// </summary> /// <param name="id"></param> /// <returns></returns> public HydroPoint GetSiteInfo(int id) { string sql = "select * from " + Configuration.StationsTableName + " where SiteID =" + id; DataTable dt = mDbase.QueryDataTable(sql); DataRow dr = dt.Rows[0]; HydroPoint p = new HydroPoint(id) { Name = dr["SiteName"].ToString(), Code = dr["SiteCode"].ToString(), Latitude = Convert.ToDouble(dr["Latitude"].ToString()), Longitude = Convert.ToDouble(dr["Longitude"].ToString()), Comments = dr["Comments"].ToString() }; sql = "select * from " + Configuration.SeriesCatalogTableName + " where SiteID =" + id; dt = mDbase.QueryDataTable(sql); if (dt != null) { foreach (DataRow r in dt.Rows) { int vid = Convert.ToInt32(r["VariableID"].ToString()); Variable v = GetVariableInfo(vid); v.BeginDate = DateTime.Parse(r["BeginDateTime"].ToString()); v.EndDate = DateTime.Parse(r["EndDateTime"].ToString()); v.ValueCount = Int32.Parse(r["ValueCount"].ToString()); v.SiteID = id; p.MeasuredVariables.Add(v); } } return(p); }
/// <summary> /// Given an array of site ids, this method returns the metadata for each one /// </summary> /// <param name="ids"></param> /// <returns></returns> public HydroPoint [] GetSites(int [] ids) { HydroPoint[] sites = new HydroPoint[ids.Length]; for (int i = 0; i < sites.Length; i++) { sites[i] = GetSiteInfo(ids[i]); } return(sites); }