コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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());
            }
        }