/// <summary> /// Modifies the ID of EMeter in Database. /// </summary> /// <param name="newID"> New value of ID field. </param> /// <param name="eMeterOld"> EMeter object read from DB. </param> public static void WriteModified(int newID, EMeter eMeterOld) { string destination = @"C:\Users\stefan\Desktop\blok22\db_tmp.txt"; string line = null; using (var reader = new StreamReader(_dbPath)) using (var writer = new StreamWriter(destination)) { while ((line = reader.ReadLine()) != null) { var lineContent = line.Split(' '); int currentReading = Int32.Parse(lineContent[0]); if (currentReading == eMeterOld.ID) { // Modify the eMeterOld and write to file. eMeterOld.ID = newID; writer.WriteLine(eMeterOld.ToString()); } else { writer.WriteLine(line); } } } // Delete old db.txt and create new. File.Delete(_dbPath); File.Move(destination, _dbPath); }
/// <summary> /// Write EMeter to DB. /// </summary> /// <param name="eMeter"> EMeter object to be written to DB. </param> public static void Write(EMeter eMeter) { // Check if EMeter with same ID already exists. if (Read(eMeter.ID) != null) { throw new Exception("EMeter with ID = " + eMeter.ID + " already exists."); } using (var writer = new StreamWriter(_dbPath, true)) { writer.WriteLine(eMeter.ToString()); } }