public void saveFiles(int HucNumber) { db = new clsDatabase(HucNumber); string dirpath = Properties.Settings.Default.filePath + "\\pre2011"; DirectoryInfo di = new DirectoryInfo(dirpath); string currFile; string origName; //Dim txtFile As System.IO.File StreamReader txtStreamReader; string strLine; string[] arrSplitLine; int i = 0; double DataValue; DateTime LocalDateTime; int UTCOffset; DateTime DateTimeUTC; int SiteID; int VariableID; int MethodID = 1; int SourceID = 1; int QualityControlLevelID = 1; //Get the Sites from the database string strError; // Loop through the .gz files in the directory, decompress them and then load them into // the SQL Server Database. foreach (FileInfo fi in di.GetFiles("*.gz")) { string filename = "hucs_" + HucNumber; if (fi.Name.ToLower().Contains(filename)) { //Get the name of the file and the name of the decompressed file currFile = fi.FullName; origName = currFile.Remove(currFile.Length - fi.Extension.Length); //Reset the file record counter // i = 0; //Decompress the file DecompressGZip(fi); txtStreamReader = File.OpenText(origName); //Figure out what kind of file it is (eg., snow, SWE, snow depth) if (fi.Name.Contains("snowdepth_")) { //The file contains snow depth data VariableID = 2; } else if (fi.Name.Contains("snow_")) { //The file contains snow VariableID = 8; } else { //The file contains snow water equivalent VariableID = 1; } //int ValueID = db.getValueID() + 1; //Read the file and load each line as a new record into the ODM database // while (!txtStreamReader.EndOfStream) while ((strLine = txtStreamReader.ReadLine()) != null) { //Increment the line number counter //i = i + 1; i = 0; //Read a line of the file and split it //strLine = txtStreamReader.ReadLine(); //txtStreamReader. arrSplitLine = strLine.Split('|'); //Construct the DataValues record to insert into the database if (arrSplitLine.Length >= 3) { if (Information.IsNumeric(arrSplitLine[3])) { try { //Get the SiteID for the site int siteID = db.getSite(arrSplitLine[0]); if (siteID > 0) { SiteID = siteID; DataValue = Convert.ToDouble(arrSplitLine[3]); LocalDateTime = Convert.ToDateTime(arrSplitLine[2].Split(' ')[0] + " 06:00"); UTCOffset = 0; DateTimeUTC = LocalDateTime; values.Rows.Add(SqlInt32.Null, DataValue, SqlDouble.Null, LocalDateTime, UTCOffset /*utcoffset*/, DateTimeUTC, SiteID, VariableID, SqlDouble.Null, SqlInt32.Null, "nc", SqlInt32.Null, MethodID, SourceID, SqlInt32.Null, SqlInt32.Null, QualityControlLevelID); i++; //ValueID += 1; } } catch (Exception ex) { strError = ex.ToString(); } } } } db.insertBulk(values); txtStreamReader.Close(); values.Clear(); //Delete the decompressed file File.Delete(origName); } } addSeriesCatalog(); }
public void saveFiles2012() { //db = new clsDatabase(HucNumber); string dirpath = Properties.Settings.Default.filePath + "\\2012 data"; DirectoryInfo di = new DirectoryInfo(dirpath); //Dim txtFile As System.IO.File StreamReader txtStreamReader; string strLine; string[] arrSplitLine; //int i = 0; List <int> hucs = new List <int>(); double DataValue; DateTime LocalDateTime; int UTCOffset; DateTime DateTimeUTC; int SiteID; int VariableID; int MethodID = 1; int SourceID = 1; int QualityControlLevelID = 1; //Get the Sites from the database string strError; // Loop through the .gz files in the directory, decompress them and then load them into // the SQL Server Database. foreach (FileInfo file in di.GetFiles("*.txt")) { int HucNumber = 0; if (file.Name.StartsWith("h8")) { HucNumber = 8; } else if (file.Name.StartsWith("h0")) { HucNumber = 10; } else if (file.Name.StartsWith("h2")) { HucNumber = 12; } //#if DEBUG // db = new clsDatabase(8); //#else if (HucNumber == 10) { db = new clsDatabase(HucNumber); //#endif // int ValueID = db.getValueID() + 1; //i = 0; txtStreamReader = File.OpenText(file.FullName); //Figure out what kind of file it is (eg., snow, SWE, snow depth) // and Set the VariableID baseed on variabletype if (file.Name.Contains("HP001_s")) { //The file contains Percent snow Cover VariableID = 8; } else if (file.Name.Contains("11036tS_")) { //The file contains snow depth data VariableID = 2; } else { //The file contains snow water equivalent VariableID = 1; } //Read the file and load each line as a new record into the ODM database while ((strLine = txtStreamReader.ReadLine()) != null) { //Increment the line number counter //i = i + 1; //Read a line of the file and split it arrSplitLine = strLine.Split('|'); //Construct the DataValues record to insert into the database if (arrSplitLine.Length >= 3) { if (Information.IsNumeric(arrSplitLine[3])) { try { //Get the SiteID for the site int siteID = db.getSite(arrSplitLine[0]); if (siteID > 0) { SiteID = siteID; DataValue = Convert.ToDouble(arrSplitLine[3]); LocalDateTime = Convert.ToDateTime(arrSplitLine[2].Split(' ')[0] + " 06:00"); UTCOffset = 0; DateTimeUTC = LocalDateTime; values.Rows.Add(SqlInt32.Null, DataValue, SqlDouble.Null, LocalDateTime, UTCOffset /*utcoffset*/, DateTimeUTC, SiteID, VariableID, SqlDouble.Null, SqlInt32.Null, "nc", SqlInt32.Null, MethodID, SourceID, SqlInt32.Null, SqlInt32.Null, QualityControlLevelID); //ValueID += 1; } } catch (Exception ex) { strError = ex.ToString(); } } } } #if DEBUG //Console.WriteLine(values.Rows[0][0]); //HucNumber = 8; if (HucNumber == 8) { db.insertBulk(values); } #else db.insertBulk(values); #endif values.Clear(); txtStreamReader.Close(); //Delete the .txt file } foreach (int huc in hucs) { db = new clsDatabase(huc); db.createSeriesCatalog(); } } }