Mercurial > servermonitor
diff ServerMonitor/Controls/FileCheckControl.cs @ 3:96f0b028176d
File check
author | Brad Greco <brad@bgreco.net> |
---|---|
date | Fri, 11 Jan 2019 22:34:18 -0500 |
parents | |
children | 7127d5b5ac75 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ServerMonitor/Controls/FileCheckControl.cs Fri Jan 11 22:34:18 2019 -0500 @@ -0,0 +1,79 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Linq; +using System.Text; +using System.Windows.Forms; + +namespace ServerMonitorApp +{ + [CheckType(typeof(FileCheck))] + public partial class FileCheckControl : CheckControl + { + public FileCheckControl() + { + InitializeComponent(); + } + + private void DiskSpaceCheckControl_Load(object sender, EventArgs e) + { + FileSizeComparisonComboBox.SelectedIndex = 0; + DateModifiedComparisonComboBox.SelectedIndex = 0; + } + + public override void LoadCheck(Check check1) + { + FileCheck check = (FileCheck)check1; + FileTextBox.Text = check.File; + FileSizeCheckBox.Checked = check.CheckFileSize; + FileSizeComparisonComboBox.SelectedIndex = check.FileSizeLessThan ? 0 : 1; + FileSizeTextBox.Text = check.FileSizeInSelectedUnits.ToString(); + FileSizeUnitsComboBox.SelectedIndex = (int)check.FileSizeUnits; + DateModifiedCheckBox.Checked = check.CheckDateModified; + DateModifiedComparisonComboBox.SelectedIndex = check.DateModifiedOlderThan ? 0 : 1; + DateModifiedTextBox.Text = check.DateModified.ToString(); + DateModifiedUnitsComboBox.SelectedIndex = (int)check.DateModifiedUnits; + + if (FileSizeTextBox.Text == "0") + FileSizeTextBox.Clear(); + if (DateModifiedTextBox.Text == "0") + DateModifiedTextBox.Clear(); + } + + public override void UpdateCheck(Check check1) + { + FileCheck check = (FileCheck)check1; + check.File = FileTextBox.Text; + check.CheckFileSize = FileSizeCheckBox.Checked; + check.FileSizeLessThan = FileSizeComparisonComboBox.SelectedIndex == 0; + try + { + check.FileSizeInSelectedUnits = double.Parse(FileSizeTextBox.Text); + } + catch + { + if (check.CheckFileSize) + throw new UpdateCheckException("File size must be numeric."); + else + check.FileSizeInSelectedUnits = 0; + } + check.FileSizeUnits = (SizeUnits)FileSizeUnitsComboBox.SelectedIndex; + check.CheckDateModified = DateModifiedCheckBox.Checked; + check.DateModifiedOlderThan = DateModifiedComparisonComboBox.SelectedIndex == 0; + try + { + check.DateModified = double.Parse(DateModifiedTextBox.Text); + } + catch + { + if (check.CheckDateModified) + throw new UpdateCheckException("Date modified must be numeric."); + else + check.DateModified = 0; + } + check.DateModifiedUnits = (TimeUnits)DateModifiedUnitsComboBox.SelectedIndex; + } + } +} \ No newline at end of file