// declaring another method to handle a single string array – put each task in a separate method and group similar methods into classes public Event BuildEvent(FeedFixture fixture) { // in the array, each position will be one bit of data // i.e. originalJson[0] might be the home team // originalJson[1] might be the away team etc. // you’ll have to work all this out and populate the event, then return that event Event newEvent = new Event(); newEvent.date = convertdate(fixture.date); newEvent.hometeam = fixture.homeTeamName; newEvent.href = fixture._links.self["href"]; newEvent.awayteam = fixture.awayTeamName; // etc. etc. return newEvent; }
public Event findClosestEvent(List<Event> originalEvents) { Event shortDistanceEvent = new Event(); int numberOfEventsInList = originalEvents.Count(); int distance = FixtureRetriever.REALLY_REALLY_BIG_NUMBER; foreach (Event e in originalEvents) { if (distance > e.duration) { distance = e.duration; shortDistanceEvent = e; } } return shortDistanceEvent; }
public Event PopulateEventWithDistances(Event currentEvent, String locationA, string travelmode) { // setting up the variables ApiCaller api = new ApiCaller(); JSONparserdistances jsonParser = new JSONparserdistances(); // Changed this too the new JSON parser String apiAddress = "https://maps.googleapis.com/maps/api/distancematrix/json"; String addressToCall = apiAddress + "?" + origin(locationA) + "&" + destination(currentEvent.locationLatitude, currentEvent.locationLongitude) + "&" + mode(travelmode) + "&" + apiKey(); // calling the api String jsonString = api.GET(addressToCall); currentEvent.distance = jsonParser.extractDistanceFromGoogleMapsJsonString(jsonString); currentEvent.duration = jsonParser.extractTimeTakenFromGoogleMapsJsonString(jsonString); currentEvent.durationFriendly = jsonParser.extractFriendlyTimeTakenFromGoogleMapsJsonString(jsonString); currentEvent.distanceFriendly = convertFromMetersToMiles(currentEvent.distance); return currentEvent; }