//Method used to make a http request to the server private AirportBoards GetData(string airport, string airline) { AirportBoards data = new AirportBoards(); Uri url = SetURL(airport, (airline != null) ? airline : null); string auth = SetAuthorization(); HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Headers.Add(HttpRequestHeader.Authorization, $"Basic {auth}"); request.ContentType = "text/json"; request.Method = "GET"; string jsonResponse = ""; try { using (WebResponse response = request.GetResponse()) using (StreamReader sr = new StreamReader(response.GetResponseStream())) jsonResponse = sr.ReadToEnd(); } catch (WebException ex) { HttpStatusCode?code = (ex.Response as HttpWebResponse)?.StatusCode; if (code != null) { ErrorClass err = new ErrorClass(); err.InvokeErrorMessage(code); } } return(JsonConvert.DeserializeObject <AirportBoards>(jsonResponse)); }
//Method used to split data into departures and arrivals private void SplitData(AirportBoards data) { if (data != null) { AddToLists(data.boardsResult.Arrivals.Flights, this.arrivals); AddToLists(data.boardsResult.EnRoute.Flights, this.arrivals); AddToLists(data.boardsResult.Departures.Flights, this.departures); AddToLists(data.boardsResult.Scheduled.Flights, this.departures); this.info = data.boardsResult.Info; } }