PaymentVariantsWindow: Add button to export Buchungsliste
This commit is contained in:
@ -6,7 +6,7 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:Elwig.Windows"
|
||||
mc:Ignorable="d"
|
||||
Title="Auszahlungsvarianten - Elwig" Height="500" Width="820" MinHeight="500" MinWidth="820">
|
||||
Title="Auszahlungsvarianten - Elwig" Height="510" Width="820" MinHeight="500" MinWidth="820">
|
||||
<Window.Resources>
|
||||
<Style TargetType="Label">
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
@ -42,7 +42,7 @@
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="200"/>
|
||||
<RowDefinition Height="220"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<ListBox x:Name="PaymentVariantList" Margin="10,10,35,10" Grid.RowSpan="2" SelectionChanged="PaymentVariantList_SelectionChanged">
|
||||
@ -163,6 +163,9 @@
|
||||
<Button x:Name="ExportButton" Content="Exportieren" FontSize="14" Width="180" Margin="10,10,10,10" Height="27" IsEnabled="False"
|
||||
Click="ExportButton_Click"
|
||||
VerticalAlignment="Top" HorizontalAlignment="Left"/>
|
||||
<Button x:Name="TransactionButton" Content="Buchungsliste" FontSize="14" Width="180" Margin="10,42,10,10" Height="27" IsEnabled="False"
|
||||
Click="TransactionButton_Click"
|
||||
VerticalAlignment="Top" HorizontalAlignment="Left"/>
|
||||
|
||||
<ProgressBar x:Name="ProgressBar" Margin="10,10,10,74" Height="27" Width="180"
|
||||
VerticalAlignment="Bottom" HorizontalAlignment="Left"/>
|
||||
|
@ -57,6 +57,7 @@ namespace Elwig.Windows {
|
||||
ShowButton.IsEnabled = true;
|
||||
PrintButton.IsEnabled = true;
|
||||
ExportButton.IsEnabled = locked;
|
||||
TransactionButton.IsEnabled = locked;
|
||||
|
||||
NameInput.Text = v.Name;
|
||||
NameInput.IsReadOnly = false;
|
||||
@ -101,6 +102,7 @@ namespace Elwig.Windows {
|
||||
ShowButton.IsEnabled = false;
|
||||
PrintButton.IsEnabled = false;
|
||||
ExportButton.IsEnabled = false;
|
||||
TransactionButton.IsEnabled = false;
|
||||
|
||||
BillingData = null;
|
||||
NameInput.Text = "";
|
||||
@ -311,6 +313,31 @@ namespace Elwig.Windows {
|
||||
}
|
||||
}
|
||||
|
||||
private async void TransactionButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (PaymentVariantList.SelectedValue is not PaymentVar v) {
|
||||
return;
|
||||
}
|
||||
var d = new SaveFileDialog() {
|
||||
FileName = $"{App.Client.NameToken}-Buchungsliste-{v.Year}-{v.Name.Trim().Replace(' ', '-')}.ods",
|
||||
DefaultExt = "ods",
|
||||
Filter = "OpenDocument Format Spreadsheet (*.ods)|*.ods",
|
||||
Title = $"Buchungsliste speichern unter - Elwig"
|
||||
};
|
||||
if (d.ShowDialog() == true) {
|
||||
TransactionButton.IsEnabled = false;
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
try {
|
||||
var tbl = await CreditNoteData.ForPaymentVariant(Context, v.Year, v.AvNr);
|
||||
using var ods = new OdsFile(d.FileName);
|
||||
await ods.AddTable(tbl);
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
TransactionButton.IsEnabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (PaymentVariantList.SelectedItem is not PaymentVar v || BillingData == null) return;
|
||||
try {
|
||||
@ -488,7 +515,7 @@ namespace Elwig.Windows {
|
||||
members = members.OrderBy(m => m.MgNr);
|
||||
|
||||
IEnumerable<Member> list = await members.ToListAsync();
|
||||
var data = await CreditNoteDeliveryData.ForPaymentVariant(Context.CreditNoteRows, Context.Seasons, v.Year, v.AvNr);
|
||||
var data = await CreditNoteDeliveryData.ForPaymentVariant(Context.CreditNoteDeliveryRows, Context.Seasons, v.Year, v.AvNr);
|
||||
var payments = await Context.MemberPayments.Where(p => p.Year == v.Year && p.AvNr == v.AvNr).ToDictionaryAsync(c => c.MgNr);
|
||||
await Context.GetMemberAreaCommitmentBuckets(Year, 0);
|
||||
using var doc = Document.Merge(list.Select(m =>
|
||||
|
Reference in New Issue
Block a user