ManuelleKontenBearbeiten.xaml.cs 5.2 KB

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