public async Task <IActionResult> StationUpdates(int oId, int dId) { try { E_Station origin = (E_Station)oId; E_Station destination = (E_Station)dId; GetStationsInfoResponse updates = await _rail.GetStationsInfo(origin, destination); List <StationUpdate> stationUpdates = new List <StationUpdate>(); foreach (GetStationsInfoResponseData update in updates.Data.OrderBy(x => x.Order)) { StationUpdate stationUpdate = new StationUpdate(update, E_Language.Hebrew); stationUpdates.Add(stationUpdate); } return(PartialView("_Updates", stationUpdates)); } catch (Exception ex) { _logger.LogCritical(ex, $"Failed StationUpdates({oId}, {dId})"); return(PartialView("Error", new ErrorViewModel() { Exception = ex })); } }
public async Task <GetStationsInfoResponse> GetStationsInfo(E_Station origin, E_Station destination) { NameValueCollection parameters = HttpUtility.ParseQueryString(string.Empty); parameters["OId"] = ((int)origin).ToString(); parameters["TId"] = ((int)destination).ToString(); UriBuilder ub = new UriBuilder() { Path = "apiinfo/api/Info/GetStationsInfo", Query = HttpUtility.UrlDecode(parameters.ToString()) }; string uri = ub.Uri.PathAndQuery; HttpClient client = _clientFactory.CreateClient("RailApi"); using (HttpResponseMessage response = await client.GetAsync(uri)) { response.EnsureSuccessStatusCode(); GetStationsInfoResponse result = await response.Content.ReadAsAsync <GetStationsInfoResponse>(); return(result); } }