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!");
        }
Exemple #5
0
 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);
 }