ManuelleKontenBearbeiten.xaml.cs 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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. ManuelleKonten.ForEach(k => k.SaldoAusVormonat());
  24. InitializeComponent();
  25. LvManuelle.ItemsSource = ManuelleKonten;
  26. }
  27. private void BtnManuelleAusblendenClick(object sender, RoutedEventArgs e)
  28. {
  29. return;
  30. }
  31. private void BtnManuelleIgnorierenClick(object sender, RoutedEventArgs e)
  32. {
  33. //BtnManuelleIgnorieren.IsEnabled = false;
  34. BtnManuelleSpeichern.IsEnabled = false;
  35. Close();
  36. }
  37. private void BtnManuelleSpeichernClick(object sender, RoutedEventArgs e)
  38. {
  39. //BtnManuelleIgnorieren.IsEnabled = false;
  40. BtnManuelleSpeichern.IsEnabled = false;
  41. Close();
  42. }
  43. private void BtnManuelleDruckenClick(object sender, RoutedEventArgs e)
  44. {
  45. DelAsyncWindowAction drucken = delegate
  46. {
  47. var kontenAktuelleWerte =
  48. (List<HaendlerKonto>) LvManuelle.Items.SourceCollection;
  49. //ItemsSource;
  50. var kontenVormonatswerte =
  51. (List<HaendlerKonto>) LvManuelle.ItemsSource;
  52. var konten = kontenAktuelleWerte.Join(kontenVormonatswerte,
  53. k1 => k1.Kontonummer,
  54. k2 => k2.Kontonummer,
  55. (k1, k2) =>
  56. new HaendlerKonto(
  57. KontoTypen.Stat)
  58. {
  59. Kontonummer =
  60. k1.Kontonummer,
  61. Bezeichnung =
  62. k1.Bezeichnung,
  63. Soll = k1.Soll,
  64. Haben = k2.Haben
  65. }).ToList();
  66. var printDialog = new PrintDialog();
  67. if (printDialog.ShowDialog() != true) return;
  68. var paginator =
  69. new RandomTabularPaginator(
  70. HaendlerKonto.AktuellePeriode.ToString(),
  71. HaendlerKonto.AktuellePeriode.ToString(), konten,
  72. new Size(printDialog.PrintableAreaWidth,
  73. printDialog.PrintableAreaHeight));
  74. printDialog.PrintDocument(paginator,
  75. "GlobalCube Herstellerreporting - Manuelle Werte");
  76. };
  77. Dispatcher.BeginInvoke(drucken, null);
  78. }
  79. private void TextBoxGotFocus(object sender, RoutedEventArgs e)
  80. {
  81. ((TextBox)sender).SelectAll();
  82. }
  83. private void VormonatGotFocus(object sender, RoutedEventArgs e)
  84. {
  85. MessageBox.Show(((TextBox)sender).Text);
  86. }
  87. private void TextBox_KeyUp(object sender, KeyEventArgs e)
  88. {
  89. TraversalRequest request;
  90. if (e.Key == Key.Enter || e.Key == Key.Return || e.Key == Key.Down)
  91. {
  92. request = new TraversalRequest(FocusNavigationDirection.Next) {Wrapped = true};
  93. ((TextBox)e.Source).MoveFocus(request);
  94. }
  95. if (e.Key != Key.Up) return;
  96. request = new TraversalRequest(FocusNavigationDirection.Previous) { Wrapped = true };
  97. ((TextBox)e.Source).MoveFocus(request);
  98. }
  99. }
  100. }