Windows: Remove SeasonFinishWindow and TestWindow
This commit is contained in:
@ -1,27 +1,32 @@
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Helpers.Billing;
|
||||
using Elwig.Helpers.Export;
|
||||
using Elwig.Models.Dtos;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
|
||||
namespace Elwig.Windows {
|
||||
public partial class MainWindow : Window {
|
||||
public partial class MainWindow : ContextWindow {
|
||||
|
||||
public MainWindow() {
|
||||
InitializeComponent();
|
||||
var v = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
VersionField.Text = "Version: " + (v == null ? "?" : $"{v.Major}.{v.Minor}.{v.Build}") + $" – {App.BranchName}";
|
||||
if (App.Client.Client == null) VersionField.Text += " (Unbekannt)";
|
||||
if (!App.Config.Debug) {
|
||||
HelpMenu.Items.Remove(Menu_Help_TestWindow);
|
||||
//QueryWindowButton.Visibility = Visibility.Hidden;
|
||||
}
|
||||
if (App.Config.UpdateUrl == null) Menu_Help_Update.IsEnabled = false;
|
||||
if (App.Config.Smtp == null) Menu_Help_Smtp.IsEnabled = false;
|
||||
}
|
||||
|
||||
private void Window_Loaded(object sender, RoutedEventArgs evt) { }
|
||||
private void Window_Loaded(object sender, RoutedEventArgs evt) {
|
||||
SeasonInput.Value = Utils.CurrentLastSeason;
|
||||
}
|
||||
|
||||
private void Window_Closing(object sender, CancelEventArgs evt) {
|
||||
if (App.NumWindows > 1 && !App.ForceShutdown) {
|
||||
@ -35,11 +40,6 @@ namespace Elwig.Windows {
|
||||
}
|
||||
}
|
||||
|
||||
private void Menu_Help_TestWindow_Click(object sender, RoutedEventArgs evt) {
|
||||
var w = new TestWindow();
|
||||
w.Show();
|
||||
}
|
||||
|
||||
private async void Menu_Help_Update_Click(object sender, RoutedEventArgs evt) {
|
||||
await App.CheckForUpdates();
|
||||
}
|
||||
@ -56,11 +56,20 @@ namespace Elwig.Windows {
|
||||
Mouse.OverrideCursor = null;
|
||||
}
|
||||
|
||||
private void Menu_Help_Config_Click(object sender, RoutedEventArgs evt) {
|
||||
Process.Start("explorer.exe", App.DataPath);
|
||||
}
|
||||
|
||||
private void Menu_Database_Query_Click(object sender, RoutedEventArgs evt) {
|
||||
var w = new QueryWindow();
|
||||
w.Show();
|
||||
}
|
||||
|
||||
private void Menu_Database_Open_Click(object sender, RoutedEventArgs evt) {
|
||||
if (Path.GetDirectoryName(App.Config.DatabaseFile) is string path)
|
||||
Process.Start("explorer.exe", path);
|
||||
}
|
||||
|
||||
private void MemberAdminButton_Click(object sender, RoutedEventArgs evt) {
|
||||
var w = new MemberAdminWindow();
|
||||
w.Show();
|
||||
@ -79,12 +88,98 @@ namespace Elwig.Windows {
|
||||
App.FocusBaseData();
|
||||
}
|
||||
|
||||
private void SeasonFinishButton_Click(object sender, RoutedEventArgs evt) {
|
||||
App.FocusSeasonFinish();
|
||||
}
|
||||
|
||||
private void MailButton_Click(object sender, RoutedEventArgs evt) {
|
||||
App.FocusMailWindow();
|
||||
}
|
||||
|
||||
protected override Task OnRenewContext(AppDbContext ctx) {
|
||||
SeasonInput_ValueChanged(null, null);
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
private void SeasonFinish_Expanded(object sender, RoutedEventArgs evt) {
|
||||
Height = 530;
|
||||
}
|
||||
|
||||
private void SeasonFinish_Collapsed(object sender, RoutedEventArgs evt) {
|
||||
Height = 390;
|
||||
}
|
||||
|
||||
private async void SeasonInput_ValueChanged(object? sender, RoutedEventArgs? evt) {
|
||||
using var ctx = new AppDbContext();
|
||||
var s0 = await ctx.Seasons.FindAsync(SeasonInput.Value);
|
||||
var valid = (s0 != null);
|
||||
DeliveryConfirmationButton.IsEnabled = valid;
|
||||
OverUnderDeliveryButton.IsEnabled = valid;
|
||||
AutoBusinessSharesButton.IsEnabled = valid && false;
|
||||
PaymentButton.IsEnabled = valid;
|
||||
}
|
||||
|
||||
private void DeliveryConfirmationButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (SeasonInput.Value is not int year)
|
||||
return;
|
||||
var w = App.FocusMailWindow(year);
|
||||
w.AddDeliveryConfirmation();
|
||||
}
|
||||
|
||||
private async void OverUnderDeliveryButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (SeasonInput.Value is not int year)
|
||||
return;
|
||||
var d = new SaveFileDialog() {
|
||||
FileName = $"Über-Unterlieferungen-{year}.ods",
|
||||
DefaultExt = "ods",
|
||||
Filter = "OpenDocument Format Spreadsheet (*.ods)|*.ods",
|
||||
Title = $"Über-/Unterlieferungen {year} speichern unter - Elwig"
|
||||
};
|
||||
if (d.ShowDialog() == false)
|
||||
return;
|
||||
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
try {
|
||||
var b = new Billing(year);
|
||||
await b.FinishSeason();
|
||||
await b.CalculateBuckets();
|
||||
await App.HintContextChange();
|
||||
|
||||
using var ctx = new AppDbContext();
|
||||
var tbl1 = await OverUnderDeliveryData.ForSeason(ctx.OverUnderDeliveryRows, year);
|
||||
var tbl2 = await AreaComUnderDeliveryData.ForSeason(ctx.AreaComUnderDeliveryRows, year);
|
||||
var tbl3 = await MemberDeliveryPerVariantData.ForSeason(ctx.MemberDeliveryPerVariantRows, year);
|
||||
using var ods = new OdsFile(d.FileName);
|
||||
await ods.AddTable(tbl1);
|
||||
await ods.AddTable(tbl2);
|
||||
await ods.AddTable(tbl3);
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
}
|
||||
|
||||
private async void AutoBusinessSharesButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (SeasonInput.Value is not int year)
|
||||
return;
|
||||
if (false && App.Client.IsMatzen) {
|
||||
AutoBusinessSharesButton.IsEnabled = false;
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
|
||||
var b = new Billing(year);
|
||||
await b.AutoAdjustBusinessShare();
|
||||
|
||||
Mouse.OverrideCursor = null;
|
||||
AutoBusinessSharesButton.IsEnabled = true;
|
||||
} else {
|
||||
MessageBox.Show(
|
||||
"Es ist kein automatisches Nachzeichnen der Geschäftsanteile\n" +
|
||||
"für diese Genossenschaft eingestellt!\n" +
|
||||
"Bitte wenden Sie sich an die Programmierer!", "Fehler",
|
||||
MessageBoxButton.OK, MessageBoxImage.Information);
|
||||
}
|
||||
}
|
||||
|
||||
private void PaymentButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (SeasonInput.Value is not int year)
|
||||
return;
|
||||
App.FocusPaymentVariants(year);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user