diff --git a/ConsoleApp3/CardMarketParser.cs b/ConsoleApp3/CardMarketParser.cs index 0016133..cf41253 100644 --- a/ConsoleApp3/CardMarketParser.cs +++ b/ConsoleApp3/CardMarketParser.cs @@ -64,6 +64,7 @@ namespace CardmarketBot List ids = new List(); List kunden = new List(); + List bereitsbearbeitet = _usedRepository.Query; IWebElement element; try { @@ -71,13 +72,13 @@ namespace CardmarketBot string content = element.Text; - List bereitsbearbeitet = _usedRepository.Query; + string[] datas = content.Split("\r\n"); for (int i = 8; i < datas.Length; i += 7) { - if (bereitsbearbeitet.Find(x => x.Equals(datas[i])) != null) continue; + //if (bereitsbearbeitet.Find(x => x.Equals(datas[i])) != null) continue; ids.Add(datas[i]); } } @@ -96,6 +97,8 @@ namespace CardmarketBot Kunde kunde = Helper.ConvertToKunde(element.Text); + if (bereitsbearbeitet.Find(x => x.Equals(id)) != null) kunde.Rechnungerstellt = true; + // Bezahldatum element = cd.FindElement(By.XPath("/html/body/main/section/div/div[1]/div/div[2]/div/div[2]/div[2]")); kunde.Bezahldatum = Helper.ConvertBezahlDatum(element.Text); @@ -125,8 +128,9 @@ namespace CardmarketBot kunden.Add(kunde); - Thread.Sleep(TimeSpan.FromSeconds(5)); + Thread.Sleep(TimeSpan.FromSeconds(3)); } + cd.Quit(); return kunden; } } diff --git a/ConsoleApp3/Helper.cs b/ConsoleApp3/Helper.cs index ed24ce2..9d2b165 100644 --- a/ConsoleApp3/Helper.cs +++ b/ConsoleApp3/Helper.cs @@ -1,5 +1,8 @@ // See https://aka.ms/new-console-template for more information +using System.Diagnostics; +using System.Text.RegularExpressions; + static class Helper { public enum Porto @@ -27,13 +30,25 @@ static class Helper datas = adresseUNDHausnummer.Split(" "); string strasse = ""; - for (int i = 0; i < datas.Length - 1; i++) + string hausnummer = ""; + Trace.WriteLine(datas.Length); + if (datas.Length <= 1) { - strasse += datas[i] + " "; + Regex myRegex = new Regex("[0-9]*$"); + var matched = myRegex.Match(adresseUNDHausnummer); + strasse = adresseUNDHausnummer.Substring(0, matched.Index); + hausnummer = adresseUNDHausnummer.Substring(matched.Index); + } + else + { + + for (int i = 0; i < datas.Length - 1; i++) + { + strasse += datas[i] + " "; + } + strasse = strasse.Trim(); + hausnummer = datas[datas.Length - 1]; } - strasse = strasse.Trim(); - string hausnummer = datas[datas.Length - 1]; - return new Kunde(name, strasse, hausnummer, plz, ort, land); } diff --git a/ConsoleApp3/InvoiceParser.cs b/ConsoleApp3/InvoiceParser.cs index c29a4e5..5626d2d 100644 --- a/ConsoleApp3/InvoiceParser.cs +++ b/ConsoleApp3/InvoiceParser.cs @@ -42,7 +42,7 @@ namespace CardmarketBot List kunden; public InvoiceParser(List kunden) { - this.kunden = kunden; + this.kunden = kunden.FindAll(x => x.Rechnungerstellt != true); } public List GetInvoices() @@ -62,7 +62,7 @@ namespace CardmarketBot "wir stellen Ihnen für ihre Bestellung folgende Rechnung. " + "Bitte Beachte, dass das Lieferdatum dem Bestelldatum entspricht."; rechnung.FootText = "Ihre Rechnung ist bereits über Cardmarket beglichen worden."; - rechnung.TimeToPay = new DateTime(14); + rechnung.TimeToPay = new DateTime().AddDays(14); rechnung.Discount = 0; rechnung.Address = string.Format("{0}\n{1} {2}\n{3} {4}", kunde.Name, kunde.Strasse, kunde.Hausnummer, kunde.Plz, kunde.Ort); //"Damian Wessels\nDät Haartje 27A\n26683 Saterland"; rechnung.AddressCountry = new ModelStaticCountry() diff --git a/ConsoleApp3/Kunde.cs b/ConsoleApp3/Kunde.cs index 42b2e24..1a392c7 100644 --- a/ConsoleApp3/Kunde.cs +++ b/ConsoleApp3/Kunde.cs @@ -11,6 +11,7 @@ class Kunde string plz; string ort; string land; + bool rechnungerstellt = false; List artikels = new List(); public DateTime Bezahldatum { get; set; } @@ -40,6 +41,8 @@ class Kunde } } + public bool Rechnungerstellt { get => rechnungerstellt; set => rechnungerstellt = value; } + public Kunde(string Name, string Strasse, string Hausnummer, string PLZ, string Ort, string Land) { name = Name; diff --git a/ConsoleApp3/Program.cs b/ConsoleApp3/Program.cs index 2924831..58eec4c 100644 --- a/ConsoleApp3/Program.cs +++ b/ConsoleApp3/Program.cs @@ -1,6 +1,8 @@ using ConsoleApp3.DataContracts; using ConsoleApp3; using ConsoleApp3.Contracts; +using System.Text.RegularExpressions; +using System.Diagnostics; namespace CardmarketBot { @@ -8,7 +10,6 @@ namespace CardmarketBot { static void Main(string[] args) { - IUsedRepository usedRepository = new UsedRepository(); @@ -26,7 +27,7 @@ namespace CardmarketBot - foreach (var item in rechnungen) + foreach (ModelRechnung item in rechnungen) { SevdeskService sevdeskService = new SevdeskService("7251554968610b78ca865b2b774b4134"); sevdeskService.Create(item); @@ -42,6 +43,7 @@ namespace CardmarketBot Console.WriteLine("Fertig"); Console.ReadLine(); + } } } \ No newline at end of file