private async void LikeButton_ClickAsync(object sender, RoutedEventArgs e)
        {
            var item = (sender as Button).CommandParameter as MHzSongBase;

            if (item == null)
            {
                return;
            }
            var succeed = await MHzListGroupHelper.AddToRedHeartAsync(item, listid, APIKey, bearer, app_did, item.LikeCount == 0);

            if (succeed)
            {
                if (item.LikeCount == 0)
                {
                    item.LikeCount = 1;
                    ReportHelper.ReportAttentionAsync(GetUIString("Red_Heart_Added"));
                    (sender as Button).Foreground = new SolidColorBrush(Colors.Red);
                }
                else
                {
                    item.LikeCount = 0;
                    ReportHelper.ReportAttentionAsync(GetUIString("Red_Heart_Removed"));
                    (sender as Button).Foreground = new SolidColorBrush(Color.FromArgb(128, 128, 128, 128));
                }
            }
        }
Beispiel #2
0
        private async void DeleteButton_ClickAsync(object sender, RoutedEventArgs e)
        {
            var item = (sender as Button).CommandParameter as SongBase;

            if (item == null)
            {
                return;
            }
            var succeed = await MHzListGroupHelper.AddToRedHeartAsync(item, listid, APIKey, bearer, app_did, false);

            if (!succeed)
            {
                return;
            }
            obse_list.Remove(item);
            ReportHelper.ReportAttentionAsync(GetUIString("Red_Heart_Removed"));
        }
        private async Task <MHzSongBase> InsertSongsToMHzListAsync()
        {
            var songs = await MHzListGroupHelper.FetchMHzSongsAsync(Service.MHzChannelID, api_key, bearer);

            if (songs == null || songs.Count == 0)
            {
                return(null);
            }
            songs.ToList().ForEach(async song => await Service.InsertItemAsync(song));
            if (Service.PlaybackList.Items.Count <= 1)   // more songs to prepare, at least 2.
            {
                var songs_add = await MHzListGroupHelper.FetchMHzSongsAsync(Service.MHzChannelID, api_key, bearer);

                if (songs_add != null && songs_add.Count != 0)
                {
                    songs_add.ToList().ForEach(async song => await Service.InsertItemAsync(song));
                }
            }
            return(songs[0]);
        }