public Task<IVideoDownload> GetDownloadForSessionAsync(EvolveSession session)
 {
     var download = Downloads.FirstOrDefault(x => x.SessionId == session.Id);
     return Task.FromResult(download);
 }
示例#2
0
 private void NavigateToSession(EvolveSession session)
 {
     this._navigationService.NavigateTo(PageKey.SessionDetailsPage, session);
 }
        public async Task QueueDownloadAsync(EvolveSession session)
        {
            var url = await _downloaderService.GetDownloadVideoUrlAsync(session.YoutubeID);

            var newDownload = this._videoDownloaderFactory.Create();

            newDownload.SessionId = session.Id;
            newDownload.DownloadUrl = url;
            newDownload.Status = DownloadStatus.Queue;
            newDownload.DownloadCompleted += OnDownloadCompleted;
            newDownload.DownloadStatusChanged += OnStatusChanged;
            newDownload.DownloadProgressChanged += OnProgressChanged;

            newDownload.StartDownlodAsync().FireAndForget();

            Downloads.Add(newDownload);

            await SaveDownloasdToStorageAsync();
        }