public async Task <HttpResult> GetStop(StoppingPlace stop, DateTime date)
        {
            await GetToken();

            try
            {
                /*
                 *  Set up basic autentisering
                 */
                using (var client = new HttpClient())
                {
                    client.BaseAddress = new Uri(" https://api.vasttrafik.se/bin/rest.exe/v2/");
                    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", this._accessToken);


                    var appendstring = "?format=json&id=" + stop.Id + "&date=" + date.ToString("yyyy-MM-dd") + "&time=" + date.ToString("HH:mm");
                    var result       = await client.GetAsync("departureBoard" + appendstring);

                    result.EnsureSuccessStatusCode();

                    string resultContent = await result.Content.ReadAsStringAsync();

                    if (resultContent == null ||
                        resultContent.Length < 3)
                    {
                        throw new ArgumentException("Bad data");
                    }

                    try
                    {
                        var res = JObject.Parse(resultContent);

                        JArray ArrivalArr     = (JArray)res["DepartureBoard"]["Departure"];
                        var    arrivalManager = new StoppingTimeManager();

                        foreach (var obj in (JToken)ArrivalArr)
                        {
                            var datee = DateTime.Parse((string)obj.SelectToken("date") + " " + (string)obj.SelectToken("time"));
                            arrivalManager.Add(new TravelTime()
                            {
                                Date      = DateTime.Parse((string)obj.SelectToken("date") + " " + (string)obj.SelectToken("time")),
                                direction = (string)obj.SelectToken("direction"),
                                name      = (string)obj.SelectToken("name")
                            });
                        }

                        return(new HttpResult(true, arrivalManager));
                        //return new HttpResult(true, null);
                    }
                    catch (Exception e)
                    {
                        throw new ArgumentException("Bad data", e.Message);
                    }
                }
            }
            catch (Exception e)
            {
                throw new ArgumentException("Bad connection", e.Message);
            }
        }
Exemplo n.º 2
0
        async void GetArivalsList(string fromId, string toId, DateTime date)
        {
            StoppingTimeManager stoppingTimeManager = await _nextStopingPlacesViewModel.GetArivalsList(new Core.Travel.StoppingPlace()
            {
                Id = fromId
            }, null, date);

            mRecyclerView = _view.FindViewById <RecyclerView>(Resource.Id.recyclerView);

            // Plug in the linear layout manager:
            mLayoutManager = new LinearLayoutManager(Application.Context);
            mRecyclerView.SetLayoutManager(mLayoutManager);

            // Plug in my adapter:
            mAdapter = new ArivalAdapter(stoppingTimeManager.GetList());



            mRecyclerView.SetAdapter(mAdapter);
        }