Add Update route controller to fetch charts and adapt model to allow for response parsing
This commit is contained in:
parent
21aff4096f
commit
b6e5f09c11
@ -75,21 +75,7 @@ namespace EFB.Controllers
|
|||||||
//Make initial Route Request
|
//Make initial Route Request
|
||||||
var requestRoute = API.Post<string>("https://api.autorouter.aero/v1.0/router", headerData, content);
|
var requestRoute = API.Post<string>("https://api.autorouter.aero/v1.0/router", headerData, content);
|
||||||
|
|
||||||
//Prepare data to be send off with request(charts)
|
|
||||||
headerData = new Dictionary<string, string>();
|
|
||||||
headerData.Add("referer", "luke-else.co.uk");
|
|
||||||
|
|
||||||
Dictionary<string, string> formData = new Dictionary<string, string>();
|
|
||||||
formData.Add("token", "");
|
|
||||||
var body = new FormUrlEncodedContent(formData);
|
|
||||||
|
|
||||||
//make Charts request
|
|
||||||
var requestDepartureCharts = API.Post<ChartResponse>($"https://chartfox.org/api/charts/grouped/{departure}", headerData, body);
|
|
||||||
var requestArrivalCharts = API.Post<ChartResponse>($"https://chartfox.org/api/charts/grouped/{arrival}", headerData, body);
|
|
||||||
|
|
||||||
ResponseModel<string> responseRoute = await requestRoute;
|
ResponseModel<string> responseRoute = await requestRoute;
|
||||||
ResponseModel<ChartResponse> responseDepartureCharts = await requestDepartureCharts;
|
|
||||||
ResponseModel<ChartResponse> responseArrivalCharts = await requestArrivalCharts;
|
|
||||||
|
|
||||||
if (responseRoute.Error == null)
|
if (responseRoute.Error == null)
|
||||||
{//Update User session and add route ID
|
{//Update User session and add route ID
|
||||||
@ -137,8 +123,25 @@ namespace EFB.Controllers
|
|||||||
string routeString = "";
|
string routeString = "";
|
||||||
|
|
||||||
APIInterface API = new APIInterface();
|
APIInterface API = new APIInterface();
|
||||||
|
|
||||||
Dictionary<string, string> headerData = new Dictionary<string, string>();
|
Dictionary<string, string> headerData = new Dictionary<string, string>();
|
||||||
|
|
||||||
|
/*-----Chart Fetching Operations--------*/
|
||||||
|
|
||||||
|
//Prepare data to be send off with request(charts)
|
||||||
|
headerData = new Dictionary<string, string>();
|
||||||
|
headerData.Add("referer", "luke-else.co.uk");
|
||||||
|
|
||||||
|
Dictionary<string, string> formData = new Dictionary<string, string>();
|
||||||
|
formData.Add("token", "");
|
||||||
|
var body = new FormUrlEncodedContent(formData);
|
||||||
|
|
||||||
|
//make Charts request
|
||||||
|
var requestDepartureCharts = API.Post<ChartResponse>($"https://chartfox.org/api/charts/grouped/{departure}", headerData, body);
|
||||||
|
var requestArrivalCharts = API.Post<ChartResponse>($"https://chartfox.org/api/charts/grouped/{arrival}", headerData, body);
|
||||||
|
|
||||||
|
/*----------------------------------*/
|
||||||
|
|
||||||
|
//Run route Polling
|
||||||
headerData.Add("Authorization", $"Bearer {user.UserToken.TokenValue}");
|
headerData.Add("Authorization", $"Bearer {user.UserToken.TokenValue}");
|
||||||
|
|
||||||
while (collected == false && pollCount < 15)
|
while (collected == false && pollCount < 15)
|
||||||
@ -165,6 +168,13 @@ namespace EFB.Controllers
|
|||||||
|
|
||||||
if (collected)
|
if (collected)
|
||||||
{
|
{
|
||||||
|
//Get Response from Charts
|
||||||
|
ResponseModel<ChartResponse> responseDepartureCharts = await requestDepartureCharts;
|
||||||
|
user.DepartureCharts = new ChartModel(responseDepartureCharts.Result.Response);
|
||||||
|
|
||||||
|
ResponseModel<ChartResponse> responseArrivalCharts = await requestArrivalCharts;
|
||||||
|
user.ArrivalCharts = new ChartModel(responseArrivalCharts.Result.Response);
|
||||||
|
|
||||||
//fill in route
|
//fill in route
|
||||||
string finalRoute = RouteModel.ParseRoute(routeString);
|
string finalRoute = RouteModel.ParseRoute(routeString);
|
||||||
user.Route = finalRoute;
|
user.Route = finalRoute;
|
||||||
|
@ -16,6 +16,26 @@ namespace EFB.Models
|
|||||||
public Chart[] Approach { get; set; }
|
public Chart[] Approach { get; set; }
|
||||||
public Chart[] Transition { get; set; }
|
public Chart[] Transition { get; set; }
|
||||||
public Chart[] PilotBriefing { get; set; }
|
public Chart[] PilotBriefing { get; set; }
|
||||||
|
|
||||||
|
public ChartModel(ChartList response)
|
||||||
|
{
|
||||||
|
General = FillChart(response.General);
|
||||||
|
TextualData = FillChart(response.TextualData);
|
||||||
|
GroundLayout = FillChart(response.GroundLayout);
|
||||||
|
SID = FillChart(response.SID);
|
||||||
|
STAR = FillChart(response.STAR);
|
||||||
|
Approach = FillChart(response.Approach);
|
||||||
|
Transition = FillChart(response.Transition);
|
||||||
|
PilotBriefing = FillChart(response.PilotBriefing);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Chart[] FillChart(ChartsCollection collection){
|
||||||
|
if (collection != null)
|
||||||
|
{
|
||||||
|
return collection.Charts;
|
||||||
|
}
|
||||||
|
return new Chart[]{};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Pinned
|
public class Pinned
|
||||||
@ -33,4 +53,5 @@ namespace EFB.Models
|
|||||||
// public string PseudoURL { get; set; }
|
// public string PseudoURL { get; set; }
|
||||||
// public string URL { get; set; }
|
// public string URL { get; set; }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user