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);
                }
            }
Esempio n. 3
0
        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);
            }
        }