Cardmarket artikelparser umgeschrieben
This commit is contained in:
@@ -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
Reference in New Issue
Block a user