protected virtual IGetBouquetItemsResponse ParseE1(string response) { var items = new List <IBouquetItem>(); string[] lines = response.Split(new[] { "\n" }, StringSplitOptions.None); for (int i = 0; i <= lines.Length - 2; i++) { string reference = lines[i].Substring(0, lines[i].IndexOf(";", StringComparison.Ordinal)).Trim(); IBouquetItem item = InitializeItem(reference, EnigmaType.Enigma1); if (item == null) { continue; } string name = lines[i].Substring(lines[i].IndexOf(";", StringComparison.Ordinal) + 1).Trim(); if (name.IndexOf(";", StringComparison.Ordinal) > -1) { name = name.Substring(0, name.IndexOf(";", StringComparison.Ordinal)).Trim(); } item.Reference = reference; item.Name = name; items.Add(item); } return(_factory.GetBouquetItemsResponse(items)); }
protected virtual IGetBouquetItemsResponse ParseE2(string response) { response = Helpers.SanitizeXmlString(response); var items = new List <IBouquetItem>(); using (XmlReader reader = XmlReader.Create(new StringReader(response))) { bool canRead = reader.Read(); IBouquetItem item = null; while (canRead) { if (reader.IsStartElement()) { switch (reader.Name.ToLower()) { case "e2servicereference": reader.Read(); if (item != null) { items.Add(item); } item = InitializeItem(reader.Value, EnigmaType.Enigma2); if (item != null) { item.Reference = reader.Value; } break; case "e2servicename": reader.Read(); if (item != null) { item.Name = reader.Value; } break; } } canRead = reader.Read(); } } return(_factory.GetBouquetItemsResponse(items)); }