67 lines
2.3 KiB
C#
67 lines
2.3 KiB
C#
using Elwig.Helpers;
|
|
using System.Linq;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
|
|
namespace Elwig.Dialogs {
|
|
public partial class DeleteMemberDialog : Window {
|
|
|
|
protected string[] NameParts;
|
|
|
|
public bool DeleteAreaComs { get; set; }
|
|
public bool DeleteDeliveries { get; set; }
|
|
public bool DeletePaymentData { get; set; }
|
|
|
|
public DeleteMemberDialog(int mgnr, string name, int numAreaComs, int numDeliveries, int numCredits) {
|
|
NameParts = name.ToLower().Split(' ').Where(p => p.Length > 0).Append($"{mgnr}").ToArray();
|
|
InitializeComponent();
|
|
Title += " - " + name;
|
|
AreaComInput.IsEnabled = numAreaComs != 0;
|
|
AreaComInput.Content += $" ({numAreaComs:N0})";
|
|
DeliveryInput.IsEnabled = numDeliveries != 0;
|
|
DeliveryInput.Content += $" ({numDeliveries:N0})";
|
|
PaymentInput.IsEnabled = numCredits != 0;
|
|
PaymentInput.Content += $" ({numCredits:N0})";
|
|
}
|
|
|
|
private void NameInput_TextChanged(object sender, TextChangedEventArgs evt) {
|
|
Update();
|
|
}
|
|
|
|
private void CheckBox_Changed(object sender, RoutedEventArgs evt) {
|
|
Update();
|
|
}
|
|
|
|
private static void UpdateCheckBox(CheckBox cb) {
|
|
if (cb.IsEnabled && cb.IsChecked != true) {
|
|
ControlUtils.SetInputInvalid(cb);
|
|
} else {
|
|
ControlUtils.ClearInputState(cb);
|
|
}
|
|
}
|
|
|
|
private void Update() {
|
|
var t = NameInput.Text.ToLower();
|
|
var nameValid = NameParts.All(t.Contains);
|
|
UpdateCheckBox(AreaComInput);
|
|
UpdateCheckBox(DeliveryInput);
|
|
UpdateCheckBox(PaymentInput);
|
|
if (!nameValid) {
|
|
ControlUtils.SetInputInvalid(NameInput);
|
|
} else {
|
|
ControlUtils.ClearInputState(NameInput);
|
|
}
|
|
ConfirmButton.IsEnabled =
|
|
(!AreaComInput.IsEnabled || DeleteAreaComs) &&
|
|
(!DeliveryInput.IsEnabled || DeleteDeliveries) &&
|
|
(!PaymentInput.IsEnabled || DeletePaymentData) &&
|
|
nameValid;
|
|
}
|
|
|
|
private void ConfirmButton_Click(object sender, RoutedEventArgs evt) {
|
|
DialogResult = true;
|
|
Close();
|
|
}
|
|
}
|
|
}
|