63 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using Elwig.Helpers;
 | 
						|
using System.Windows;
 | 
						|
using System.Windows.Controls;
 | 
						|
 | 
						|
namespace Elwig.Dialogs {
 | 
						|
    public partial class AreaComModifyDialog : Window {
 | 
						|
 | 
						|
        public int? YearTo { get; set; }
 | 
						|
        public bool ModifyRetroactively { get; set; }
 | 
						|
 | 
						|
        public string OrigYearFrom { get; set; }
 | 
						|
        public string OrigYearTo { get; set; }
 | 
						|
        public string Area { get; set; }
 | 
						|
 | 
						|
        public AreaComModifyDialog(int? yearFrom, int? yearTo, int area, bool delete) {
 | 
						|
            Area = $"{area:N0}";
 | 
						|
            OrigYearFrom = $"{yearFrom}";
 | 
						|
            OrigYearTo = $"{yearTo}";
 | 
						|
            InitializeComponent();
 | 
						|
            Title = delete ? "Flächenbindung löschen" : "Flächenbindung bearbeiten";
 | 
						|
            RetroactiveInput.Content = delete ? "Rückwirkend löschen" : "Rückwirkend bearbeiten";
 | 
						|
            if (delete) {
 | 
						|
                QuestionBlock1.Visibility = Visibility.Hidden;
 | 
						|
                QuestionBlock2.Visibility = Visibility.Visible;
 | 
						|
                DescBlock1.Visibility = Visibility.Hidden;
 | 
						|
                DescBlock2.Visibility = Visibility.Visible;
 | 
						|
            }
 | 
						|
            if ((yearTo.HasValue && yearTo < Utils.CurrentNextSeason) || (yearFrom.HasValue && yearFrom >= Utils.CurrentNextSeason)) {
 | 
						|
                RetroactiveInput.IsChecked = true;
 | 
						|
            } else {
 | 
						|
                SeasonInput.Text = $"{Utils.CurrentNextSeason}";
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        private void SeasonInput_TextChanged(object sender, TextChangedEventArgs evt) {
 | 
						|
            YearTo = SeasonInput.Value! - 1;
 | 
						|
            CancelSeason1.Text = $"{YearTo}";
 | 
						|
            CancelSeason2.Text = $"{YearTo}";
 | 
						|
            NewSeason1.Text = $"{YearTo + 1}";
 | 
						|
        }
 | 
						|
 | 
						|
        private void RetroactiveInput_Changed(object sender, RoutedEventArgs evt) {
 | 
						|
            if (ModifyRetroactively) {
 | 
						|
                SeasonInput.IsEnabled = false;
 | 
						|
                SeasonInput.Text = "";
 | 
						|
                YearTo = null;
 | 
						|
                DescBlock1.Visibility = Visibility.Hidden;
 | 
						|
                DescBlock2.Visibility = Visibility.Hidden;
 | 
						|
            } else {
 | 
						|
                SeasonInput.IsEnabled = true;
 | 
						|
                SeasonInput.Text = $"{Utils.CurrentNextSeason}";
 | 
						|
                DescBlock1.Visibility = QuestionBlock1.Visibility;
 | 
						|
                DescBlock2.Visibility = QuestionBlock2.Visibility;
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        private void ConfirmButton_Click(object sender, RoutedEventArgs evt) {
 | 
						|
            DialogResult = true;
 | 
						|
            Close();
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |