using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Controls; using GCHR.Control.Printing; using GCHR.Model; using GCHR.Model.Konto; namespace GCHR.View { public partial class ManuelleKontenBearbeiten { delegate void DelAsyncWindowAction(); public string Vormonat1 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(1)).Klartext; } } public string Vormonat2 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(2)).Klartext; } } public string Vormonat3 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(3)).Klartext; } } public string Vormonat4 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(4)).Klartext; } } public string Vormonat5 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(5)).Klartext; } } public List ManuelleKonten; public ManuelleKontenBearbeiten(IEnumerable konten) { ManuelleKonten = (from kto in konten orderby kto.Ebene1, kto.Kontonummer select kto).ToList(); InitializeComponent(); lvManuelle.ItemsSource = ManuelleKonten; } private void BtnManuelleAusblendenClick(object sender, RoutedEventArgs e) { return; } private void BtnManuelleIgnorierenClick(object sender, RoutedEventArgs e) { btnManuelleIgnorieren.IsEnabled = false; btnManuelleSpeichern.IsEnabled = false; Close(); } private void BtnManuelleSpeichernClick(object sender, RoutedEventArgs e) { btnManuelleIgnorieren.IsEnabled = false; btnManuelleSpeichern.IsEnabled = false; Close(); } private void BtnManuelleDruckenClick(object sender, RoutedEventArgs e) { DelAsyncWindowAction drucken = delegate { var kontenAktuelleWerte = (List) lvManuelle.Items.SourceCollection; //ItemsSource; var kontenVormonatswerte = (List) lvManuelle.ItemsSource; var konten = kontenAktuelleWerte.Join(kontenVormonatswerte, k1 => k1.Kontonummer, k2 => k2.Kontonummer, (k1, k2) => new HaendlerKonto( KontoTypen.Stat) { Kontonummer = k1.Kontonummer, Bezeichnung = k1.Bezeichnung, Soll = k1.Soll, Haben = k2.Haben }).ToList(); var printDialog = new PrintDialog(); if (printDialog.ShowDialog() != true) return; var paginator = new RandomTabularPaginator( HaendlerKonto.AktuellePeriode.ToString(), HaendlerKonto.AktuellePeriode.ToString(), konten, new Size(printDialog.PrintableAreaWidth, printDialog.PrintableAreaHeight)); printDialog.PrintDocument(paginator, "GlobalCube Herstellerreporting - Manuelle Werte"); }; Dispatcher.BeginInvoke(drucken, null); } private void TextBoxGotFocus(object sender, RoutedEventArgs e) { ((TextBox)sender).SelectAll(); } private void VormonatGotFocus(object sender, RoutedEventArgs e) { MessageBox.Show(((TextBox)sender).Text); } } }