public SnapRelease GetGenesisRelease() { return(HasGenesisRelease() ? Releases?.First() : null); }
/// <summary> /// Start navigate to page. /// </summary> /// <param name="parameter">Parameter.</param> public async void NavigateTo(object parameter) { try { if (m_DisplayRequest == null) { m_DisplayRequest = new DisplayRequest(); } m_DisplayRequest.RequestActive(); } catch { } UpdateVolumeState(m_Volume); if (parameter == null) { if (VideoSource != null) { ChangePlayback(PlaybackState.Play, false); } else { if (m_PlayerRestoreEntity != null && m_PlayerRestoreEntity.ReleaseId > 0) { var release = m_DataContext.GetCollection <ReleaseEntity> ().FirstOrDefault(a => a.Id == m_PlayerRestoreEntity.ReleaseId); if (release != null) { m_RestorePosition = m_PlayerRestoreEntity.VideoPosition; SelectedRelease = MapToReleaseModel(release); SelectedOnlineVideo = SelectedRelease.OnlineVideos?.FirstOrDefault(a => a.Order == m_PlayerRestoreEntity.VideoId); ChangePlayback(PlaybackState.Play, false); if (SelectedRelease != null) { await SaveReleaseWatchTimestamp(SelectedRelease.Id); } } } } } else { var releaseLink = parameter as ReleaseLinkModel; if (releaseLink != null) { var releaseLinkEntity = m_DataContext.GetCollection <ReleaseEntity> ().FirstOrDefault(a => a.Id == releaseLink.ReleaseId); if (releaseLinkEntity != null) { Releases = new List <ReleaseModel> { MapToReleaseModel(releaseLinkEntity) } } ; } else { Releases = parameter as IEnumerable <ReleaseModel>; } var release = Releases.First(); m_ReleaseVideoStateEntity = m_ReleaseStateCollection?.FirstOrDefault(a => a.ReleaseId == release.Id); m_Position = 0; m_RestorePosition = 0; RaisePropertyChanged(() => Position); int onlineVideoIndex = release.PrefferedOpenedVideo == null ? -1 : release.PrefferedOpenedVideo.Order; if (onlineVideoIndex == -1 && m_ReleaseVideoStateEntity != null && m_ReleaseVideoStateEntity.VideoStates != null && m_ReleaseVideoStateEntity.VideoStates.Any()) { onlineVideoIndex = m_ReleaseVideoStateEntity.VideoStates.Max(a => a.Id); var lastVideo = m_ReleaseVideoStateEntity.VideoStates.First(a => a.Id == onlineVideoIndex); m_RestorePosition = lastVideo.LastPosition; } if (release != null) { release.OnlineVideos = release.OnlineVideos?.OrderBy(a => a.Order).ToList() ?? Enumerable.Empty <OnlineVideoModel> (); } SelectedRelease = release; SelectedOnlineVideo = onlineVideoIndex == -1 ? SelectedRelease?.OnlineVideos?.FirstOrDefault() : SelectedRelease?.OnlineVideos?.FirstOrDefault(a => a.Order == onlineVideoIndex); if (SelectedOnlineVideo != null) { ChangePlayback(PlaybackState.Play, false); } if (release != null) { release.PrefferedOpenedVideo = null; await SaveReleaseWatchTimestamp(release.Id); } } ShowPlaylistButton = true; m_AnalyticsService.TrackEvent("OnlinePlayer", "Opened", parameter == null ? "Parameter is null" : "Parameter is populated"); if (SelectedOnlineVideo != null) { ScrollToSelectedPlaylist(); } if (SelectedRelease != null) { FillReleaseVideoState(); var states = m_ReleaseVideoStateEntity.VideoStates?.ToList(); foreach (var onlinevideo in SelectedRelease.OnlineVideos) { onlinevideo.IsSeen = states?.FirstOrDefault(a => a.Id == onlinevideo.Order)?.IsSeen ?? false; } } }