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;
}
public List<Kunde> ParseCardMarket()
public List<Kunde> ParseCardMarket(string forceid = "")
{
ChromeOptions options = new ChromeOptions();
options.AddArgument("start-maximized");
@@ -61,40 +61,40 @@ namespace CardmarketBot
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<Kunde> kunden = new List<Kunde>();
IWebElement element;
if (forceid != "")
{
ids.Add(forceid);
}
else
{
cd.Navigate().GoToUrl(@"https://www.cardmarket.com/de/OnePiece/Orders/Sales/Paid");
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)
catch (OpenQA.Selenium.NotFoundException)
{
Console.WriteLine("Keine Verkäufe aktuell");
return kunden;
}
}
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));
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();
var xFound = datas[i].IndexOf("x");
if (xFound == -1) continue;
var am = datas[i].Substring(0, xFound);
temp.Amount = Convert.ToInt32(am);
temp.GERName = datas[i].Substring(xFound + 1);

View File

@@ -2,36 +2,66 @@
using ConsoleApp3.Contracts;
using System.Text.RegularExpressions;
using CardMarketBot;
using OpenQA.Selenium.DevTools.V113.Network;
using System.Reflection.Metadata.Ecma335;
namespace CardmarketBot
{
internal class Programm
{
static void Main(string[] args)
{
ICheckSevDesk checkSevDesk = new CheckSevDeskPublicList();
// Kunden aus Cardmarket erstellen
Console.WriteLine("Hallo Herzlich willkommen beim Junker sein Junker der im Junkerloch junkert");
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 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();
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;
if (item.Invoice == null) continue;
var str_header = item.Invoice.Header;
if (str_header != null)
{
@@ -59,13 +89,7 @@ namespace CardmarketBot
deutschePost.GenerateCSV();
Console.WriteLine("Fertig");
Console.ReadLine();
}
}
}
}

File diff suppressed because one or more lines are too long