using ConsoleApp3.DataContracts; using ConsoleApp3.Contracts; using System.Text.RegularExpressions; using CardMarketBot; using System.Reflection.Metadata.Ecma335; using System.Net.Sockets; using System.Net; namespace CardmarketBot { internal class Programm { private static bool CheckServerAvaible() { #if DEBUG return false; #endif IPAddress[] hostAddresses = Dns.GetHostAddresses("huskyteufel.ddnss.de"); if (hostAddresses.Length == 0) { return false; } IPEndPoint iPEndPoint = new IPEndPoint(hostAddresses[0], 4000); Socket socket = new Socket(iPEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp); try { socket.Connect(iPEndPoint); if (socket.Connected) { return true; } return false; } catch (Exception) { return false; } } static void Main(string[] args) { Console.WriteLine("Hendrik prüft ob Server erreichbar ist"); bool flag = CheckServerAvaible(); Console.WriteLine("Das ergebnis von Hendrik seine erkundung lautet: " + flag); ICheckSevDesk checkSevDesk = ((!flag) ? ((ICheckSevDesk)new CheckSevDeskInternalList()) : ((ICheckSevDesk)new CheckSevDeskPublicList())); Console.WriteLine("Hallo Herzlich willkommen Augustin Karneval e.V."); Console.WriteLine("Was kann ich für dich tun?"); bool programmexited = false; List kunden = new List(); CardMarketParser cardMarketParser = new CardMarketParser("More-Tcg", "Magnatpower310!!"); while (!programmexited) { Console.WriteLine("1) Starte den Konstantin, der alle bezahlte Artikeln erfasst"); Console.WriteLine("2) Starte den Pöttker der Bestellnummern nachkontrolliert"); Console.WriteLine("3) Reset der Augen, gut wenn man Pöttkers Frau gesehen hat"); Console.WriteLine("4) Beende"); string? input = Console.ReadLine(); if (input == null) { continue; } switch (input) { case "1": kunden = cardMarketParser.ParseCardMarket(); break; case "2": { Console.Write("Verkaufsnummer: "); string? verkaufsnummer = Console.ReadLine(); if (verkaufsnummer == null) { Console.WriteLine("Fehler"); continue; } kunden = cardMarketParser.ParseCardMarket(verkaufsnummer); } break; case "3": DoShit(); break; case "4": programmexited = true; continue; default: continue; } // Rechnungen generieren List rechnungen = new List(); InvoiceParser invoiceParser = new InvoiceParser(kunden); rechnungen = invoiceParser.GetInvoices(); foreach (ModelRechnung item in rechnungen) { if (item.Invoice == null) continue; var str_header = item.Invoice.Header; if (str_header != null) { Regex regex = new Regex("[0-9]*$"); Match matched = regex.Match(str_header); string verkaufnummer = str_header.Substring(matched.Index); Console.Write($"Teste {verkaufnummer} : "); if (checkSevDesk.AlreadyKnown(verkaufnummer)) { Console.Write("wurde noch nicht in Sevdesk erfasst "); SevdeskService sevdeskService = new SevdeskService("7251554968610b78ca865b2b774b4134"); sevdeskService.Create(item); Console.WriteLine("nun in Sevdesk eingetragen"); checkSevDesk.Write(verkaufnummer); } else { Console.WriteLine("wurde bereits in Sevdesk erfasst, wird somit übersprungen. Jedoch wird PostCSV erstellt"); } } } // Post CSV Erstellen //DeutschePost deutschePost = new DeutschePost(kunden); //deutschePost.GenerateCSV(); Console.WriteLine("Fertig"); } } private static void DoShit() { for(int i = 0; i < 10; i++) { Console.Beep(38, 3); Console.BackgroundColor = ConsoleColor.Green; Console.Clear(); Thread.Sleep(100); Console.BackgroundColor = ConsoleColor.Red; Console.Clear(); } Console.BackgroundColor = ConsoleColor.Black; Console.Clear(); } } }