/// <summary> /// Validates the configured url and adds or updates the monitoring instance /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _view_ConfiguredUrl(object sender, UrlAddressInstanceEventArgs e) { var instance = new UrlAddressMonitoringInstance { Address = _view.Address, Description = _view.Description, DisplayName = _view.DisplayName, DnsServers = _view.CustomDnsServers, DnsServersTimeout = _view.DnsTimeout, ProxyAddress = _view.Proxy, ActingAgent = _view.ActionPoint?.DisplayName, ActionPoint = _view.ActionPoint }; try { var valid = _model.ValidateInstance(instance); if (!valid.IsValid) { _view.SetErrors(valid.Errors); return; } //Update or create instance if (string.IsNullOrEmpty(_view.Instance.Address)) { _model.AddUrlMonitoringInstance(instance); } else { _model.UpdateUrlMonitoringInstance(instance); } _view.Hide(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Invalid instance", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Shows view for user to configure url monitoring instance /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _model_ConfigureInstance(object sender, UrlAddressInstanceEventArgs e) { _view.Instance = e.Instances.First(); _view.ShowDialog(); }
/// <summary> /// Edit an existing url monitoring instance /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _view_EditUrl(object sender, UrlAddressInstanceEventArgs e) { _model.ConfigureUrlMonitoringInstance(e.Instances.First()); }
/// <summary> /// Add a new url monitoring instance /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _view_AddUrl(object sender, UrlAddressInstanceEventArgs e) { _model.ConfigureUrlMonitoringInstance(new UrlAddressMonitoringInstance()); }
/// <summary> /// Remove existing url monitoring instances /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void _view_DeleteUrl(object sender, UrlAddressInstanceEventArgs e) { _model.DeleteUrlMonitoringInstances(e.Instances); }
private void _model_InstanceAdded(object sender, UrlAddressInstanceEventArgs e) { _view.Urls = new BindingList <UrlAddressMonitoringInstance>(_model.GetUrlMonitoringInstances().ToList()); }