Programm erweitert

über bestellnummer angabe prüft der Bot die Bestellung
This commit is contained in:
2023-08-27 10:12:58 +02:00
parent b0e27caf9f
commit 839080392b
4 changed files with 105 additions and 72 deletions

View File

@@ -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;
if (forceid != "")
{
ids.Add(forceid);
}
else
{
cd.Navigate().GoToUrl(@"https://www.cardmarket.com/de/OnePiece/Orders/Sales/Paid");
try try
{ {
element = cd.FindElement(By.XPath("/html/body/main/section/div[3]/div[4]")); element = cd.FindElement(By.XPath("/html/body/main/section/div[3]/div[4]"));
string content = element.Text; string content = element.Text;
string[] datas = content.Split("\r\n"); string[] datas = content.Split("\r\n");
for (int i = 8; i < datas.Length; i += 7) for (int i = 8; i < datas.Length; i += 7)
{ {
ids.Add(datas[i]); ids.Add(datas[i]);
} }
} }
catch(OpenQA.Selenium.NotFoundException) catch (OpenQA.Selenium.NotFoundException)
{ {
Console.WriteLine("Keine Verkäufe aktuell"); Console.WriteLine("Keine Verkäufe aktuell");
return kunden; 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"));

View File

@@ -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);

View File

@@ -2,36 +2,66 @@
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");
Console.WriteLine("Was kann ich für dich tun?");
// Kunden aus Cardmarket erstellen 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!!");
while (!programmexited)
{
Console.WriteLine("1) Starte den Hugo, der alle bezahlte Artikeln erfasst");
Console.WriteLine("2) Starte den Rolfes der Bestellnummern nachkontrolliert");
Console.WriteLine("3) Beende");
string? input = Console.ReadLine();
if (input == null)
{
continue;
}
switch (input)
{
case "1":
kunden = cardMarketParser.ParseCardMarket(); 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 // Rechnungen generieren
List<ModelRechnung> rechnungen = new List<ModelRechnung>(); List<ModelRechnung> rechnungen = new List<ModelRechnung>();
InvoiceParser invoiceParser = new InvoiceParser(kunden); InvoiceParser invoiceParser = new InvoiceParser(kunden);
rechnungen = invoiceParser.GetInvoices(); rechnungen = invoiceParser.GetInvoices();
foreach (ModelRechnung item in rechnungen) foreach (ModelRechnung item in rechnungen)
{ {
if(item.Invoice == null) continue; if (item.Invoice == null) continue;
var str_header = item.Invoice.Header; var str_header = item.Invoice.Header;
if (str_header != null) if (str_header != null)
{ {
@@ -59,13 +89,7 @@ namespace CardmarketBot
deutschePost.GenerateCSV(); deutschePost.GenerateCSV();
Console.WriteLine("Fertig"); Console.WriteLine("Fertig");
Console.ReadLine();
} }
}
} }
} }

File diff suppressed because one or more lines are too long