public override async Task OnNavigateTo(object parameter) { await base.OnNavigateTo(parameter); try { var session = parameter as EvolveSession; if (session != null) { IsBusy = true; Session = session; VideoDownload = await _downloadManager.GetDownloadForSessionAsync(Session); if (VideoDownload!=null) { VideoDownload.DownloadCompleted += OnVideoCompleted; } } } catch (Exception ex) { // TODO: Log error await _dialogService.ShowMessageAsync("Error", "Is not possible load the item"); _navigationService.GoBack(); } }
private async Task DeleteDownloadAsync() { try { if (HasDownload) { await this._downloadManager.DeleteDownloadAsync(this.VideoDownload); this.VideoDownload = null; } } catch (Exception ex) { await this._logService.LogExceptionAsync(ex); } }
private async Task DownloadVideoAsync() { try { if (!this._networkService.IsOnline) { await this._dialogService.ShowMessageAsync("No internet access", "A network connection is neccessary to download the video"); return; } await _downloadManager.QueueDownloadAsync(Session); VideoDownload = await _downloadManager.GetDownloadForSessionAsync(Session); if (VideoDownload != null) { VideoDownload.DownloadCompleted += OnVideoCompleted; } } catch (Exception ex) { await _dialogService.ShowMessageAsync("Error", "Is not possible download the video"); await this._logService.LogExceptionAsync(ex); } }
public async Task ResumeDownload(IVideoDownload download) { var selected = Downloads.FirstOrDefault(x => x.Id == download.Id); if (selected != null) { await download.ResumeAsync(); await this.SaveDownloasdToStorageAsync(); } }
public async Task DeleteDownloadAsync(IVideoDownload download) { var selected = Downloads.FirstOrDefault(x => x.Id == download.Id); if (selected != null) { await selected.DeleteAsync(); Downloads.Remove(selected); await this.SaveDownloasdToStorageAsync(); } }
private async Task UpdateDownloadsAsync(IVideoDownload download) { var localDownload = this.Downloads.FirstOrDefault(x => x.Id == download.Id); if (localDownload != null) { ////localDownload.Status = download.Status; //localDownload.LocalFileUrl = download.LocalFileUrl; ////localDownload.Percentage = download.Percentage; //localDownload.SessionId = download.SessionId; await SaveDownloasdToStorageAsync(); } }