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 RaceModel(string raceName) { JsonRaceData raceData = JsonConvert.DeserializeObject <JsonRaceData>(Properties.Resources.RaceData); if (raceData.Races[raceName] != null) { Name = raceName; Age = raceData.Races[raceName].Ages; Size = raceData.Races[raceName].Size; Alignment = raceData.Races[raceName].CommonAlignment; Speed = raceData.Races[raceName].Movement; AttributeMods = raceData.Races[raceName].AttributeScores; Feats = raceData.Races[raceName].Feats; Proficiencies = raceData.Races[raceName].Proficiencies; } }