private static void Run(Options opts) { VerifyExportArgs(opts); using (DssReader r = new DssReader(opts.DssFile)) { object record; ExcelWriter ew = new ExcelWriter(opts.ExcelFile); for (int i = 0; i < opts.Paths.ToList <string>().Count; i++) { string sheet; while (true) { sheet = "dssvue_import_" + ExcelTools.RandomString(5); if (!ew.SheetExists(sheet)) { break; } } DssPath p = new DssPath(opts.Paths.ElementAt(i)); var type = r.GetRecordType(p); if (type is RecordType.RegularTimeSeries || type is RecordType.IrregularTimeSeries) { record = r.GetTimeSeries(p); ew.Write(record as TimeSeries, sheet); } else if (type is RecordType.PairedData) { record = r.GetPairedData(p.FullPath); ew.Write(record as PairedData, sheet); } } } }
public void TestGetRecordTypeNoDPart() { using (DssReader r = new DssReader(TestUtility.BasePath + "sample7.dss")) { var recordType = r.GetRecordType(new DssPath("//SACRAMENTO/PRECIP-INC//1Day/OBS/")); Assert.IsTrue(recordType == RecordType.RegularTimeSeries); } }
public void InvalidRecordType() { var filename = System.IO.Path.Combine(TestUtility.BasePath, "MoRiverObs.dss"); using (DssReader r = new DssReader(filename)) { var recordType = r.GetRecordType(new DssPath("/MISSOURI RIVER/BOONVILLE, MO/FLOW/01OCT1987/15MIN/USGS/")); Console.WriteLine(); Assert.IsTrue(recordType == RecordType.RegularTimeSeries); } }
public void TestGetRecordType () { using (DssReader r = new DssReader(TestUtility.BasePath + "sample7.dss")) { var catalog = r.GetCatalog(true); var path = catalog.GetCondensedPath(new DssPath("//SACRAMENTO/PRECIP-INC/11Jul1877 - 30Jun2009/1Day/OBS/")); var recordType = r.GetRecordType(path); Assert.IsTrue(recordType == RecordType.RegularTimeSeries); } }
private static void Run(Options opts) { if (opts.Command == "import") { VerifyImportArgs(opts); ExcelReader er = new ExcelReader(opts.ExcelFile); using (DssWriter w = new DssWriter(opts.DssFile)) { if (opts.Sheets.ToList <string>().Count == 0) { for (int i = 0; i < er.WorksheetCount; i++) { var t = er.CheckType(i); if (t is RecordType.RegularTimeSeries || t is RecordType.IrregularTimeSeries) { w.Write(er.Read(i) as TimeSeries); } else if (t is RecordType.PairedData) { w.Write(er.Read(i) as PairedData); } } } else { foreach (var sheet in opts.Sheets) { var t = er.CheckType(sheet); if (t is RecordType.RegularTimeSeries || t is RecordType.IrregularTimeSeries) { w.Write(er.Read(sheet) as TimeSeries); } else if (t is RecordType.PairedData) { w.Write(er.Read(sheet) as PairedData); } } } } } else if (opts.Command == "export") { VerifyExportArgs(opts); using (DssReader r = new DssReader(opts.DssFile)) { object record; ExcelWriter ew = new ExcelWriter(opts.ExcelFile); if (opts.Sheets.ToList().Count == 0) { for (int i = 0; i < opts.Paths.ToList <string>().Count; i++) { string sheet = "dssvue_import_" + ExcelTools.RandomString(5); DssPath p = new DssPath(opts.Paths.ElementAt(i)); var type = r.GetRecordType(p); if (type is RecordType.RegularTimeSeries || type is RecordType.IrregularTimeSeries) { record = r.GetTimeSeries(p); ew.Write(record as TimeSeries, sheet); } else if (type is RecordType.PairedData) { record = r.GetPairedData(p.FullPath); ew.Write(record as PairedData, sheet); } } } else { for (int i = 0; i < opts.Sheets.ToList().Count; i++) { DssPath p = new DssPath(opts.Paths.ElementAt(i)); var type = r.GetRecordType(p); if (type is RecordType.RegularTimeSeries || type is RecordType.IrregularTimeSeries) { record = r.GetTimeSeries(p); ew.Write(record as TimeSeries, opts.Sheets.ElementAt(i)); } else if (type is RecordType.PairedData) { record = r.GetPairedData(p.FullPath); ew.Write(record as PairedData, opts.Sheets.ElementAt(i)); } } } } } }