This repository has been archived on 2025-05-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cardmarketbot/CardMarketBot/Program.cs
Damian Wessels c78d734d14 Funktionierend
2024-12-10 19:14:29 +01:00

149 lines
5.5 KiB
C#

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<Kunde> kunden = new List<Kunde>();
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<ModelRechnung> rechnungen = new List<ModelRechnung>();
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();
}
}
}