static void Main(string[] args) { using (var context = new TrailTrekkerContext()) { var team = context.Teams.Include(t => t.Walkers) .Where(t => t.TeamNumber == 6).Single(); var walkers = team.Walkers; } //ExtractAllData(); }
private static void ExtractAllData() { var urlPattern = @"http://live.sportident.co.uk//home/event/search.html?eventid=5bfd9c26-373b-45c4-9278-fa71739b6cd9&mobile=false"; Directory.CreateDirectory(@"c:\temp\trailTrekkerData"); foreach (var raceNumber in RaceNumbers()) { var url = urlPattern.Replace("{raceNumber}", raceNumber); var uri = new Uri(url); var file = HtmlFileName(raceNumber); if (!File.Exists(file)) { Console.WriteLine("{0}: {1}", raceNumber, file); try { using (WebClient client = new WebClient()) { byte[] response = client.UploadValues(urlPattern, new NameValueCollection() { { "racenumber", raceNumber }, }); File.WriteAllBytes(file, response); } } catch { Console.WriteLine("Could not do " + raceNumber); } } } Database.SetInitializer <TrailTrekkerContext>(new System.Data.Entity.DropCreateDatabaseAlways <TrailTrekkerContext>()); using (var context = new TrailTrekkerContext()) { Console.WriteLine("Initializing " + context.Database.Connection.ConnectionString); context.Database.Initialize(force: true); Console.WriteLine("Initialized"); context.Checkpoints.Add(new Checkpoint { CheckpointName = "Start - Skipton", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "WS1 - Gargrave", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "CP1 - Malham", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "WS2 - Fountains Fell", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "CP2 - Horton in Ribblesdale", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "WS3 - Cam Farm", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "WS4 - Deepdale", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "CP3 - Buckden", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "CP4 - Conistone", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "WS5 - Hetton", QuitSignal = "Bronze CP2" }); context.Checkpoints.Add(new Checkpoint { CheckpointName = "Finish - Skipton", QuitSignal = "Bronze CP2" }); context.SaveChanges(); Console.WriteLine("Seeded Checkpoints"); } foreach (var raceNumber in RaceNumbers()) { var file = HtmlFileName(raceNumber); var fileContent = File.ReadAllText(file).Substring(109); fileContent = fileContent.Replace(" ", ""); var lines = Lines(fileContent); var extractor = new Extractor(lines); using (var context = new TrailTrekkerContext()) { extractor.ExtractData(context, raceNumber); context.SaveChanges(); } Console.Write(raceNumber + " "); } }