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/Helper.cs

155 lines
4.7 KiB
C#

// See https://aka.ms/new-console-template for more information
using System.Diagnostics;
using System.Text.RegularExpressions;
public static class Helper
{
public enum Porto
{
FAILED,
BRIEF085,
BRIEF100,
BRIEF160,
BRIEF275,
PRIO210,
PRIO270
}
internal static Kunde ConvertToKunde(string text)
{
string[] datas = text.Split("\r\n");
string name = datas[0];
string adresseUNDHausnummer = datas[datas.Length-3];
string plzUNDOrt = datas[datas.Length-2];
string land = datas[datas.Length-1];
datas = plzUNDOrt.Split(" ");
string plz = datas[0];
string ort = datas[1];
datas = adresseUNDHausnummer.Split(" ");
string strasse = "";
string hausnummer = "";
Trace.WriteLine(datas.Length);
if (datas.Length <= 1)
{
Regex myRegex = new Regex("[0-9]*$");
var matched = myRegex.Match(adresseUNDHausnummer);
strasse = adresseUNDHausnummer.Substring(0, matched.Index);
hausnummer = adresseUNDHausnummer.Substring(matched.Index);
}
else
{
for (int i = 0; i < datas.Length - 1; i++)
{
strasse += datas[i] + " ";
}
strasse = strasse.Trim();
hausnummer = datas[datas.Length - 1];
}
return new Kunde(name, strasse, hausnummer, plz, ort, land);
}
public static List<Artikel> ParseArtikeln(string text)
{
List<Artikel> result = new List<Artikel>();
string[] datas = text.Split("\r\n");
for(int i = 0; i < datas.Length; i++)
{
Artikel temp = new Artikel();
int internalCounter = 0;
bool SourceFounded = false;
for(int j = i; j < datas.Length; j++)
{
Trace.WriteLine(internalCounter);
var nFound = datas[j].IndexOf("€");
if(nFound == -1)
{
var xFound = datas[j].IndexOf("x");
if(xFound >= 1 && xFound <= 2)
{
temp.Amount = Convert.ToInt32(datas[j].Substring(0, xFound));
temp.GERName = datas[j].Substring(xFound + 1).Trim();
}
if(internalCounter == 1)
{
temp.ENGName = datas[j];
}
if(internalCounter == 2)
{
var d = datas[j].IndexOf("#");
if (datas[j].IndexOf("#") > -1)
{
temp.CardNumber = datas[j];
SourceFounded = false;
}
else
{
temp.Source = datas[j];
SourceFounded = true;
}
}
if(internalCounter == 3)
{
if(SourceFounded)
{
temp.Raritaet = datas[j];
}
else
{
temp.Source = datas[j];
}
}
Trace.WriteLine(j + " " + datas[j]);
}
else
{
temp.Preis = datas[j].Split(' ')[0];
result.Add(temp);
i = j;
break;
}
internalCounter++;
}
}
return result;
}
internal static DateTime ConvertBezahlDatum(string text)
{
//21.06.202308:39
int uhrzeitsignature = text.IndexOf(':');
string datum = text.Substring(0, uhrzeitsignature - 2);
string uhrzeit = text.Substring(uhrzeitsignature-2,text.Length - uhrzeitsignature + 2);
return DateTime.Parse(string.Format("{0} {1}", datum, uhrzeit));
}
}
/*
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(@"https://www.cardmarket.com/de/OnePiece/Orders/Sales/Paid");
hwr.CookieContainer = cookieContainer;
hwr.Method = "GET";
hwr.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36";
WebResponse wr = hwr.GetResponse();
string s = new StreamReader(wr.GetResponseStream()).ReadToEnd();
Console.WriteLine(s);
string GetHashKey(string line)
{
var x = line.IndexOf("__cmtkn");
var d = line.Substring(x + 16);
var m = d.IndexOf("\"");
var a = d.Substring(0, m);
return a;
}
*/