Verrechnung.cs 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. namespace GCHR.Control.Tasks
  2. {
  3. class Verrechnung : Task
  4. {
  5. public Verrechnung(int id, string name)
  6. : base(id, name) { }
  7. protected override void AufgabeAusfuehren()
  8. {
  9. Data.AufManuelleKontenWarten.WaitOne();
  10. var manuelleKonten = Data.GetManuelleKonten();
  11. #region Verrechnungskonten alte Funktion
  12. /*
  13. #region Verrechnungskontenvorbereitung
  14. Dictionary<string, string> VerrechnungskontenDict = new Dictionary<string, string>();
  15. var über = from XElement Über in config.ConfigDatei.Element("GCEHRep").Element("Einstellungen").Element("Verrechnungskonten").Elements("Konto")
  16. select new String[] { Über.Attribute("von").Value, Über.Attribute("nach").Value };
  17. int herstellerkontenrahmenlänge = Int32.Parse(config.ConfigDatei.Element("GCEHRep").Element("Einstellungen").Element("Herstellerkontenrahmen").Value);
  18. foreach (String[] ü in über)
  19. {
  20. VerrechnungskontenDict.Add(ü[0].PadLeft(herstellerkontenrahmenlänge, '0'), ü[1].PadLeft(herstellerkontenrahmenlänge, '0'));
  21. }
  22. #endregion
  23. */
  24. /*for (int i = 1; i < lbManuelle.Items.Count; i++)
  25. {
  26. try
  27. {
  28. Grid zeile = (Grid)lbManuelle.Items[i];
  29. Label labelKontonummer = (Label)zeile.Children[0];
  30. String kontonummer = (String)labelKontonummer.Content;
  31. TextBox textWert = (TextBox)zeile.Children[2];
  32. String wert = textWert.Text;
  33. Stat_Konto temp = ManuelleKonten.Find(new Predicate<Stat_Konto>(konto => konto.Kontonummer == kontonummer));
  34. if (VerrechnungskontenDict.Keys.Contains(temp.Kontonummer))
  35. {
  36. temp.Credit = Double.Parse(wert);
  37. string outValue = "";
  38. if (VerrechnungskontenDict.TryGetValue(temp.Kontonummer, out outValue))
  39. {
  40. SuSa_Konto gefundenesKonto = SuSaKonten.Find(new Predicate<SuSa_Konto>(konto => konto.Kontonummer == outValue));
  41. if (gefundenesKonto != null)
  42. {
  43. SuSaKonten.Remove(gefundenesKonto);
  44. gefundenesKonto.Debit = .0;
  45. gefundenesKonto.Credit = gefundenesKonto.Credit + Double.Parse(wert);
  46. SuSaKonten.Add(gefundenesKonto);
  47. }
  48. else
  49. {
  50. SuSa_Konto tempKto = new SuSa_Konto();
  51. tempKto.Kontonummer = outValue;//.PadLeft(config.ConfigDatei.Element("GCEHRep").Element("Einstellungen").Element;
  52. tempKto.Debit = .0;
  53. tempKto.Credit = Double.Parse(wert);
  54. tempKto.Department = "000";
  55. SuSaKonten.Add(tempKto);
  56. }
  57. }
  58. }
  59. else
  60. {
  61. temp.Debit = Double.Parse(wert);
  62. }
  63. if (!kontonummer.Substring(0, 1).Equals("+"))
  64. {
  65. try
  66. {
  67. config.ConfigDatei.XPathSelectElement("/GCEHRep/Konten/Konto[@kontonummer='" + kontonummer + "']/periode[@name='" + config.periode + "']").SetAttributeValue("wert", Regex.Replace(String.Format("{0:0.00}", wert), ",", "."));
  68. }
  69. catch (Exception)
  70. {
  71. config.ConfigDatei.XPathSelectElement("/GCEHRep/Konten/Konto[@kontonummer='" + kontonummer + "']").Add(
  72. new XElement("periode",
  73. new XAttribute("name", config.periode),
  74. new XAttribute("wert", Regex.Replace(String.Format("{0:0.00}", wert), ",", "."))));
  75. }
  76. }
  77. }
  78. catch (ArgumentOutOfRangeException)
  79. {
  80. }
  81. }*/
  82. #endregion
  83. Config.ManuelleKontenSetzen(manuelleKonten);
  84. Data.AufSusaStatWarten.WaitOne();
  85. Data.AddKonten(manuelleKonten);
  86. ReportProgress(100);
  87. }
  88. }
  89. }