Esempio n. 1
0
        private async void NavigationHelper_LoadState(object sender, LoadStateEventArgs e)
        {
            if (!isLoaded)
            {
                Constant.Loader(this.resourceLoader.GetString("GlobalLoading"), true);
                param = JsonConvert.DeserializeObject <StopNameAllSQL>(e.NavigationParameter.ToString());
                this.DefaultViewModel["Title"]    = param.name;
                this.DefaultViewModel["Favorite"] = Database.IfAllStopsAreFavorite(Int32.Parse(param.id)) ? Constant.FavoriteStar : Constant.UnFavoriteStar;
                await Task.Run(() => LoadRoutes(param));

                isLoaded = true;
                Constant.Loader(this.resourceLoader.GetString("GlobalLoadingSuccess"), false);
                await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                                                                                            async() =>
                {
                    while (true)
                    {
                        await Task.Delay(10000);
                        foreach (var item in Buses)
                        {
                            Buses.Where(d => d.d_id == item.d_id).First().Next_Bus = time.getNextBusTime(item.schedule, item.days);
                        }
                        foreach (var item in Trolls)
                        {
                            Trolls.Where(d => d.d_id == item.d_id).First().Next_Bus = time.getNextBusTime(item.schedule, item.days);
                        }
                        foreach (var item in Tramms)
                        {
                            Tramms.Where(d => d.d_id == item.d_id).First().Next_Bus = time.getNextBusTime(item.schedule, item.days);
                        }
                    }
                }
                                                                                                            );
            }
        }
Esempio n. 2
0
        private void ListView_ItemClick(object sender, ItemClickEventArgs e)
        {
            JObject        obj     = JObject.Parse(JsonConvert.SerializeObject(e.ClickedItem));
            StopNameAllSQL new_obj = new StopNameAllSQL()
            {
                id      = obj["id"].ToString(),
                isBus   = obj["isBus"].ToString(),
                isTramm = obj["isTramm"].ToString(),
                isTroll = obj["isTroll"].ToString(),
                name    = obj["name"].ToString(),
                width   = screenWidth
            };

            if (!Frame.Navigate(typeof(Views.StopsTransport), JsonConvert.SerializeObject(new_obj as StopNameAllSQL)))
            {
                throw new Exception(this.resourceLoader.GetString("NavigationFailedExceptionMessage"));
            }
        }
Esempio n. 3
0
        private async Task LoadRoutes(StopNameAllSQL param)
        {
            Time             time       = new Time();
            SQLiteConnection connection = new SQLiteConnection(dbPath);

            Buses  = new ObservableCollection <DirectionStopSQL>();
            Trolls = new ObservableCollection <DirectionStopSQL>();
            Tramms = new ObservableCollection <DirectionStopSQL>();
            var items = connection.Query <DirectionStopSQL>(
                "SELECT s.r_id as r_id, s.n_id as n_id, s.d_id as d_id,s.favorite as favorite,d.name as d_name,sn.name as sn_name, r.number as number, s.schedule as schedule, s.days as days, r.type as type " +
                "FROM stop AS s " +
                "LEFT JOIN direction as d ON d_id = d.id " +
                "LEFT JOIN route as r ON r_id = r.id " +
                "LEFT JOIN stopname as sn ON n_id = sn.id " +
                "WHERE sn_name LIKE '%" + param.name + "%' " +
                "GROUP BY d_name,r_id " +
                "ORDER BY r_id");

            foreach (var item in items)
            {
                if (item.type == 0)
                {
                    Buses.Add(new DirectionStopSQL()
                    {
                        width    = param.width,
                        d_name   = item.d_name,
                        r_id     = item.r_id,
                        number   = item.number,
                        type     = item.type,
                        d_id     = item.d_id,
                        n_id     = item.n_id,
                        days     = item.days,
                        schedule = item.schedule,
                        next_bus = time.getNextBusTime(item.schedule, item.days),
                        favorite = Int32.Parse(item.favorite) == 1 ? Constant.FavoriteStar : Constant.UnFavoriteStar
                    });
                }
                else if (item.type == 1)
                {
                    Trolls.Add(new DirectionStopSQL()
                    {
                        width    = param.width,
                        d_name   = item.d_name,
                        r_id     = item.r_id,
                        number   = item.number,
                        d_id     = item.d_id,
                        type     = item.type,
                        n_id     = item.n_id,
                        days     = item.days,
                        schedule = item.schedule,
                        next_bus = time.getNextBusTime(item.schedule, item.days),
                        favorite = Int32.Parse(item.favorite) == 1 ? Constant.FavoriteStar : Constant.UnFavoriteStar
                    });
                }
                else if (item.type == 2)
                {
                    Tramms.Add(new DirectionStopSQL()
                    {
                        width    = param.width,
                        d_name   = item.d_name,
                        r_id     = item.r_id,
                        number   = item.number,
                        d_id     = item.d_id,
                        type     = item.type,
                        n_id     = item.n_id,
                        days     = item.days,
                        schedule = item.schedule,
                        next_bus = time.getNextBusTime(item.schedule, item.days),
                        favorite = Int32.Parse(item.favorite) == 1 ? Constant.FavoriteStar : Constant.UnFavoriteStar
                    });
                }
            }

            this.DefaultViewModel["Buses"]  = Buses.Count != 0 ? Buses : null;
            this.DefaultViewModel["Trolls"] = Trolls.Count != 0 ? Trolls : null;
            this.DefaultViewModel["Tramms"] = Tramms.Count != 0 ? Tramms : null;

            await Windows.ApplicationModel.Core.CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                                                                                        () =>
            {
                if (Buses.Count == 0)
                {
                    PivotMain.Items.RemoveAt(PivotMain.Items.IndexOf(PItemBus));
                }
                if (Trolls.Count == 0)
                {
                    PivotMain.Items.RemoveAt(PivotMain.Items.IndexOf(PItemTroll));
                }
                if (Tramms.Count == 0)
                {
                    PivotMain.Items.RemoveAt(PivotMain.Items.IndexOf(PItemTramm));
                }
            }
                                                                                                        );
        }