public void Handle(AudioTrackAddedRemoved message)
        {
            if (!this.IsGroup && this.UserOrGroupId == AppGlobalStateManager.Current.LoggedInUserId)
            {
                Execute.ExecuteOnUIThread(delegate
                {
                    if (message.Added && this.AlbumId == 0)
                    {
                        this.AllTracks.LoadData(true, false, null, false);
                        return;
                    }
                    Func <AudioHeader, bool> arg_5E_1 = (((AudioHeader h) => h.Track.aid == message.Audio.aid));

                    AudioHeader audioHeader = Enumerable.FirstOrDefault <AudioHeader>(this.AllTracks.Collection, arg_5E_1);
                    if (audioHeader != null)
                    {//
                        if (message.IsSavedAudiosAlbum && this.AlbumId != AllAlbumsViewModel.SAVED_ALBUM_ID)
                        {
                            audioHeader.NotifyChanged();
                            return;
                        }//
                        this.AllTracks.Delete(audioHeader);
                    }
                });
            }
        }
        internal async void DeleteAudios(List <AudioHeader> list)//todo:IsSavedAudiosAlbum
        {
            AudioService.Instance.DeleteAudios((List <long>)Enumerable.ToList <long>(Enumerable.Select <AudioHeader, long>(list, (Func <AudioHeader, long>)(a => a.Track.aid))));
            await AudioCacheManager.Instance.ClearCache((IEnumerable <string>) Enumerable.Select <AudioHeader, string>(list, (Func <AudioHeader, string>)(h => h.Track.Id)));

            List <AudioHeader> .Enumerator enumerator = list.GetEnumerator();
            try
            {
                while (enumerator.MoveNext())
                {
                    AudioHeader            current1          = enumerator.Current;
                    EventAggregator        current2          = EventAggregator.Current;
                    AudioTrackAddedRemoved trackAddedRemoved = new AudioTrackAddedRemoved();
                    trackAddedRemoved.Added = false;
                    AudioObj track = current1.Track;
                    trackAddedRemoved.Audio = track;
                    current2.Publish(trackAddedRemoved);
                }
            }
            finally
            {
                enumerator.Dispose();
            }
        }