private async void DeleteOverlayButton_Click(object sender, System.Windows.RoutedEventArgs e) { await this.Window.RunAsyncOperation(async() => { Button button = (Button)sender; OverlayEndpointListing overlay = (OverlayEndpointListing)button.DataContext; ChannelSession.Settings.OverlayCustomNameAndPorts.Remove(overlay.Name); await ChannelSession.Services.OverlayServers.RemoveOverlay(overlay.Name); this.overlays.Remove(overlay); }); }
private async void AddOverlayButton_Click(object sender, System.Windows.RoutedEventArgs e) { await this.Window.RunAsyncOperation(async() => { if (!string.IsNullOrEmpty(this.OverlayNameTextBox.Text)) { if (!this.overlays.Any(p => p.Name.Equals(this.OverlayNameTextBox.Text))) { int port = this.overlays.Max(o => o.Port) + 1; OverlayEndpointListing overlay = new OverlayEndpointListing(this.OverlayNameTextBox.Text, port); ChannelSession.Settings.OverlayCustomNameAndPorts[overlay.Name] = overlay.Port; await ChannelSession.Services.OverlayServers.AddOverlay(overlay.Name, overlay.Port); this.overlays.Add(overlay); } } this.OverlayNameTextBox.Text = string.Empty; return(Task.FromResult(0)); }); }