public RaceDataResponse GetRaceData(string filename) { var response = new RaceDataResponse(); if (!File.Exists(filename)) { response.Message = "file not found."; } using (StreamReader reader = new StreamReader(filename)) { string json = reader.ReadToEnd(); JsonRaceData raceData = JsonConvert.DeserializeObject <JsonRaceData>(json); var data = new List <HorsePrice>(); foreach (var horse in raceData.RawData.Participants) { var selections = raceData.RawData.Markets.SelectMany(x => x.Selections); var horseMarket = selections.FirstOrDefault(x => x.Tags.name.ToLower().Equals(horse.Name.ToLower())); if (horseMarket != null) { data.Add(new HorsePrice { Name = horse.Name, Price = horseMarket.Price }); } } response.HorsePrice.AddRange(data); } return(response); }
public RaceDataResponse GetRaceData(string filename) { var response = new RaceDataResponse(); // // Plug in our xml reader here // return(response); }
public RaceDataResponse GetRaceData(List <string> fileList) { var response = new RaceDataResponse(); var sb = new StringBuilder(); foreach (var file in fileList) { var result = ReadData(file); if (string.IsNullOrEmpty(response.Message)) { response.HorsePrice.AddRange(result.HorsePrice); } else { sb.Append(result.Message); } } response.Message = string.IsNullOrEmpty(sb.ToString()) ? "" : sb.ToString(); return(response); }
public RaceDataResponse GetRaceData(string filename) { var response = new RaceDataResponse(); if (!File.Exists(filename)) { response.Message = "file not found."; } var xmlData = new XmlRaceData(); try { xmlData = DeSerializer(ReadXmlElement(filename)); var data = new List <HorsePrice>(); foreach (var horse in xmlData.Races.Race.Horses.Horse) { var horsePrices = xmlData.Races.Race.Prices.Price.Horses.Horse; var horsePrice = horsePrices.FirstOrDefault(x => x._Number.ToLower().Equals(horse.Number.ToLower())); if (horsePrice != null) { double price = 0; if (double.TryParse(horsePrice.Price, out price)) { data.Add(new HorsePrice { Name = horse.Name, Price = price }); } } } response.HorsePrice = data; } catch (Exception ex) { response.Message = "Cannot serialize data."; } return(response); }