public void Parse(string fileName) { using (StreamReader reader = new StreamReader(fileName)) { int dbgLimiter = 0; string firstLine = reader.ReadLine(); ColumnHeaders ch = new ColumnHeaders(firstLine); while (!reader.EndOfStream) { //if (dbgLimiter > 900) break; dbgLimiter++; string line = reader.ReadLine(); Columns cm = new Columns(line); AromaSet set; Aroma newAroma = new Aroma(line); AllAromas.Add(newAroma.Id, newAroma); if (!AllAromaSets.ContainsKey(newAroma.BareTitleEng)) { set = new AromaSet(); set.Add(newAroma); AllAromaSets.Add(set.TitleEng, set); } else { set = AllAromaSets[newAroma.BareTitleEng]; set.Add(newAroma); } } } XmlCatalogParser xmlParser = new XmlCatalogParser(); xmlParser.SetQuantities(AllAromas); int adCounter = 0; using (StreamWriter writer = new StreamWriter("ads.txt")) { ColumnHeaders.WriteHeaderToOutput(writer); foreach (KeyValuePair<string, AromaSet> p in AllAromaSets) { p.Value.BuildAds(ref adCounter, writer); } } Logger.Close(); }
public Aroma(string line) { Columns cm = new Columns(line); float volTmp, vol = 0; this.Id = cm.Id; this.BareTitleEng = TitleTools.RemoveVolume(cm.TitleEng, out vol); this.BareTitleRus = TitleTools.RemoveVolume(cm.TitleRus, out volTmp); TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; BareTitleEng = textInfo.ToTitleCase(BareTitleEng.ToLower()); textInfo = new CultureInfo("ru-RU", false).TextInfo; BareTitleRus = textInfo.ToTitleCase(BareTitleRus.ToLower()); this.Volume = vol; this.IsTester = TitleTools.IsTester(cm.TitleEng); this.Brand = cm.Category; string category = cm.Category .Replace("&", "_") .Replace(".", "_") .Replace(" ", "_") .ToLower(); this.Url = "http://www.vikinora.ru/parfumeria/" + category + "/" + cm.Url + "/"; string imageUrl = "http://www.vikinora.ru" + cm.ImageUrl; if (cm.ImageUrl != string.Empty) { string[] parts = cm.ImageUrl.Split('/'); string fileName = parts[parts.Length - 1]; string[] fileNameParts = fileName.Split('.'); string onlyName = fileNameParts[0]; this.ImageUrl = "d:\\Projects\\VikinoraDirect\\data\\img\\" + onlyName + ".jpg"; } else { this.ImageUrl = string.Empty; } }