internal AcesHighPilotStats GetPilotStats(string pilotId, TourNode tour, ProxySettingsDTO proxySettings, string statsURL) { if (tour == null) throw new ArgumentException("tour of type TourNode must be set!"); if (pilotId == null) throw new ArgumentException("pilotId of type string must be set!"); if (proxySettings == null) throw new ArgumentException("proxySettings of type ProxySettingsDTO must be set!"); string postData = string.Format("playername={1}&selectTour={0}&action=1&Submit=Get+Stats", tour.TourSelectArg, pilotId); HttpToXMLLoader loader = new HttpToXMLLoader(proxySettings); XmlDocument statsPageDoc = loader.LoadHtmlPageAsXMLByPost(statsURL, postData); XmlTextReader xsltDocReader = new XmlTextReader("PilotStatsTransform.xslt"); XSLT2Transformer transformer = new XSLT2Transformer(statsPageDoc, xsltDocReader); XmlDocument result = transformer.DoTransform(); // Deserialise the XmlDocument to a in-memory object. AcesHighPilotStats stats = (AcesHighPilotStats)new CommonUtils().DeserialiseFromXmlDoc(typeof(AcesHighPilotStats), result); // And fill in the rest of the details ourselves. stats.GameId = CommonUtils.ToUpperFirstChar(pilotId); stats.TourId = tour.TourId.ToString(); stats.TourType = tour.TourType.ToString(); stats.TourDetails = CommonUtils.BuildTourDetailsTag(tour); return stats; }
internal void AddTourToMap(TourNode tour) { if (tours.ContainsKey(tour.TourType)) { tours[tour.TourType].Add(tour.TourId, tour); } else { Dictionary<int,TourNode> newTour = new Dictionary<int,TourNode>(); newTour.Add(tour.TourId, tour); tours.Add(tour.TourType, newTour); } }
public void AddTourToMap(TourNode tour) { if (Tours.ContainsKey(tour.TourType)) { Tours[tour.TourType].Add(tour.TourId, tour); } else { var newTour = new Dictionary <int, TourNode> { { tour.TourId, tour } }; Tours.Add(tour.TourType, newTour); } }
private void BuildTourMap(ProxySettingsDTO proxySettings, string scoresURL) { HttpToXMLLoader loader = new HttpToXMLLoader(proxySettings); XmlDocument xDoc = loader.LoadHtmlPageAsXMLByGet(scoresURL); XSLT2Transformer xformer = new XSLT2Transformer(xDoc, new XmlTextReader(@"TourListTransform.xslt")); XmlDocument transformedTourListDoc = xformer.DoTransform(); foreach (XmlNode xNode in transformedTourListDoc.SelectNodes("/AHTourList/AHTourNode")) { TourNode node = new TourNode(xNode); definitions.AddTourToMap(new TourNode(xNode)); } if (!definitions.IsTourDefinitionsComplete()) throw new ApplicationException("Failed to build Tour Map!"); }
internal static string BuildTourDetailsTag(TourNode tour) { string shortStartDate = string.Format("{1}-{0}-{2}", tour.TourStartDate.Day, tour.TourStartDate.Month, tour.TourStartDate.Year); string shortEndDate = string.Format("{1}-{0}-{2}", tour.TourEndDate.Day, tour.TourEndDate.Month, tour.TourEndDate.Year); return string.Format("Tour {0} {1} to {2}", tour.TourId, shortStartDate, shortEndDate); }