//FRA JACOB /// <summary> /// Opretter DTO med de senest registrerede værdier for batteri. /// </summary> /// <returns>Returnerer DTO med værdier registreret ved seneste måling.</returns> public DTO_BatteryLevel GetRecord() { if (File.Exists("batteryLevel.txt") == false) { output = new FileStream("batteryLevel.txt", FileMode.Create, FileAccess.Write); StreamWriter fileWriter = new StreamWriter(output); fileWriter.WriteLine(2000 + ";" + DateTime.Now); fileWriter.Close(); } input = new FileStream("batteryLevel.txt", FileMode.Open, FileAccess.Read); reader = new StreamReader(input); DTO_BatteryLevel result = new DTO_BatteryLevel(0, DateTime.Now); string inputRecord; string[] inputFields; while ((inputRecord = reader.ReadLine()) != null) { inputFields = inputRecord.Split(';'); result = new DTO_BatteryLevel(Convert.ToDouble(inputFields[0]), Convert.ToDateTime(inputFields[1])); } reader.Close(); return(result); }
/// <summary> /// Returnere status på batteriet, angivet i % /// </summary> /// <returns>Status på batteri (resterende kapacitet) som double. </returns> public double ShowBatteryStatus() { current = GetCurrent(); batteryLevel = AssumeLevel(); if (batteryLevel != 0) { localDataRef.NewRecord(batteryLevel, DateTime.Now); } batteryLevelRecord = GetRecord(); batteryLevelRecord.BatteryLevel = batteryLevelRecord.BatteryLevel - current * (DateTime.Now - batteryLevelRecord.Date).TotalSeconds / 3600; localDataRef.NewRecord(batteryLevelRecord.BatteryLevel, DateTime.Now); return(batteryLevelRecord.BatteryLevel / 2000 * 100); }
/// <summary> /// Constructor til klassen. Initialiserer referencer. /// </summary> public Battery() { localDataRef = new LocalDataFile(); batteryLevel = AssumeLevel(); batteryLevelRecord = GetRecord(); //KOMMENTERES IND EFTER FØRSTE GANG if (batteryLevel != 0) { localDataRef.NewRecord(batteryLevel, DateTime.Now); } else { batteryLevelRecord.Date = DateTime.Now; } adc = new ADC1015(); }