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);
                }));
            };
        }