Example #1
0
        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);
        }
Example #2
0
        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;
            }
        }