Beispiel #1
0
        public StarsPage()
        {
            InitializeComponent();

            starsView = new StarsViewModel();
            Title     = Locales.Title_Stars;

            searchbar.TextChanged      += SearchBar_TextChanged;
            StarsListView.ItemsSource   = starsView.stars;
            StarsListView.ItemSelected += async(s, e) => { await ConstellationsListView_ItemSelected(s, e); };
            ToolbarItems.Add(new ToolbarItem("", "sort_icon.xml", async() => { await Sort_click(); }, priority: 2));
            ToolbarItems.Add(new ToolbarItem("", "search_icon.xml", () => { ToggleSearchbar(); }, priority: 1));
            StarsListView.ItemAppearing += (sender, e) =>
            {
                //hit bottom!
                if (e.Item == starsView.stars[starsView.stars.Count - 1])
                {
                    starsView.DownloadJson(50);
                    StarsListView.RefreshCommand = new Command(() =>
                    {
                        StarsListView.ItemsSource  = starsView.stars;
                        StarsListView.IsRefreshing = false;
                    });
                }
            };
        }
        public async Task <IViewComponentResult> InvokeAsync(int movieId)
        {
            var movie = await context.Movie.FindAsync(movieId);

            var doubleRating = (int)Math.Round(movie.Rating * 2);

            var model = new StarsViewModel
            {
                Stars      = doubleRating / 2,
                IsHalfStar = doubleRating % 2 == 1
            };

            return(View(model));
        }