internal static IRun mapRun(XmlDocument xml) { IRun run = new Run(); run.TemplateName = xml.SelectSingleNode("//templateName").InnerText; run.Weight = float.Parse(xml.SelectSingleNode("//weight").InnerText); run.Device = xml.SelectSingleNode("//device").InnerText; run.EmpedID = xml.SelectSingleNode("//empedID").InnerText; run.StartTime = DateTime.Parse(xml.SelectSingleNode("//startTime").InnerText); run.Description = xml.SelectSingleNode("//description").InnerText; run.Calories = long.Parse(xml.SelectSingleNode("//calories").InnerText); run.Duration = long.Parse(xml.SelectSingleNode("//duration").InnerText); run.Distance = float.Parse(xml.SelectSingleNode("//distance").InnerText); run.BestComparableRun = xml.SelectSingleNode("//bestComparableRun").InnerText; //powersong run.PowerSong.Artist = xml.SelectSingleNode("//powerSong/artist").InnerText; run.PowerSong.Title = xml.SelectSingleNode("//powerSong/title").InnerText; run.PowerSong.Album = xml.SelectSingleNode("//powerSong/album").InnerText; //userClick snapshot foreach (XmlNode node in xml.SelectNodes("//snapShotList[@snapShotType='userClick']/snapShot")) { ISnapShot shot = new Snapshot(); shot.Distance = float.Parse(node.SelectSingleNode("distance").InnerText); shot.Duration = long.Parse(node.SelectSingleNode("duration").InnerText); shot.Pace = long.Parse(node.SelectSingleNode("pace").InnerText); shot.ID = node.SelectSingleNode("@id").InnerText; shot.Event = node.SelectSingleNode("@event").InnerText; } //kmSplit snapshot foreach (XmlNode node in xml.SelectNodes("//snapShotList[@snapShotType='kmSplit']/snapShot")) { ISnapShot shot = new Snapshot(); shot.Distance = float.Parse(node.SelectSingleNode("distance").InnerText); shot.Duration = long.Parse(node.SelectSingleNode("duration").InnerText); shot.Pace = long.Parse(node.SelectSingleNode("pace").InnerText); shot.ID = node.SelectSingleNode("@id").InnerText; shot.Event = node.SelectSingleNode("@event").InnerText; } //mileSplit snapshot foreach (XmlNode node in xml.SelectNodes("//snapShotList[@snapShotType='mileSplit']/snapShot")) { ISnapShot shot = new Snapshot(); shot.Distance = float.Parse(node.SelectSingleNode("distance").InnerText); shot.Duration = long.Parse(node.SelectSingleNode("duration").InnerText); shot.Pace = long.Parse(node.SelectSingleNode("pace").InnerText); shot.ID = node.SelectSingleNode("@id").InnerText; shot.Event = node.SelectSingleNode("@event").InnerText; } return run; }
internal static List<IRun> mapRuns(XmlDocument xml) { List<IRun> runs = new List<IRun>(); foreach (XmlNode node in xml.SelectNodes("//run") ) { IRun newRun = new Run(); newRun.ID = node.SelectSingleNode("@id").InnerText; newRun.StartTime = DateTime.Parse(node.SelectSingleNode("startTime").InnerText); newRun.SyncTime = DateTime.Parse(node.SelectSingleNode("syncTime").InnerText); newRun.Name = node.SelectSingleNode("name").InnerText; newRun.Description = node.SelectSingleNode("description").InnerText; newRun.Calories = float.Parse(node.SelectSingleNode("calories").InnerText); newRun.Duration = long.Parse(node.SelectSingleNode("duration").InnerText); newRun.Distance = float.Parse(node.SelectSingleNode("distance").InnerText); runs.Add(newRun); } return runs; }