149 lines
5.5 KiB
C#
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();
|
|
}
|
|
}
|
|
} |