Mercurial > servermonitor
view ServerMonitor/Controls/HttpCheckControl.cs @ 10:9e77c0dccb66
Add update checker
author | Brad Greco <brad@bgreco.net> |
---|---|
date | Mon, 08 Apr 2019 21:31:03 -0400 |
parents | 7127d5b5ac75 |
children | b713b9db4c82 |
line wrap: on
line source
namespace ServerMonitorApp { /// <summary>Control for editing an HTTP check.</summary> [CheckType(typeof(HttpCheck))] public partial class HttpCheckControl : CheckControl { public HttpCheckControl() { InitializeComponent(); } /// <summary>Sets the values of the controls from a check's properties.</summary> public override void LoadCheck(Check check1) { HttpCheck check = (HttpCheck)check1; UrlTextBox.Text = check.Url; ResponseCodeCheckBox.Checked = check.CheckResponseCode; ResponseCodeTextBox.Text = check.ResponseCode.ToString(); ResponseLengthCheckbox.Checked = check.CheckResponseLength; ResponseLengthMinTextBox.Text = check.ResponseLengthMin; ResponseLengthMaxTextBox.Text = check.ResponseLengthMax; ResponseBodyCheckBox.Checked = check.CheckResponseBody; ResponseBodyComboBox.SelectedIndex = (int)check.ResponseBodyMatchType; ResponseBodyTextBox.Text = check.ResponseBodyPattern; ResponseBodyRegexCheckBox.Checked = check.ResponseBodyUseRegex; } /// <summary>Updates the properties of a check from user input.</summary> public override void UpdateCheck(Check check1) { HttpCheck check = (HttpCheck)check1; check.Url = UrlTextBox.Text.Trim(); check.CheckResponseCode = ResponseCodeCheckBox.Checked; try { check.ResponseCode = int.Parse(ResponseCodeTextBox.Text); } catch { throw new UpdateCheckException("Response code must be an integer."); } check.CheckResponseLength = ResponseLengthCheckbox.Checked; check.ResponseLengthMin = ResponseLengthMinTextBox.Text; check.ResponseLengthMax = ResponseLengthMaxTextBox.Text; check.CheckResponseBody = ResponseBodyCheckBox.Checked; check.ResponseBodyMatchType = (MatchType)ResponseBodyComboBox.SelectedIndex; check.ResponseBodyPattern = ResponseBodyTextBox.Text; check.ResponseBodyUseRegex = ResponseBodyRegexCheckBox.Checked; } } }