public EmoteControlPanel() { InitializeComponent(); StudentDatabaseMenuItem.IsEnabled = false; _client = LearnersDbThalamusClient.GetInstance(); _client.ClientConnected += delegate { _db = new ThalamusStudentDatabase(); _db.ConnectedEvent += DbOnConnectedEvent; _db.TimeoutEvent += DbOnTimeoutEvent; this.Dispatcher.Invoke(new Action(() => { StudentDatabaseMenuItem.IsEnabled = true; DatabaseStatus.Text = "Connecting..."; ControlPanelS2.IsEnabled = true; ControlPanelS2.Init(_client,_db); ControlPanelS1.IsEnabled = true; ControlPanelS1.Init(_client, _db); })); }; ThalamusStatus.WatchedClient = _client; MainTabPanel.SelectedIndex = Properties.Settings.Default.SelectedTab; #if !DEBUG ControlPanelS2.IsEnabled = false; #endif }
public void Init(LearnersDbThalamusClient client, IStudentsDatabase database) { Client = client; Database = database; database.StudentListUpdatedEvent += delegate(object sender, StudentListEventArgs args) { if (args.StudentList != null) { this.Dispatcher.Invoke(new Action(() => { Student1ComboBox.ItemsSource = Student2ComboBox.ItemsSource = args.StudentList; })); } }; Database.ConnectedEvent += delegate(object sender, EventArgs args) { Database.GetAllStudentsAsync(); }; }
public DatabaseWindow(ThalamusClient client, IStudentsDatabase db) { InitializeComponent(); _controller = new DatabaseWindowController(db); // this snippet helps customizing the DatePicker format. (See -> http://www.codeproject.com/Questions/346685/How-to-Display-DatePicker-in-different-format) CultureInfo ci = CultureInfo.CreateSpecificCulture(CultureInfo.CurrentCulture.Name); ci.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy"; Thread.CurrentThread.CurrentCulture = ci; IsEnabled = false; if (db.IsConnected()) { LoadDatabaseData(); DatabaseStatus.Text = "Connected"; DatabaseStatus.Foreground = new SolidColorBrush(Colors.Green); } else { DatabaseStatus.Text = "Waiting for connection..."; } db.ConnectedEvent += delegate(object sender, EventArgs args) { this.Dispatcher.Invoke(new Action(() => { DatabaseStatus.Text = "Connected"; DatabaseStatus.Foreground = new SolidColorBrush(Colors.Green); })); LoadDatabaseData(); }; db.ConnectedEvent += delegate(object sender, EventArgs args) { this.Dispatcher.Invoke(new Action(() => { DatabaseStatus.Text = "Timeout"; DatabaseStatus.Foreground = new SolidColorBrush(Colors.Red); })); }; }
public DatabaseWindowController(IStudentsDatabase db) { _db = db; }