diff --git a/Controllers/RouteController.cs b/Controllers/RouteController.cs index d73ddd3..0087324 100644 --- a/Controllers/RouteController.cs +++ b/Controllers/RouteController.cs @@ -1,5 +1,6 @@ using System; using System.Threading.Tasks; +using System.Threading; using System.Collections.Generic; using System.Text; using System.Net.Http; @@ -115,6 +116,7 @@ namespace EFB.Controllers //Make calls to the server to fetch route bool collected = false; int count = 0; + string route; APIInterface API = new APIInterface(); @@ -123,19 +125,25 @@ namespace EFB.Controllers while (collected == false && count <= 5) { - count ++; - //Make Polling Request var pollingRequest = API.Put>($"https://api.autorouter.aero/v1.0/router/{user.Route.RouteID}/longpoll", headerData, null); ResponseModel> responsePoll = await pollingRequest; - //put request returns JSON that cannot be serialised by default - Console.WriteLine(responsePoll); + if (responsePoll.Result[count].Command == "solution") + { + collected = true; + route = responsePoll.Result[count].FlightPlan; + break; + } + + Thread.Sleep(5000); + count ++; } + return RedirectToAction("Index", "Route"); }else{ diff --git a/Models/JSON/PollResponse.cs b/Models/JSON/PollResponse.cs index 5169d10..3c353e9 100644 --- a/Models/JSON/PollResponse.cs +++ b/Models/JSON/PollResponse.cs @@ -6,7 +6,6 @@ using Newtonsoft.Json; namespace EFB.Models.JSON { - [JsonArray] public class PollResponse { [JsonProperty(PropertyName = "cmdname")]