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>();
string[] datas = text.Split("\r\n");
int anzahl = datas.Length / 6;
for (int i = 0; i < datas.Length; i += 6)
for(int i = 0; i < datas.Length; i++)
{
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);
temp.ENGName = datas[i + 1];
temp.CardNumber = datas[i + 2];
temp.Source = datas[i + 3];
temp.Raritaet = datas[i + 4];
temp.Preis = datas[i + 5].Split(' ')[0];
result.Add(temp);
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;
}

File diff suppressed because one or more lines are too long