public async Task <bool> AddLinesToDatabase()
        {
            string response = await _getData.GetJsonString(AppSettings.LinesListJson);

            if (string.IsNullOrEmpty(response))
            {
                return(false);
            }

            JArray linesArray = JArray.Parse(response);

            LastId = await _linesRepository.GetLastId();

            if (LastId != 0)
            {
                await _linesRepository.DeleteAll();
            }

            foreach (var lines in linesArray)
            {
                await _linesRepository.Create(new Line
                {
                    Id             = LastId + 1,
                    Type           = lines.Value <string>("typ"),
                    LineNumber     = lines.Value <string>("numerlinii"),
                    DirectionsList = _maps.MapUnicodeCharsToPolishChars(lines["kierunki"].ToString())
                });

                LastId++;
            }
            return(true);
        }
示例#2
0
        public async Task <bool> AddStopsToDatabase()
        {
            try
            {
                string response = await _getData.GetJsonString(AppSettings.StopsListJson);

                if (string.IsNullOrEmpty(response))
                {
                    return(false);
                }

                JArray linesArray = JArray.Parse(response);

                LastId = await _stopsRepository.GetLastId();

                if (LastId != 0)
                {
                    await _stopsRepository.DeleteAll();
                }

                foreach (var stop in linesArray)
                {
                    await _stopsRepository.Create(new StopRepo
                    {
                        Id           = LastId + 1,
                        StopName     = _maps.MapUnicodeCharsToPolishChars(stop.Value <string>("nazwa")),
                        StopNumbers  = stop.Value <string>("numery"),
                        VehiclesList = _maps.MapUnicodeCharsToPolishChars(stop.Value <string>("kierunki"))
                    });

                    LastId++;
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
示例#3
0
        public async Task <DeparturesList> GetDeparturesForStopNumber(string number)
        {
            try
            {
                List <DepartureDetails> departureList = new List <DepartureDetails>();
                string response = await _getData.GetJsonString(string.Format(AppResources.Url_GetDepartures, number));

                if (string.IsNullOrEmpty(response))
                {
                    return(SetupFailedList(ErrorType.NoDepartures));
                }

                if (!(JObject.Parse(response)["odjazdy"] is JArray departuresArray))
                {
                    return(SetupFailedList(ErrorType.NoDepartures));
                }

                foreach (var departure in departuresArray)
                {
                    var departureItem = departure.ToObject <DepartureDetails>();
                    departureItem.LineNumber  = departureItem.LineNumber.Trim();
                    departureItem.Direction   = _maps.MapUnicodeCharsToPolishChars(departureItem.Direction).Trim().Replace("-", "/");
                    departureItem.Time        = departureItem.Time.Trim().Replace(">>", "teraz");
                    departureItem.VehicleType = DetermineVehicleType(departureItem.LineNumber);

                    departureList.Add(departureItem);
                }

                return(new DeparturesList
                {
                    IsSuccess = true,
                    DepartureList = departureList
                });
            }
            catch (Exception ex)
            {
                return(new DeparturesList
                {
                    IsSuccess = false,
                    Message = ex.Message
                });
            }
        }