ManuelleKontenBearbeiten.xaml.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using System.Collections.Generic;
  2. using System.Linq;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. using GCHR.Control.Printing;
  6. using GCHR.Model;
  7. using GCHR.Model.Konto;
  8. namespace GCHR.View
  9. {
  10. public partial class ManuelleKontenBearbeiten
  11. {
  12. delegate void DelAsyncWindowAction();
  13. public string Vormonat1 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(1)).Klartext; } }
  14. public string Vormonat2 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(2)).Klartext; } }
  15. public string Vormonat3 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(3)).Klartext; } }
  16. public string Vormonat4 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(4)).Klartext; } }
  17. public string Vormonat5 { get { return new Periode(HaendlerKonto.AktuellePeriode.Vormonat(5)).Klartext; } }
  18. public List<HaendlerKonto> ManuelleKonten;
  19. public ManuelleKontenBearbeiten(IEnumerable<HaendlerKonto> konten)
  20. {
  21. ManuelleKonten = (from kto in konten orderby kto.Ebene1, kto.Kontonummer select kto).ToList();
  22. InitializeComponent();
  23. LvManuelle.ItemsSource = ManuelleKonten;
  24. }
  25. private void BtnManuelleAusblendenClick(object sender, RoutedEventArgs e)
  26. {
  27. return;
  28. }
  29. private void BtnManuelleIgnorierenClick(object sender, RoutedEventArgs e)
  30. {
  31. BtnManuelleIgnorieren.IsEnabled = false;
  32. BtnManuelleSpeichern.IsEnabled = false;
  33. Close();
  34. }
  35. private void BtnManuelleSpeichernClick(object sender, RoutedEventArgs e)
  36. {
  37. BtnManuelleIgnorieren.IsEnabled = false;
  38. BtnManuelleSpeichern.IsEnabled = false;
  39. Close();
  40. }
  41. private void BtnManuelleDruckenClick(object sender, RoutedEventArgs e)
  42. {
  43. DelAsyncWindowAction drucken = delegate
  44. {
  45. var kontenAktuelleWerte =
  46. (List<HaendlerKonto>) LvManuelle.Items.SourceCollection;
  47. //ItemsSource;
  48. var kontenVormonatswerte =
  49. (List<HaendlerKonto>) LvManuelle.ItemsSource;
  50. var konten = kontenAktuelleWerte.Join(kontenVormonatswerte,
  51. k1 => k1.Kontonummer,
  52. k2 => k2.Kontonummer,
  53. (k1, k2) =>
  54. new HaendlerKonto(
  55. KontoTypen.Stat)
  56. {
  57. Kontonummer =
  58. k1.Kontonummer,
  59. Bezeichnung =
  60. k1.Bezeichnung,
  61. Soll = k1.Soll,
  62. Haben = k2.Haben
  63. }).ToList();
  64. var printDialog = new PrintDialog();
  65. if (printDialog.ShowDialog() != true) return;
  66. var paginator =
  67. new RandomTabularPaginator(
  68. HaendlerKonto.AktuellePeriode.ToString(),
  69. HaendlerKonto.AktuellePeriode.ToString(), konten,
  70. new Size(printDialog.PrintableAreaWidth,
  71. printDialog.PrintableAreaHeight));
  72. printDialog.PrintDocument(paginator,
  73. "GlobalCube Herstellerreporting - Manuelle Werte");
  74. };
  75. Dispatcher.BeginInvoke(drucken, null);
  76. }
  77. private void TextBoxGotFocus(object sender, RoutedEventArgs e)
  78. {
  79. ((TextBox)sender).SelectAll();
  80. }
  81. private void VormonatGotFocus(object sender, RoutedEventArgs e)
  82. {
  83. MessageBox.Show(((TextBox)sender).Text);
  84. }
  85. }
  86. }