public void Execute(object parameter) { // Determine the current condition if (parameter is string) { Interlocked.Increment(ref m_executionCount); CanExecuteChanged?.Invoke(this, new EventArgs()); try { var param = (string)parameter; var entity = new CommonBannedEntity(Type, param, m_baseViewModel); switch (Type) { case CommonItemType.Album: Banlist.AlbumMetadataRetrieveBanlist.Add(param); m_baseViewModel.BannedAlbums.Add(entity); break; case CommonItemType.Artist: Banlist.ArtistMetadataRetrieveBanlist.Add(param); m_baseViewModel.BannedArtists.Add(entity); break; } } finally { Interlocked.Decrement(ref m_executionCount); CanExecuteChanged?.Invoke(this, new EventArgs()); } } }
public DeleteCommand(OnlineMetadataSettingsViewModel parentViewModel, CommonBannedEntity entity) { m_parentViewModel = parentViewModel; m_entity = entity; m_executionCount = 0; }