LogMeterMeter AddMeter(OleDbCommand command) { LogMeterMeter meter = null; command.CommandText = BuildCommandMeterText(); using (OleDbDataReader reader = command.ExecuteReader()) if (reader.Read()) { meter = new LogMeterMeter(); meter.Code = reader.GetInt32(0); meter.Make = reader.GetString(1).Trim(); meter.Model = reader.GetString(2).Trim(); meter.Size = reader.GetString(3).Trim(); meter.Unit = reader.GetString(4).Trim(); meter.Nutation = reader.GetDouble(5); meter.Led = reader.GetDouble(6); meter.StorageInterval = reader.GetInt32(7); meter.NumberOfIntervals = reader.GetInt32(8); meter.TotalPulses = reader.GetInt32(9); meter.BeginReading = Math.Round(reader.GetDouble(10), 2); meter.EndReading = Math.Round(reader.GetDouble(11), 2); meter.RegisterVolume = Math.Round(reader.GetDouble(12), 2); meter.MeterMasterVolume = Math.Round(reader.GetDouble(13), 2); meter.ConversionFactorType = reader.GetInt32(14); meter.ConversionFactor = Math.Round(reader.GetDouble(15), 2); meter.DatabaseMultiplier = Math.Round(reader.GetDouble(16), 2); meter.CombinedFile = reader.GetInt32(17); } return(meter); }
void WriteMeter(System.Text.StringBuilder text, LogMeterMeter meter) { WriteLine(text, LogMeterMeter.CodeLabel, meter.Code); WriteLine(text, LogMeterMeter.MakeLabel, meter.Make); WriteLine(text, LogMeterMeter.ModelLabel, meter.Model); WriteLine(text, LogMeterMeter.SizeLabel, meter.Size); WriteLine(text, LogMeterMeter.UnitLabel, meter.Unit); WriteLine(text, LogMeterMeter.NutationLabel, meter.Nutation); WriteLine(text, LogMeterMeter.LedLabel, meter.Led); WriteLine(text, LogMeterMeter.StorageIntervalLabel, meter.StorageInterval); WriteLine(text, LogMeterMeter.NumberOfIntervalsLabel, meter.NumberOfIntervals); WriteLine(text, LogMeterMeter.TotalTimeLabel, meter.TotalTime); WriteLine(text, LogMeterMeter.TotalPulsesLabel, meter.TotalPulses); WriteLine(text, LogMeterMeter.BeginReadingLabel, meter.BeginReading); WriteLine(text, LogMeterMeter.EndReadingLabel, meter.EndReading); WriteLine(text, LogMeterMeter.RegisterVolumeLabel, meter.RegisterVolume); WriteLine(text, LogMeterMeter.MeterMasterVolumeLabel, meter.MeterMasterVolume); WriteLine(text, LogMeterMeter.ConversionFactorTypeLabel, meter.ConversionFactorType); WriteLine(text, LogMeterMeter.ConversionFactorLabel, meter.ConversionFactor); WriteLine(text, LogMeterMeter.DatabaseMultiplierLabel, meter.DatabaseMultiplier); WriteLine(text, LogMeterMeter.CombinedFileLabel, meter.CombinedFile); WriteLine(text, LogMeterMeter.DoublePulseLabel, meter.DoublePulse); }
void WriteMeterInfo(StringBuilder text, LogMeterMeter meter) { if (meter.Code.HasValue) { AppendKeyValuePair(text, LogMeterMeter.CodeLabel, meter.Code.ToString()); } AppendKeyValuePair(text, LogMeterMeter.MakeLabel, meter.Make); AppendKeyValuePair(text, LogMeterMeter.ModelLabel, meter.Model); AppendKeyValuePair(text, LogMeterMeter.SizeLabel, meter.Size); AppendKeyValuePair(text, LogMeterMeter.UnitLabel, meter.Unit); if (meter.Nutation.HasValue) { AppendKeyValuePair(text, LogMeterMeter.NutationLabel, meter.Nutation.ToString()); } if (meter.Led.HasValue) { AppendKeyValuePair(text, LogMeterMeter.LedLabel, meter.Led.ToString()); } if (meter.StorageInterval.HasValue) { AppendKeyValuePair(text, LogMeterMeter.StorageIntervalLabel, meter.StorageInterval.ToString()); } if (meter.NumberOfIntervals.HasValue) { AppendKeyValuePair(text, LogMeterMeter.NumberOfIntervalsLabel, meter.NumberOfIntervals.ToString()); } AppendKeyValuePair(text, LogMeterMeter.TotalTimeLabel, meter.TotalTime); if (meter.TotalPulses.HasValue) { AppendKeyValuePair(text, LogMeterMeter.TotalPulsesLabel, meter.TotalPulses.ToString()); } if (meter.BeginReading.HasValue) { AppendKeyValuePair(text, LogMeterMeter.BeginReadingLabel, meter.BeginReading.ToString()); } if (meter.EndReading.HasValue) { AppendKeyValuePair(text, LogMeterMeter.EndReadingLabel, meter.EndReading.ToString()); } if (meter.RegisterVolume.HasValue) { AppendKeyValuePair(text, LogMeterMeter.RegisterVolumeLabel, meter.RegisterVolume.ToString()); } if (meter.MeterMasterVolume.HasValue) { AppendKeyValuePair(text, LogMeterMeter.MeterMasterVolumeLabel, meter.MeterMasterVolume.ToString()); } if (meter.ConversionFactorType.HasValue) { AppendKeyValuePair(text, LogMeterMeter.ConversionFactorTypeLabel, meter.ConversionFactorType.ToString()); } if (meter.ConversionFactor.HasValue) { AppendKeyValuePair(text, LogMeterMeter.ConversionFactorLabel, meter.ConversionFactor.ToString()); } if (meter.DatabaseMultiplier.HasValue) { AppendKeyValuePair(text, LogMeterMeter.DatabaseMultiplierLabel, meter.DatabaseMultiplier.ToString()); } if (meter.CombinedFile.HasValue) { AppendKeyValuePair(text, LogMeterMeter.CombinedFileLabel, meter.CombinedFile.ToString()); } if (meter.DoublePulse.HasValue) { AppendKeyValuePair(text, LogMeterMeter.DoublePulseLabel, meter.DoublePulse.ToString()); } }
LogMeterMeter ReadMeter(string[] lines) { LogMeterMeter meter = new LogMeterMeter(); foreach (string line in lines) { if (line.StartsWith("DateTimeStamp")) { break; } if (line.StartsWith(LogMeterMeter.CodeLabel)) { meter.Code = ReadIntegerAttribute(line, LogMeterMeter.CodeLabel); } else if (line.StartsWith(LogMeterMeter.MakeLabel)) { meter.Make = ReadStringAttribute(line, LogMeterMeter.MakeLabel); } else if (line.StartsWith(LogMeterMeter.ModelLabel)) { meter.Model = ReadStringAttribute(line, LogMeterMeter.ModelLabel); } else if (line.StartsWith(LogMeterMeter.SizeLabel)) { meter.Size = ReadStringAttribute(line, LogMeterMeter.SizeLabel); } else if (line.StartsWith(LogMeterMeter.UnitLabel)) { meter.Unit = ReadStringAttribute(line, LogMeterMeter.UnitLabel); } else if (line.StartsWith(LogMeterMeter.NutationLabel)) { meter.Nutation = ReadDoubleAttribute(line, LogMeterMeter.NutationLabel); } else if (line.StartsWith(LogMeterMeter.LedLabel)) { meter.Led = ReadDoubleAttribute(line, LogMeterMeter.LedLabel); } else if (line.StartsWith(LogMeterMeter.StorageIntervalLabel)) { meter.StorageInterval = ReadIntegerAttribute(line, LogMeterMeter.StorageIntervalLabel); } else if (line.StartsWith(LogMeterMeter.NumberOfIntervalsLabel)) { meter.NumberOfIntervals = ReadIntegerAttribute(line, LogMeterMeter.NumberOfIntervalsLabel); } else if (line.StartsWith(LogMeterMeter.TotalTimeLabel)) { meter.TotalTime = ReadStringAttribute(line, LogMeterMeter.TotalTimeLabel); } else if (line.StartsWith(LogMeterMeter.TotalPulsesLabel)) { meter.TotalPulses = ReadIntegerAttribute(line, LogMeterMeter.TotalPulsesLabel); } else if (line.StartsWith(LogMeterMeter.BeginReadingLabel)) { meter.BeginReading = ReadDoubleAttributeBrainardBug(line, LogMeterMeter.BeginReadingLabel); } else if (line.StartsWith(LogMeterMeter.EndReadingLabel)) { meter.EndReading = ReadDoubleAttributeBrainardBug(line, LogMeterMeter.EndReadingLabel); } else if (line.StartsWith(LogMeterMeter.RegisterVolumeLabel)) { meter.RegisterVolume = ReadDoubleAttribute(line, LogMeterMeter.RegisterVolumeLabel); } else if (line.StartsWith(LogMeterMeter.MeterMasterVolumeLabel)) { meter.MeterMasterVolume = ReadDoubleAttribute(line, LogMeterMeter.MeterMasterVolumeLabel); } else if (line.StartsWith(LogMeterMeter.ConversionFactorTypeLabel)) { meter.ConversionFactorType = ReadIntegerAttribute(line, LogMeterMeter.ConversionFactorTypeLabel); } else if (line.StartsWith(AppendComma(LogMeterMeter.ConversionFactorLabel))) { meter.ConversionFactor = ReadDoubleAttribute(line, LogMeterMeter.ConversionFactorLabel); } else if (line.StartsWith(LogMeterMeter.DatabaseMultiplierLabel)) { meter.DatabaseMultiplier = ReadIntegerAttribute(line, LogMeterMeter.DatabaseMultiplierLabel); } else if (line.StartsWith(LogMeterMeter.CombinedFileLabel)) { meter.CombinedFile = ReadIntegerAttribute(line, LogMeterMeter.CombinedFileLabel); } else if (line.StartsWith(LogMeterMeter.DoublePulseLabel)) { meter.DoublePulse = ReadBooleanAttribute(line, LogMeterMeter.DoublePulseLabel); } } return(meter); }
LogMeterMeter ReadMeter(string[] lines) { var meter = new LogMeterMeter(); foreach (string line in lines) { if (CommentStartsWith(line, "@DATA")) { break; } if (CommentStartsWith(line, LogMeterMeter.CodeLabel)) { meter.Code = ReadIntegerValue(line); } if (CommentStartsWith(line, LogMeterMeter.MakeLabel)) { meter.Make = ReadStringValue(line); } if (CommentStartsWith(line, LogMeterMeter.ModelLabel)) { meter.Model = ReadStringValue(line); } if (CommentStartsWith(line, LogMeterMeter.SizeLabel)) { meter.Size = ReadStringValue(line); } if (CommentStartsWith(line, LogMeterMeter.UnitLabel)) { meter.Unit = ReadStringValue(line); } if (CommentStartsWith(line, LogMeterMeter.LedLabel)) { meter.Led = ReadDoubleValue(line); } if (CommentStartsWith(line, LogMeterMeter.NutationLabel)) { meter.Nutation = ReadDoubleValue(line); } if (CommentStartsWith(line, LogMeterMeter.StorageIntervalLabel)) { meter.StorageInterval = ReadIntegerValue(line); } if (CommentStartsWith(line, LogMeterMeter.NumberOfIntervalsLabel)) { meter.NumberOfIntervals = ReadIntegerValue(line); } if (CommentStartsWith(line, LogMeterMeter.TotalTimeLabel)) { meter.TotalTime = ReadStringValue(line); } if (CommentStartsWith(line, LogMeterMeter.TotalPulsesLabel)) { meter.TotalPulses = ReadIntegerValue(line); } if (CommentStartsWith(line, LogMeterMeter.BeginReadingLabel)) { meter.BeginReading = ReadDoubleValue(line); } if (CommentStartsWith(line, LogMeterMeter.EndReadingLabel)) { meter.EndReading = ReadDoubleValue(line); } if (CommentStartsWith(line, LogMeterMeter.RegisterVolumeLabel)) { meter.RegisterVolume = ReadDoubleValue(line); } if (CommentStartsWith(line, LogMeterMeter.MeterMasterVolumeLabel)) { meter.MeterMasterVolume = ReadDoubleValue(line); } if (CommentStartsWith(line, LogMeterMeter.ConversionFactorTypeLabel)) { meter.ConversionFactorType = ReadIntegerValue(line); } if (CommentStartsWith(line, LogMeterMeter.ConversionFactorLabel + ",")) { meter.ConversionFactor = ReadDoubleValue(line); } if (CommentStartsWith(line, LogMeterMeter.DatabaseMultiplierLabel)) { meter.DatabaseMultiplier = ReadDoubleValue(line); } if (CommentStartsWith(line, LogMeterMeter.CombinedFileLabel)) { meter.CombinedFile = ReadIntegerValue(line); } if (CommentStartsWith(line, LogMeterMeter.DoublePulseLabel)) { meter.DoublePulse = ReadBoolValue(line); } } return(meter); }