using System.ComponentModel;
using System.Reflection;
using System.Windows;

namespace Elwig.Windows {
    public partial class MainWindow : Window {

        public MainWindow() {
            InitializeComponent();
            var v = Assembly.GetExecutingAssembly().GetName().Version;
            VersionField.Text = "Version: " + (v == null ? "?" : $"{v.Major}.{v.Minor}.{v.Build}") + $" – {App.BranchName}";
            if (!App.Config.Debug) {
                TestWindowButton.Visibility = Visibility.Hidden;
                //QueryWindowButton.Visibility = Visibility.Hidden;
            }
        }

        private void Window_Loaded(object sender, RoutedEventArgs evt) { }

        private void Window_Closing(object sender, CancelEventArgs evt) {
            if (App.NumWindows > 1)
                evt.Cancel = true;
        }

        private void MemberAdminButton_Click(object sender, RoutedEventArgs evt) {
            var w = new MemberAdminWindow();
            w.Show();
        }

        private void ReceiptButton_Click(object sender, RoutedEventArgs evt) {
            App.FocusReceipt();
        }

        private void DeliveryAdminButton_Click(object sender, RoutedEventArgs evt) {
            var w = new DeliveryAdminWindow();
            w.Show();
        }

        private void DeliveryListButton_Click(object sender, RoutedEventArgs evt) {
            // TODO
        }

        private void TestWindowButton_Click(object sender, RoutedEventArgs evt) {
            var w = new TestWindow();
            w.Show();
        }

        private void QueryWindowButton_Click(object sender, RoutedEventArgs evt) {
            var w = new QueryWindow();
            w.Show();
        }

        private void BaseDataButton_Click(object sender, RoutedEventArgs evt) {
            App.FocusBaseData();
        }

        private void SeasonFinishButton_Click(object sender, RoutedEventArgs e) {
            App.FocusSeasonFinish();
        }
    }
}