namespace GCHR.Control.Tasks { class Verrechnung : Task { public Verrechnung(int id, string name) : base(id, name) { } protected override void AufgabeAusfuehren() { Data.AufManuelleKontenWarten.WaitOne(); var manuelleKonten = Data.GetManuelleKonten(); #region Verrechnungskonten alte Funktion /* #region Verrechnungskontenvorbereitung Dictionary VerrechnungskontenDict = new Dictionary(); var über = from XElement Über in config.ConfigDatei.Element("GCEHRep").Element("Einstellungen").Element("Verrechnungskonten").Elements("Konto") select new String[] { Über.Attribute("von").Value, Über.Attribute("nach").Value }; int herstellerkontenrahmenlänge = Int32.Parse(config.ConfigDatei.Element("GCEHRep").Element("Einstellungen").Element("Herstellerkontenrahmen").Value); foreach (String[] ü in über) { VerrechnungskontenDict.Add(ü[0].PadLeft(herstellerkontenrahmenlänge, '0'), ü[1].PadLeft(herstellerkontenrahmenlänge, '0')); } #endregion */ /*for (int i = 1; i < lbManuelle.Items.Count; i++) { try { Grid zeile = (Grid)lbManuelle.Items[i]; Label labelKontonummer = (Label)zeile.Children[0]; String kontonummer = (String)labelKontonummer.Content; TextBox textWert = (TextBox)zeile.Children[2]; String wert = textWert.Text; Stat_Konto temp = ManuelleKonten.Find(new Predicate(konto => konto.Kontonummer == kontonummer)); if (VerrechnungskontenDict.Keys.Contains(temp.Kontonummer)) { temp.Credit = Double.Parse(wert); string outValue = ""; if (VerrechnungskontenDict.TryGetValue(temp.Kontonummer, out outValue)) { SuSa_Konto gefundenesKonto = SuSaKonten.Find(new Predicate(konto => konto.Kontonummer == outValue)); if (gefundenesKonto != null) { SuSaKonten.Remove(gefundenesKonto); gefundenesKonto.Debit = .0; gefundenesKonto.Credit = gefundenesKonto.Credit + Double.Parse(wert); SuSaKonten.Add(gefundenesKonto); } else { SuSa_Konto tempKto = new SuSa_Konto(); tempKto.Kontonummer = outValue;//.PadLeft(config.ConfigDatei.Element("GCEHRep").Element("Einstellungen").Element; tempKto.Debit = .0; tempKto.Credit = Double.Parse(wert); tempKto.Department = "000"; SuSaKonten.Add(tempKto); } } } else { temp.Debit = Double.Parse(wert); } if (!kontonummer.Substring(0, 1).Equals("+")) { try { config.ConfigDatei.XPathSelectElement("/GCEHRep/Konten/Konto[@kontonummer='" + kontonummer + "']/periode[@name='" + config.periode + "']").SetAttributeValue("wert", Regex.Replace(String.Format("{0:0.00}", wert), ",", ".")); } catch (Exception) { config.ConfigDatei.XPathSelectElement("/GCEHRep/Konten/Konto[@kontonummer='" + kontonummer + "']").Add( new XElement("periode", new XAttribute("name", config.periode), new XAttribute("wert", Regex.Replace(String.Format("{0:0.00}", wert), ",", ".")))); } } } catch (ArgumentOutOfRangeException) { } }*/ #endregion Config.ManuelleKontenSetzen(manuelleKonten); Data.AufSusaStatWarten.WaitOne(); Data.AddKonten(manuelleKonten); ReportProgress(100); } } }