JryVideo.Viewer.VideoViewer.VideoViewerViewModel.WatchSaveAsync C# (CSharp) Méthode

WatchSaveAsync() public méthode

public WatchSaveAsync ( ) : Task
Résultat Task
        public async Task<bool> WatchSaveAsync()
        {
            var manager = this.GetManagers().UserWatchInfoManager;
            var user = await manager.FindAsync(this.InfoView.Source.Id);
            var watched = this.Watcheds.Where(z => z.IsWatched)
                .Select(z => z.Episode)
                .OrderBy(z => z)
                .ToList();
            if (watched.Count == 0)
            {
                if (user.Watcheds != null)
                {
                    user.Watcheds = null;
                    if (await manager.UpdateAsync(user))
                    {
                        this.ShowStatueMessage("watched updated.");
                        return true;
                    }
                }
            }
            else
            {
                if (user.Watcheds?.Count != watched.Count || !watched.SequenceEqual(user.Watcheds))
                {
                    user.Watcheds = watched;
                    if (await manager.UpdateAsync(user))
                    {
                        this.ShowStatueMessage("watched updated.");
                        return true;
                    }
                }
            }

            return false;
        }