public Bid_IDK(bool use3PartBidding, FileInfo parserBidFile) { string bidContent = LCAFileUtils.getTextFileContents(parserBidFile.FullName); m_Use3PartBidding = use3PartBidding; processFullBidString(bidContent); }
private List <double> readDataFromFlatFile(FlatFileTypeEnum interval, long pointID, bool isInternal, DateTime sDateTime, double numRecToRead, bool isRaw, string fixedFileName) { try { string fName; int curRec; int secPerRec = 60; DateTime lastDateTime; DateTime curDateTime; int recInFile; List <double> data = new List <double>(); if (fixedFileName == null) { if (!isRaw) { fName = getFileName(interval, pointID, isInternal, sDateTime); } else { fName = getFileName(FlatFileTypeEnum.FF_TENSECRAW, pointID, isInternal, sDateTime); } } else { fName = fixedFileName; } switch (interval) { case FlatFileTypeEnum.FF_ONEMIN: case FlatFileTypeEnum.FF_ONEMINPRED: secPerRec = 60; if (sDateTime.Second != 0) { sDateTime = sDateTime.AddSeconds(sDateTime.Second * -1); } break; case FlatFileTypeEnum.FF_FIVEMIN: secPerRec = 300; if (sDateTime.Second != 0) { sDateTime = sDateTime.AddSeconds(sDateTime.Second * -1); } if (sDateTime.Minute % 5 != 0) { sDateTime = sDateTime.AddMinutes(5 - (sDateTime.Minute % 5)); } break; case FlatFileTypeEnum.FF_TENSEC: secPerRec = 10; if (sDateTime.Second % 10 != 0) { sDateTime = sDateTime.AddSeconds(10 - (sDateTime.Second % 10)); } break; } recInFile = DateTime.DaysInMonth(sDateTime.Year, sDateTime.Month) * (86400 / secPerRec); createFile(fName, recInFile); curRec = calcRecordNum(interval, sDateTime); if (curRec == -1) { throw new IndexOutOfRangeException("Record could not be located"); } lastDateTime = sDateTime; curDateTime = sDateTime; FileStream fs = new FileStream(fName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader br = new BinaryReader(fs); br.BaseStream.Seek((curRec * 8), SeekOrigin.Begin); bool midnightRoll = false; for (int i = 0; i < numRecToRead; i++) { lastDateTime = curDateTime; data.Add(br.ReadDouble()); if (i == 280) { Console.Write(""); } if (midnightRoll) { curDateTime = curDateTime.AddDays(1); midnightRoll = false; } curDateTime = curDateTime.AddSeconds(secPerRec); if ((curDateTime.Hour == 0) && (curDateTime.Minute == 0)) { curDateTime = curDateTime.AddDays(-1); midnightRoll = true; } if (curDateTime.Month != lastDateTime.Month) { // The month has changed so we nee to get the next month's file br.Close(); fs.Close(); fName = getFileName(interval, pointID, isInternal, curDateTime); createFile(fName, recInFile); fs = new FileStream(fName, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite); br = new BinaryReader(fs); } } return(data); } catch (Exception e) { LCAFileUtils.logErrorDetails("readDataFromFlatFile", "LCAFlatFileErr.txt", e); return(new List <double>()); } }