-
Notifications
You must be signed in to change notification settings - Fork 0
/
MainWindow.xaml.cs
71 lines (61 loc) · 2.08 KB
/
MainWindow.xaml.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace Systerminator
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
SystemManager sysManager = new SystemManager();
public GroupItem SelectedGroup {
get {
return sysManager.SelectedGroup;
}
}
public MainWindow()
{
InitializeComponent();
//load host groups from HostGroup.xml
sysManager.LoadHosts();
//populate group list
foreach (var g in sysManager.Groups)
{
var i = new ComboBoxItem();
i.Content = g.Title;
if (lstGroups.Items.Count==0) i.IsSelected = true;
this.lstGroups.Items.Add(i);
}
}
private void button_PingAll(object sender, RoutedEventArgs e)
{
sysManager.PerformBatchPing(sysManager.SelectedGroup);
}
private void button_ShutdownAll(object sender, RoutedEventArgs e)
{
sysManager.PerformBatchShutdown(sysManager.SelectedGroup, txtCommand.Text);
}
private void lstGroups_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
sysManager.SelectedGroup = GetSelectedGroup();
this.dataGrid1.ItemsSource = sysManager.SelectedGroup.Hosts;
}
private GroupItem GetSelectedGroup()
{
string groupName = ((ComboBoxItem)lstGroups.SelectedItem).Content.ToString();
var g = sysManager.Groups.FirstOrDefault(gr => gr.Title == groupName);
return g;
}
}
}