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
                }));
            }
        }
Esempio n. 2
0
        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);
            }
        }