internal void DeleteAlbum(AudioAlbumHeader h)
 {
     AudioService.Instance.DeleteAlbum(h.Album.album_id, (Action <BackendResult <object, ResultCode> >)(res => { }));
     EventAggregator.Current.Publish(new AudioAlbumCreatedEditedDeleted()
     {
         Album   = h.Album,
         Created = new bool?()
     });
 }
        public void Handle(AudioAlbumCreatedEditedDeleted message)
        {
            if (message.Album.owner_id != this.UserOrGroupId)
            {
                return;
            }
            bool?created = message.Created;

            if (created.HasValue)
            {
                created = message.Created;
                if (created.Value)
                {
                    int ind = 0;
                    if (this._allAlbums.Collection.Count > 0 && this._allAlbums.Collection.First <AudioAlbumHeader>().Album.album_id == AllAlbumsViewModel.RECOMMENDED_ALBUM_ID)
                    {
                        ++ind;
                    }
                    if (this._allAlbums.Collection.Count > 1 && this._allAlbums.Collection[1].Album.album_id == AllAlbumsViewModel.POPULAR_ALBUM_ID)
                    {
                        ++ind;
                    }
                    this._allAlbums.Insert(new AudioAlbumHeader(message.Album), ind);
                    return;
                }
            }
            created = message.Created;
            if (created.HasValue)
            {
                AudioAlbumHeader audioAlbumHeader = (AudioAlbumHeader)Enumerable.FirstOrDefault <AudioAlbumHeader>(this._allAlbums.Collection, (Func <AudioAlbumHeader, bool>)(a => a.Album.album_id == message.Album.album_id));
                if (audioAlbumHeader == null)
                {
                    return;
                }
                audioAlbumHeader.Title = message.Album.title;
            }
            else
            {
                AudioAlbumHeader audioAlbumHeader = (AudioAlbumHeader)Enumerable.FirstOrDefault <AudioAlbumHeader>(this._allAlbums.Collection, (Func <AudioAlbumHeader, bool>)(a => a.Album.album_id == message.Album.album_id));
                if (audioAlbumHeader == null)
                {
                    return;
                }
                this._allAlbums.Delete(audioAlbumHeader);
            }
        }