Example #1
0
        public async Task <MylistItemAddedEventArgs> AddItem(IEnumerable <IVideoContent> items, string mylistComment = "")
        {
            List <IVideoContent> successed = new();
            List <IVideoContent> failed    = new();

            foreach (var video in items)
            {
                var result = await _loginUserMylistProvider.AddMylistItem(MylistId, video.VideoId, mylistComment);

                if (result != ContentManageResult.Failed)
                {
                    successed.Add(video);
                }
                else
                {
                    failed.Add(video);
                }
            }

            var args = new MylistItemAddedEventArgs()
            {
                MylistId       = MylistId,
                SuccessedItems = successed,
                FailedItems    = failed
            };

            MylistItemAdded?.Invoke(this, args);
            CollectionChanged?.Invoke(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, successed));

            return(args);
        }
Example #2
0
        public async Task <MylistItemAddedEventArgs> AddItem(IEnumerable <string> items, string mylistComment = "")
        {
            List <string> successed = new List <string>();
            List <string> failed    = new List <string>();

            foreach (var videoId in items)
            {
                var result = await _loginUserMylistProvider.AddMylistItem(Id, videoId, mylistComment);

                if (result != ContentManageResult.Failed)
                {
                    successed.Add(videoId);
                }
                else
                {
                    failed.Add(videoId);
                }
            }

            var args = new MylistItemAddedEventArgs()
            {
                MylistId       = Id,
                SuccessedItems = successed,
                FailedItems    = failed
            };

            MylistItemAdded?.Invoke(this, args);

            return(args);
        }