// 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 ParseArtikeln(string text) { List result = new List(); 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++) { var nFound = datas[j].IndexOf("€"); if(nFound == -1) { if (temp.Amount == 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) { 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)); } }