Programm erweitert
über bestellnummer angabe prüft der Bot die Bestellung
This commit is contained in:
@@ -29,7 +29,7 @@ namespace CardmarketBot
|
|||||||
this.password = password;
|
this.password = password;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Kunde> ParseCardMarket()
|
public List<Kunde> ParseCardMarket(string forceid = "")
|
||||||
{
|
{
|
||||||
ChromeOptions options = new ChromeOptions();
|
ChromeOptions options = new ChromeOptions();
|
||||||
options.AddArgument("start-maximized");
|
options.AddArgument("start-maximized");
|
||||||
@@ -61,40 +61,40 @@ namespace CardmarketBot
|
|||||||
cookieContainer.Add(new System.Net.Cookie(name, value, c.Path, c.Domain));
|
cookieContainer.Add(new System.Net.Cookie(name, value, c.Path, c.Domain));
|
||||||
}
|
}
|
||||||
|
|
||||||
cd.Navigate().GoToUrl(@"https://www.cardmarket.com/de/OnePiece/Orders/Sales/Paid");
|
|
||||||
//cd.Navigate().GoToUrl(@"https://www.cardmarket.com/de/OnePiece/Orders/Sales/Sent");
|
|
||||||
|
|
||||||
List<string> ids = new List<string>();
|
List<string> ids = new List<string>();
|
||||||
List<Kunde> kunden = new List<Kunde>();
|
List<Kunde> kunden = new List<Kunde>();
|
||||||
|
|
||||||
IWebElement element;
|
IWebElement element;
|
||||||
try
|
|
||||||
|
if (forceid != "")
|
||||||
{
|
{
|
||||||
element = cd.FindElement(By.XPath("/html/body/main/section/div[3]/div[4]"));
|
ids.Add(forceid);
|
||||||
|
|
||||||
string content = element.Text;
|
|
||||||
|
|
||||||
|
|
||||||
string[] datas = content.Split("\r\n");
|
|
||||||
|
|
||||||
|
|
||||||
for (int i = 8; i < datas.Length; i += 7)
|
|
||||||
{
|
|
||||||
ids.Add(datas[i]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch(OpenQA.Selenium.NotFoundException)
|
else
|
||||||
{
|
{
|
||||||
Console.WriteLine("Keine Verkäufe aktuell");
|
cd.Navigate().GoToUrl(@"https://www.cardmarket.com/de/OnePiece/Orders/Sales/Paid");
|
||||||
return kunden;
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
element = cd.FindElement(By.XPath("/html/body/main/section/div[3]/div[4]"));
|
||||||
|
|
||||||
|
string content = element.Text;
|
||||||
|
string[] datas = content.Split("\r\n");
|
||||||
|
|
||||||
|
for (int i = 8; i < datas.Length; i += 7)
|
||||||
|
{
|
||||||
|
ids.Add(datas[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (OpenQA.Selenium.NotFoundException)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Keine Verkäufe aktuell");
|
||||||
|
return kunden;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (string id in ids)
|
foreach (string id in ids)
|
||||||
{
|
{
|
||||||
//if (id != "1121844928") continue;
|
|
||||||
//Console.WriteLine(id);
|
|
||||||
//id = "1121395158";
|
|
||||||
//cd.Navigate().GoToUrl(string.Format(@"https://www.cardmarket.com/de/OnePiece/Orders/1121395158", id));
|
|
||||||
cd.Navigate().GoToUrl(string.Format(@"https://www.cardmarket.com/de/OnePiece/Orders/{0}", id));
|
cd.Navigate().GoToUrl(string.Format(@"https://www.cardmarket.com/de/OnePiece/Orders/{0}", id));
|
||||||
element = cd.FindElement(By.XPath("/html/body/main/section/div/div[1]/div/div[3]/div[2]/div[2]/div/div"));
|
element = cd.FindElement(By.XPath("/html/body/main/section/div/div[1]/div/div[3]/div[2]/div[2]/div/div"));
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,7 @@ public static class Helper
|
|||||||
{
|
{
|
||||||
Artikel temp = new Artikel();
|
Artikel temp = new Artikel();
|
||||||
var xFound = datas[i].IndexOf("x");
|
var xFound = datas[i].IndexOf("x");
|
||||||
|
if (xFound == -1) continue;
|
||||||
var am = datas[i].Substring(0, xFound);
|
var am = datas[i].Substring(0, xFound);
|
||||||
temp.Amount = Convert.ToInt32(am);
|
temp.Amount = Convert.ToInt32(am);
|
||||||
temp.GERName = datas[i].Substring(xFound + 1);
|
temp.GERName = datas[i].Substring(xFound + 1);
|
||||||
|
|||||||
@@ -2,70 +2,94 @@
|
|||||||
using ConsoleApp3.Contracts;
|
using ConsoleApp3.Contracts;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using CardMarketBot;
|
using CardMarketBot;
|
||||||
|
using OpenQA.Selenium.DevTools.V113.Network;
|
||||||
|
using System.Reflection.Metadata.Ecma335;
|
||||||
|
|
||||||
namespace CardmarketBot
|
namespace CardmarketBot
|
||||||
{
|
{
|
||||||
internal class Programm
|
internal class Programm
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
ICheckSevDesk checkSevDesk = new CheckSevDeskPublicList();
|
ICheckSevDesk checkSevDesk = new CheckSevDeskPublicList();
|
||||||
|
|
||||||
|
|
||||||
|
Console.WriteLine("Hallo Herzlich willkommen beim Junker sein Junker der im Junkerloch junkert");
|
||||||
// Kunden aus Cardmarket erstellen
|
Console.WriteLine("Was kann ich für dich tun?");
|
||||||
|
bool programmexited = false;
|
||||||
List<Kunde> kunden = new List<Kunde>();
|
List<Kunde> kunden = new List<Kunde>();
|
||||||
CardMarketParser cardMarketParser = new CardMarketParser("More-Tcg", "Magnatpower310!!");
|
CardMarketParser cardMarketParser = new CardMarketParser("More-Tcg", "Magnatpower310!!");
|
||||||
kunden = cardMarketParser.ParseCardMarket();
|
while (!programmexited)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 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;
|
Console.WriteLine("1) Starte den Hugo, der alle bezahlte Artikeln erfasst");
|
||||||
var str_header = item.Invoice.Header;
|
Console.WriteLine("2) Starte den Rolfes der Bestellnummern nachkontrolliert");
|
||||||
if (str_header != null)
|
Console.WriteLine("3) Beende");
|
||||||
|
string? input = Console.ReadLine();
|
||||||
|
if (input == null)
|
||||||
{
|
{
|
||||||
Regex regex = new Regex("[0-9]*$");
|
continue;
|
||||||
Match matched = regex.Match(str_header);
|
}
|
||||||
string verkaufnummer = str_header.Substring(matched.Index);
|
switch (input)
|
||||||
Console.Write($"Teste {verkaufnummer} : ");
|
{
|
||||||
if (checkSevDesk.AlreadyKnown(verkaufnummer))
|
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":
|
||||||
|
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)
|
||||||
{
|
{
|
||||||
Console.Write("wurde noch nicht in Sevdesk erfasst ");
|
Regex regex = new Regex("[0-9]*$");
|
||||||
SevdeskService sevdeskService = new SevdeskService("7251554968610b78ca865b2b774b4134");
|
Match matched = regex.Match(str_header);
|
||||||
sevdeskService.Create(item);
|
string verkaufnummer = str_header.Substring(matched.Index);
|
||||||
Console.WriteLine("nun in Sevdesk eingetragen");
|
Console.Write($"Teste {verkaufnummer} : ");
|
||||||
checkSevDesk.Write(verkaufnummer);
|
if (checkSevDesk.AlreadyKnown(verkaufnummer))
|
||||||
}
|
{
|
||||||
else
|
Console.Write("wurde noch nicht in Sevdesk erfasst ");
|
||||||
{
|
SevdeskService sevdeskService = new SevdeskService("7251554968610b78ca865b2b774b4134");
|
||||||
Console.WriteLine("wurde bereits in Sevdesk erfasst, wird somit übersprungen. Jedoch wird PostCSV erstellt");
|
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");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Post CSV Erstellen
|
|
||||||
DeutschePost deutschePost = new DeutschePost(kunden);
|
|
||||||
deutschePost.GenerateCSV();
|
|
||||||
|
|
||||||
Console.WriteLine("Fertig");
|
|
||||||
Console.ReadLine();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user