public void StartRecording(HardwareMonitorType hwmTypes) { _recorder = new HardwareValuesRecorderMenuController(this, hwmTypes); _controller.AddObserver(_recorder); _toggleRecordingAction.Text = STOP_RECORDING_ACTION_ICON_NAME; _toggleRecordingAction.Image = stop_record_icon; IsRecording = true; }
public HardwareValuesRecorderMenuController(ContextMenuController cmc, HardwareMonitorType hwmTypes) { _cmc = cmc; _hardwareValuesMap = new Dictionary <HardwareMonitorType, ICollection <Tuple <float, DateTime> > >(); _hardwareLabelsMap = new Dictionary <HardwareMonitorType, ToolStripLabel>(); if (hwmTypes.HasFlag(HardwareMonitorType.Temperature)) { var label = new ToolStripLabel(_TEMPERATURE_TEXT); label.Name = _TEMPERATURE_TEXT; _hardwareValuesMap.Add(HardwareMonitorType.Temperature, new LinkedList <Tuple <float, DateTime> >()); _hardwareLabelsMap.Add(HardwareMonitorType.Temperature, label); _cmc._logsItem.DropDown.Items.Insert(0, label); } }
public static bool Save(HardwareMonitorType hwmType, ICollection <Tuple <float, DateTime> > values, out string currentFolderName) { currentFolderName = null; try { if (values.Count < 1) { return(false); } var mainRecordsFolder = $"{GetLogsFolderPath()}\\Records"; if (!Directory.Exists(mainRecordsFolder)) { Directory.CreateDirectory(mainRecordsFolder); } currentFolderName = $"{mainRecordsFolder}\\{DateTime.Now.ToString("yyyy_MM_dd")}"; if (!Directory.Exists(currentFolderName)) { Directory.CreateDirectory(currentFolderName); } StringBuilder sb = new StringBuilder(); var fileName = $"{currentFolderName}\\{hwmType}.dat"; int n = 0; while (File.Exists(fileName)) { fileName = $"{currentFolderName}\\{hwmType} ({++n}).dat"; } File.WriteAllLines(fileName, values.Select(ValuesFormatter)); return(true); } catch (Exception ex) { Log($"HardwareRecordsManager Save: {ex}", LogLevel.Warning); return(false); } }