public async Task <MylistItemRemovedEventArgs> RemoveItem(IEnumerable <PlaylistItemToken> items) { List <IVideoContent> successed = new(); List <IVideoContent> failed = new(); foreach (var item in items) { var(_, _, video) = item; var result = await _loginUserMylistProvider.RemoveMylistItem(MylistId, video.VideoId); if (result == ContentManageResult.Success) { successed.Add(video); } else { failed.Add(video); } } var args = new MylistItemRemovedEventArgs() { MylistId = MylistId, SuccessedItems = successed, FailedItems = failed }; MylistItemRemoved?.Invoke(this, args); CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Remove, successed)); return(args); }
public async Task <MylistItemRemovedEventArgs> RemoveItem(IEnumerable <string> items) { List <string> successed = new List <string>(); List <string> failed = new List <string>(); foreach (var videoId in items) { var result = await _loginUserMylistProvider.RemoveMylistItem(Id, videoId); if (result == ContentManageResult.Success) { successed.Add(videoId); } else { failed.Add(videoId); } } var args = new MylistItemRemovedEventArgs() { MylistId = Id, SuccessedItems = successed, FailedItems = failed }; MylistItemRemoved?.Invoke(this, args); return(args); }