示例#1
0
        /*
         * newTable
         * creates the Data Table required by rest of program to create the XML form
         */
        private ValuesDataSet newTable(seriesCatalogDataSet.SeriesCatalogDataTable series, ref DataSet oDS)
        {
            ValuesDataSet     ds            = basicValuesDataSet();
            DataTable         variableTable = ds.DataValues;
            SitesTableAdapter sitesAdapter  = new SitesTableAdapter();
            siteInfoDataSet   sites         = new siteInfoDataSet();

            sitesAdapter.Connection.ConnectionString = odws.Config.ODDB();
            sitesAdapter.FillBySiteID(sites.sites, series[0].SiteID);
            int ValueID = 0;

            DataRow[] rows = oDS.Tables["Variables"].Select();
            //DataRow siteTable = sites.sites[0];
            foreach (DataRow row in rows)
            {
                ValueID++;
                int timezone = sites.sites[0].TimeZone;
                variableTable.Rows.Add(ValueID, series[0].SiteID, series[0].VariableID, DBNull.Value, DBNull.Value, "nc", 0, series[0].MethodID, series[0].SourceID, 0, 0, series[0].QualityControlLevelID, (row[0] == "") ? (-9999) : row[series[0].VariableCode.ToLower()], 0, convertDate(row[0].ToString(), 0), convertDate(row[0].ToString(), timezone), timezone);
                //"ValueID","SiteID","VariableID",""OffsetValue", "OffsetTypeID","CensorCode","QualifierID","MethodID","SourceID","SampleID","DerivedFromID","QualityControlLevelID", "Value",                                   "AccuracyStdDev","DateTime",                        "DateTimeUTC",                                               "UTCOffset"*/
            }
            return(ds);
        }
示例#2
0
        private DataSet getValuesWork(seriesCatalogDataSet.SeriesCatalogDataTable series, DateTime startDate, DateTime endDate)
        {
            string siteCode = series[0].SiteCode;
            string curryear = ((Convert.ToInt32(getCurrWaterYear()) - 1).ToString()).Substring(2);

            int endresult   = endDate.CompareTo(series[0].EndDateTime);
            int startresult = startDate.CompareTo(series[0].BeginDateTime);

            /*Less than zero   This instance is earlier than value.
             * begin: change to values[0].
             * end: use enddatetime*/

            /*check to see if the start date requested is before or after the start datd in the
             * database. if after use given date, if before use date in database.*/
            DateTime startdate;

            if (startresult < 0)
            {
                startdate = (series[0].BeginDateTime);
            }
            else
            {
                startdate = startDate;
            }

            /*check to see if the end date requested is before or after the end datd in the
             * database. if it is after after use date in database, if before use given date. */
            DateTime enddate;

            if (endresult < 0)
            {
                enddate = endDate;
            }
            else
            {
                enddate = ((DateTime)series[0].EndDateTime);
            }

            string   endOfYear = "0930" + curryear;
            DateTime eoy       = convertDate(endOfYear, 0);

            //reset result to get data for which files to open
            endresult   = DateTime.Compare(eoy, endDate);
            startresult = DateTime.Compare(eoy, startDate);

            SitesTableAdapter sitesAdapter = new SitesTableAdapter();
            siteInfoDataSet   sites        = new siteInfoDataSet();

            sitesAdapter.Connection.ConnectionString = odws.Config.ODDB();
            sitesAdapter.FillBySiteID(sites.sites, series[0].SiteID);


            String state   = sites.sites[0].State.ToLower().Trim().Replace(' ', '_');
            String ftpAll  = "ftp://ftp.wcc.nrcs.usda.gov/data/snow/snotel/cards/{0}/{1}_all.txt";
            String ftpYear = "ftp://ftp.wcc.nrcs.usda.gov/data/snow/snotel/cards/{0}/{1}_{2}.tab";


            //case 1: all dates are in the 'archive' file
            if (startresult >= 0 && endresult > 0)
            {
                WebRequest[] objRequest = new WebRequest[1];
                objRequest[0] = WebRequest.Create(String.Format(ftpAll, state.ToLower(), siteCode.ToLower()));
                return(fillTable(objRequest, startdate.ToString(dateFormat), enddate.ToString(dateFormat)));
            }
            //case 2: some of the dates are in the 'archiv'e file and the others are in the 'current' file
            else if (startresult >= 0 && endresult < 0)
            {
                WebRequest[] objRequest = new WebRequest[2];
                objRequest[0] = WebRequest.Create(String.Format(ftpAll, state.ToLower(), siteCode.ToLower()));
                objRequest[1] = WebRequest.Create(String.Format(ftpYear, state.ToLower(), siteCode.ToLower(), getCurrWaterYear()));
                return(fillTable(objRequest, startdate.ToString(dateFormat), enddate.ToString(dateFormat)));
            }

            //case 3: all dates are in the 'current' file
            else//startresult>=0&& endresult>=0
            {
                WebRequest[] objRequest = new WebRequest[1];
                objRequest[0] = WebRequest.Create(String.Format(ftpYear, state.ToLower(), siteCode.ToLower(), getCurrWaterYear()));
                return(fillTable(objRequest, startdate.ToString(dateFormat), enddate.ToString(dateFormat)));
            }
        }
 public virtual seriesCatalogDataSet.SeriesCatalogDataTable GetDataBySiteID(global::System.Nullable<int> siteID) {
     this.Adapter.SelectCommand = this.CommandCollection[1];
     if ((siteID.HasValue == true)) {
         this.Adapter.SelectCommand.Parameters[0].Value = ((int)(siteID.Value));
     }
     else {
         this.Adapter.SelectCommand.Parameters[0].Value = global::System.DBNull.Value;
     }
     seriesCatalogDataSet.SeriesCatalogDataTable dataTable = new seriesCatalogDataSet.SeriesCatalogDataTable();
     this.Adapter.Fill(dataTable);
     return dataTable;
 }
 public virtual seriesCatalogDataSet.SeriesCatalogDataTable GetData() {
     this.Adapter.SelectCommand = this.CommandCollection[0];
     seriesCatalogDataSet.SeriesCatalogDataTable dataTable = new seriesCatalogDataSet.SeriesCatalogDataTable();
     this.Adapter.Fill(dataTable);
     return dataTable;
 }