public ConfigurationWindow()
        {
            InitializeComponent();

            if (Configuration.Instance.HasMacAddress() && Configuration.Instance.HasKey() && Configuration.Instance.KeyIsApproved())
            {
                var slideshowWindow = new SignboardWindow(Configuration.Instance.GetMacAddress().Address);
                slideshowWindow.ShowDialog();
            }
            else
            {
                NetworkPage = new NetworkPage(NetworkComponent.NetworkInterfaces());
                NetworkPage.PageComplete += NetworkPageComplete;

                Content = NetworkPage;
            }
        }
        public void FormStateChanged()
        {
            DeviceStateTextBlock.Text = State.State.ToString();
            DeviceStateDateTextBlock.Text = String.Format("({0} {1})", State.ChangeDate.ToShortDateString(), State.ChangeDate.ToShortTimeString());

            CommentValueTextBox.IsEnabled = true;
            switch (State.State)
            {
                case DeviceState.None:
                    DeviceStateTextBlock.Foreground = Brushes.Black;
                    break;

                case DeviceState.Pending:
                    DeviceStateTextBlock.Foreground = Brushes.Orange;
                    break;

                case DeviceState.Approved:
                    CommentValueTextBox.IsEnabled = false;
                    DeviceStateTextBlock.Foreground = Brushes.Green;
                    Components.Configuration.Configuration.Instance.SetKeyApproved();
                    var slideshowWindow = new SignboardWindow(Components.Configuration.Configuration.Instance.GetMacAddress().Address);
                    slideshowWindow.ShowDialog();
                    break;

                case DeviceState.Declined:
                    DeviceStateTextBlock.Foreground = Brushes.Red;
                    break;

                case DeviceState.Blocked:
                    DeviceStateTextBlock.Foreground = Brushes.Red;
                    break;
            }

            RetryButton.Visibility = Visibility.Collapsed;
            RequestButton.IsEnabled = (State.State == DeviceState.None) || (State.State == DeviceState.Declined);
            RequestButton.Visibility = (State.State == DeviceState.None) || (State.State == DeviceState.Declined) || (State.State == DeviceState.Blocked) || (State.State == DeviceState.Pending) ? Visibility.Visible : Visibility.Collapsed;
            RefreshGifImage.Visibility = (State.State == DeviceState.Pending) ? Visibility.Visible : Visibility.Collapsed;
            KeyValueTextBlock.Visibility = (State.State == DeviceState.None) ? Visibility.Visible : Visibility.Collapsed;
            MacAddressValueTextBlock.Visibility = (State.State == DeviceState.None) ? Visibility.Visible : Visibility.Collapsed;
        }