Cardmarket artikelparser umgeschrieben

This commit is contained in:
2023-09-06 15:19:11 +02:00
parent 839080392b
commit b6d36d7bf5
2 changed files with 62 additions and 16 deletions

View File

@@ -58,23 +58,65 @@ public static class Helper
List<Artikel> result = new List<Artikel>(); List<Artikel> result = new List<Artikel>();
string[] datas = text.Split("\r\n"); string[] datas = text.Split("\r\n");
for(int i = 0; i < datas.Length; i++)
int anzahl = datas.Length / 6;
for (int i = 0; i < datas.Length; i += 6)
{ {
Artikel temp = new Artikel(); Artikel temp = new Artikel();
var xFound = datas[i].IndexOf("x"); int internalCounter = 0;
if (xFound == -1) continue; bool SourceFounded = false;
var am = datas[i].Substring(0, xFound); for(int j = i; j < datas.Length; j++)
temp.Amount = Convert.ToInt32(am); {
temp.GERName = datas[i].Substring(xFound + 1); Trace.WriteLine(internalCounter);
temp.ENGName = datas[i + 1]; var nFound = datas[j].IndexOf("€");
temp.CardNumber = datas[i + 2];
temp.Source = datas[i + 3]; if(nFound == -1)
temp.Raritaet = datas[i + 4]; {
temp.Preis = datas[i + 5].Split(' ')[0];
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); result.Add(temp);
i = j;
break;
}
internalCounter++;
}
} }
return result; return result;
} }

File diff suppressed because one or more lines are too long