private TOU MapTOURecord(string line, StringBuilder trace) { var record = new TOU(); string[] fields = line.Split(_separator); trace.Append($"Reading field: MeterCode.{_newLine}"); record.MeterCode = Helper.ConvertToInt(fields[0]); trace.Append($"Reading field: Serial.{_newLine}"); record.Serial = Helper.ConvertToInt(fields[1]); trace.Append($"Reading field: PlantCode.{_newLine}"); record.PlantCode = fields[2]; trace.Append($"Reading field: DateTime.{_newLine}"); record.DateTime = Helper.ConvertToDateTimeFromCSV(fields[3]); trace.Append($"Reading field: Quality.{_newLine}"); record.Quality = fields[4]; trace.Append($"Reading field: Stream.{_newLine}"); record.Stream = fields[5]; trace.Append($"Reading field: DataType.{_newLine}"); record.DataType = Helper.ConvertToDataType(fields[6]); trace.Append($"Reading field: Energy.{_newLine}"); record.Energy = Helper.ConvertToDecimal(fields[7]); trace.Append($"Reading field: Units.{_newLine}"); record.Units = Helper.ConvertToUnits(fields[8]); return(record); }
private PutItemRequest BuildTOUPutRequest(int id, TOU record) { var row = new Dictionary <string, AttributeValue> { { "Id", new AttributeValue { N = id.ToString() } }, { "MeterCode", new AttributeValue { N = record.MeterCode.ToString() } }, { "Serial", new AttributeValue { N = record.Serial.ToString() } }, { "PlantCode", new AttributeValue { S = record.PlantCode } }, { "DateTime", new AttributeValue { S = record.DateTime.ToString() } }, { "Quality", new AttributeValue { S = record.Quality } }, { "Stream", new AttributeValue { S = record.Stream } }, { "DataType", new AttributeValue { N = ((int)record.DataType).ToString() } }, { "Energy", new AttributeValue { N = record.Energy.ToString() } }, { "Units", new AttributeValue { N = ((int)record.Units).ToString() } }, }; return(new PutItemRequest { TableName = _touTableName, Item = row }); }
private List <TOU> ReadTOUFile(string filePath) { var records = new List <TOU>(); var trace = new StringBuilder(); trace.Append($"Start reading {filePath}."); try { using (TextFieldParser parser = new TextFieldParser(filePath)) { parser.TextFieldType = FieldType.Delimited; parser.SetDelimiters(","); int lineCount = 0; while (!parser.EndOfData) { lineCount++; trace.Append($"Start reading line: {lineCount}."); try { var record = new TOU(); string[] fields = parser.ReadFields(); trace.Append($"Reading field: MeterCode."); record.MeterCode = Helper.ConvertToInt(fields[0]); trace.Append($"Reading field: Serial."); record.Serial = Helper.ConvertToInt(fields[1]); trace.Append($"Reading field: PlantCode."); record.PlantCode = fields[2]; trace.Append($"Reading field: DateTime."); record.DateTime = Helper.ConvertToDateTimeFromDB(fields[3]); trace.Append($"Reading field: Quality."); record.Quality = fields[4]; trace.Append($"Reading field: Stream."); record.Stream = fields[5]; trace.Append($"Reading field: DataType."); record.DataType = Helper.ConvertToDataType(fields[6]); trace.Append($"Reading field: Energy."); record.Energy = Helper.ConvertToDecimal(fields[7]); trace.Append($"Reading field: Units."); record.Units = Helper.ConvertToUnits(fields[8]); records.Add(record); } catch (Exception e) { trace.Append($"Error reading line: {lineCount}. Error: {e}."); } trace.Append($"End reading line: {lineCount}."); } trace.Append($"{records.Count} lines found."); } } catch (Exception e) { trace.Append($"Error reading {filePath}. Error: {e}."); _logger.LogError(trace.ToString(), e); } trace.Append($"{records.Count} lines converted."); trace.Append($"End reading {filePath}."); Console.Write(trace.ToString()); _logger.LogInformation(trace.ToString()); return(records); }