Compare commits

...

2 Commits

Author SHA1 Message Date
lorenz.stechauner 7086a72fab Windows: Add cursor waiting 2023-09-06 18:04:13 +02:00
lorenz.stechauner 540236f878 Documents: fix page breaking issues 2023-09-06 18:00:48 +02:00
5 changed files with 47 additions and 13 deletions
@@ -120,6 +120,10 @@ main > *:first-child {
font-size: 10pt; font-size: 10pt;
} }
.main-wrapper .hidden {
break-before: avoid;
}
.main-wrapper .bottom { .main-wrapper .bottom {
bottom: 0; bottom: 0;
position: absolute; position: absolute;
+2
View File
@@ -52,6 +52,8 @@ table.delivery tr.sum td {
table.delivery-stats { table.delivery-stats {
font-size: 8pt; font-size: 8pt;
break-inside: avoid;
break-after: avoid;
} }
table.delivery-stats.expanded th, table.delivery-stats.expanded th,
+1 -1
View File
@@ -66,6 +66,6 @@ hr.page-break {
@media print { @media print {
.page::after { .page::after {
content: "Seite " counter(page) " von " counter(pages); content: "Seite " counter(page) " von " counter(pages) !important;
} }
} }
+31 -5
View File
@@ -102,15 +102,19 @@ namespace Elwig.Windows {
private async void Menu_Print_ShowDeliveryNote_Click(object sender, RoutedEventArgs evt) { private async void Menu_Print_ShowDeliveryNote_Click(object sender, RoutedEventArgs evt) {
if (DeliveryList.SelectedItem is not Delivery d) return; if (DeliveryList.SelectedItem is not Delivery d) return;
Mouse.OverrideCursor = Cursors.Wait;
using var doc = new DeliveryNote(d, Context); using var doc = new DeliveryNote(d, Context);
await doc.Generate(); await doc.Generate();
doc.Show(); doc.Show();
Mouse.OverrideCursor = null;
} }
private async void Menu_Print_PrintDeliveryNote_Click(object sender, RoutedEventArgs evt) { private async void Menu_Print_PrintDeliveryNote_Click(object sender, RoutedEventArgs evt) {
if (DeliveryList.SelectedItem is not Delivery d) return; if (DeliveryList.SelectedItem is not Delivery d) return;
Mouse.OverrideCursor = Cursors.Wait;
using var doc = new DeliveryNote(d, Context); using var doc = new DeliveryNote(d, Context);
await doc.Generate(); await doc.Generate();
Mouse.OverrideCursor = null;
await doc.Print(); await doc.Print();
} }
@@ -702,26 +706,36 @@ namespace Elwig.Windows {
} }
private async void NewDeliveryPartButton_Click(object sender, RoutedEventArgs evt) { private async void NewDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
FinishButton.IsEnabled = false;
NewDeliveryPartButton.IsEnabled = false;
NewDeliveryPartButton.Cursor = Cursors.Wait;
DeliveryPartList.IsEnabled = false; DeliveryPartList.IsEnabled = false;
var p = await UpdateDeliveryPart(DeliveryList.SelectedItem as Delivery, DeliveryPartList.SelectedItem as DeliveryPart); var p = await UpdateDeliveryPart(DeliveryList.SelectedItem as Delivery, DeliveryPartList.SelectedItem as DeliveryPart);
await RefreshDeliveryList(); await RefreshDeliveryList();
await RefreshDeliveryParts(); await RefreshDeliveryParts();
NewDeliveryPartButton.Cursor = null;
DeliveryList.SelectedItem = p?.Delivery; DeliveryList.SelectedItem = p?.Delivery;
DeliveryPartList.SelectedItem = null; DeliveryPartList.SelectedItem = null;
InitialInputs(); InitialInputs();
} }
private async void FinishButton_Click(object sender, RoutedEventArgs evt) { private async void FinishButton_Click(object sender, RoutedEventArgs evt) {
FinishButton.IsEnabled = false;
NewDeliveryPartButton.IsEnabled = false;
FinishButton.Cursor = Cursors.Wait;
DeliveryPartList.IsEnabled = false; DeliveryPartList.IsEnabled = false;
var p = await UpdateDeliveryPart(DeliveryList.SelectedItem as Delivery, DeliveryPartList.SelectedItem as DeliveryPart); var p = await UpdateDeliveryPart(DeliveryList.SelectedItem as Delivery, DeliveryPartList.SelectedItem as DeliveryPart);
await RefreshDeliveryList(); await RefreshDeliveryList();
await RefreshDeliveryParts(); await RefreshDeliveryParts();
if (p?.Delivery != null) { if (p?.Delivery != null) {
Mouse.OverrideCursor = Cursors.Wait;
using var doc = new DeliveryNote(p.Delivery, Context); using var doc = new DeliveryNote(p.Delivery, Context);
await doc.Generate(); await doc.Generate();
Mouse.OverrideCursor = Cursors.Wait;
doc.Show(); doc.Show();
//await doc.Print(2); //await doc.Print(2);
} }
FinishButton.Cursor = null;
DeliveryList.SelectedItem = null; DeliveryList.SelectedItem = null;
InitInputs(); InitInputs();
} }
@@ -769,6 +783,7 @@ namespace Elwig.Windows {
try { try {
if (res == null || res <= 0) if (res == null || res <= 0)
return; return;
Mouse.OverrideCursor = Cursors.Wait;
ClearOriginalValues(); ClearOriginalValues();
if (res >= p.Weight) { if (res >= p.Weight) {
ControlUtils.SelectComboBoxItem(WineQualityLevelInput, q => (q as WineQualLevel)?.QualId, "WEI"); ControlUtils.SelectComboBoxItem(WineQualityLevelInput, q => (q as WineQualLevel)?.QualId, "WEI");
@@ -797,6 +812,7 @@ namespace Elwig.Windows {
} }
await Context.SaveChangesAsync(); await Context.SaveChangesAsync();
await RefreshDeliveryParts(); await RefreshDeliveryParts();
Mouse.OverrideCursor = null;
FinishInputFilling(); FinishInputFilling();
} catch (Exception exc) { } catch (Exception exc) {
if (entry1 != null) { if (entry1 != null) {
@@ -849,21 +865,28 @@ namespace Elwig.Windows {
$"Soll die Lieferung {d.LsNr} ({d.Member.AdministrativeName}, MgNr. {d.Member.MgNr}) wirklich unwiderruflich gelöscht werden?", $"Soll die Lieferung {d.LsNr} ({d.Member.AdministrativeName}, MgNr. {d.Member.MgNr}) wirklich unwiderruflich gelöscht werden?",
"Lieferung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No); "Lieferung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
if (r == MessageBoxResult.Yes) { if (r == MessageBoxResult.Yes) {
Mouse.OverrideCursor = Cursors.Wait;
Context.Remove(d); Context.Remove(d);
await Context.SaveChangesAsync(); await Context.SaveChangesAsync();
await RefreshDeliveryList(); await RefreshDeliveryList();
await RefreshDeliveryParts(); await RefreshDeliveryParts();
Mouse.OverrideCursor = null;
} }
} }
private async void SaveButton_Click(object sender, RoutedEventArgs evt) { private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
DeliveryPart p = await UpdateDeliveryPart(DeliveryList.SelectedItem as Delivery, DeliveryPartList.SelectedItem as DeliveryPart); SaveButton.IsEnabled = false;
SaveButton.Cursor = Cursors.Wait;
IsEditing = false; IsEditing = false;
IsCreating = false; IsCreating = false;
DeliveryList.IsEnabled = true; DeliveryList.IsEnabled = true;
DeliveryPartList.IsEnabled = true; DeliveryPartList.IsEnabled = true;
DeliveryPart p = await UpdateDeliveryPart(DeliveryList.SelectedItem as Delivery, DeliveryPartList.SelectedItem as DeliveryPart);
SaveButton.Cursor = null;
HideSaveResetCancelButtons(); HideSaveResetCancelButtons();
ShowNewEditDeleteButtons(); ShowNewEditDeleteButtons();
LockInputs(); LockInputs();
@@ -924,13 +947,13 @@ namespace Elwig.Windows {
.Select(d => d.LsNr) .Select(d => d.LsNr)
.ToListAsync(); .ToListAsync();
var res = Utils.ShowDeliveryExtractionDialog($"{delivery.LsNr}/{p.DPNr}", delivery.Member.AdministrativeName, count == 1, lsnrs); var res = Utils.ShowDeliveryExtractionDialog($"{delivery.LsNr}/{p.DPNr}", delivery.Member.AdministrativeName, count == 1, lsnrs);
if (res == null) return;
EntityEntry<Delivery>? entry = null; EntityEntry<Delivery>? entry = null;
try { try {
Delivery? d = null; Delivery? d = null;
if (res == null) { Mouse.OverrideCursor = Cursors.Wait;
return; if (res == "new") {
} else if (res == "new") {
d = Context.CreateProxy<Delivery>(); d = Context.CreateProxy<Delivery>();
d.Date = delivery.Date; d.Date = delivery.Date;
d.Time = delivery.Time; d.Time = delivery.Time;
@@ -958,6 +981,7 @@ namespace Elwig.Windows {
await Context.Entry(p).ReloadAsync(); await Context.Entry(p).ReloadAsync();
await Context.Entry(delivery).ReloadAsync(); await Context.Entry(delivery).ReloadAsync();
Mouse.OverrideCursor = null;
await RefreshDeliveryList(); await RefreshDeliveryList();
DeliveryList.SelectedItem = d; DeliveryList.SelectedItem = d;
} catch (Exception exc) { } catch (Exception exc) {
@@ -979,9 +1003,11 @@ namespace Elwig.Windows {
$"Soll die Teillieferung Nr. {p.DPNr} wirklich unwiderruflich gelöscht werden?", $"Soll die Teillieferung Nr. {p.DPNr} wirklich unwiderruflich gelöscht werden?",
"Lieferung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No); "Lieferung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
if (r == MessageBoxResult.Yes) { if (r == MessageBoxResult.Yes) {
Mouse.OverrideCursor = Cursors.Wait;
Context.Remove(p); Context.Remove(p);
await Context.SaveChangesAsync(); await Context.SaveChangesAsync();
await RefreshDeliveryParts(); await RefreshDeliveryParts();
Mouse.OverrideCursor = null;
} }
} }
+9 -7
View File
@@ -1,7 +1,9 @@
using System.Linq; using System.Linq;
using System.Windows; using System.Windows;
using System.Windows.Input;
using Elwig.Documents; using Elwig.Documents;
using Elwig.Helpers; using Elwig.Helpers;
using Microsoft.EntityFrameworkCore;
namespace Elwig.Windows { namespace Elwig.Windows {
public partial class MainWindow : Window { public partial class MainWindow : Window {
@@ -38,13 +40,13 @@ namespace Elwig.Windows {
// TODO // TODO
} }
private void PdfButton_Click(object sender, RoutedEventArgs evt) { private async void PdfButton_Click(object sender, RoutedEventArgs evt) {
Utils.RunBackground("PDF Generation", async () => { Mouse.OverrideCursor = Cursors.Wait;
using var ctx = new AppDbContext(); using var ctx = new AppDbContext();
using var doc = new DeliveryNote(ctx.Deliveries.OrderBy(d => d.Parts.Count).ThenBy(d => d.Year).ThenBy(d => d.DId).Last(), ctx); using var doc = new DeliveryNote(await ctx.Deliveries.OrderBy(d => d.Parts.Count).ThenBy(d => d.Year).ThenBy(d => d.DId).LastAsync(), ctx);
await doc.Generate(); await doc.Generate();
doc.Show(); doc.Show();
}); Mouse.OverrideCursor = null;
} }
private void TestWindowButton_Click(object sender, RoutedEventArgs evt) { private void TestWindowButton_Click(object sender, RoutedEventArgs evt) {