public Task<IVideoDownload> GetDownloadForSessionAsync(EvolveSession session) { var download = Downloads.FirstOrDefault(x => x.SessionId == session.Id); return Task.FromResult(download); }
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(); }