Exemplo n.º 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);
        }
Exemplo n.º 2
0
        public RaceDataResponse GetRaceData(string filename)
        {
            var response = new RaceDataResponse();

            //
            // Plug in our xml reader here
            //

            return(response);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }