protected virtual IGetBouquetsResponse ParseE2(string response) { response = Helpers.SanitizeXmlString(response); var bouquets = new List <IBouquetItemBouquet>(); using (XmlReader reader = XmlReader.Create(new StringReader(response))) { bool canRead = reader.Read(); IBouquetItemBouquet bouquet = null; while (canRead) { if (reader.IsStartElement()) { switch (reader.Name.ToLower()) { case "e2service": if (bouquet != null) { bouquets.Add(bouquet); } bouquet = _factory.BouquetItemBouquet(); break; case "e2servicereference": reader.Read(); if (bouquet != null) { bouquet.Reference = reader.Value; } break; case "e2servicename": reader.Read(); if (bouquet != null) { bouquet.Name = reader.Value; } break; } } canRead = reader.Read(); } } return(_factory.GetBouquetsResponse(bouquets)); }
protected virtual IGetBouquetsResponse ParseE1(string response) { var bouquets = new List <IBouquetItemBouquet>(); string[] lines = response.Split(new[] { "\n" }, StringSplitOptions.None); for (int i = 0; i <= lines.Length - 2; i++) { IBouquetItemBouquet bq = _factory.BouquetItemBouquet(); bq.Reference = lines[i].Substring(0, lines[i].IndexOf(";", StringComparison.Ordinal)).Trim(); bq.Name = lines[i].Substring(lines[i].IndexOf(";", StringComparison.Ordinal) + 1).Trim(); if (lines[i].IndexOf(";selected", StringComparison.Ordinal) > -1) { bq.Name = bq.Name.Substring(0, bq.Name.IndexOf(";selected", StringComparison.Ordinal)); } bouquets.Add(bq); } return(_factory.GetBouquetsResponse(bouquets)); }
public async Task <IGetBouquetItemsResponse> ExecuteAsync(IProfile profile, CancellationToken token, [NotNull] IBouquetItemBouquet bouquet) { if (bouquet == null) { throw new ArgumentNullException("bouquet"); } string url = profile.Enigma == EnigmaType.Enigma1 ? @"cgi-bin/getServices?ref=" : @"web/getservices?sRef="; url = url + bouquet.Reference; return(await base.ExecuteAsync(profile, url, _parser, token)); }