private static void SetData(Played played) { if (played == null) { return; } if (played.Data == null) { return; } UserItemDataDto userData = null; if (played.Data is BaseItemDto) { var item = played.Data as BaseItemDto; var type = item.Type; if (type != "Season" && type != "Series" && type != "BoxSet" && item.MediaType != "Video" && item.Type != "MusicAlbum" && item.Type != "MusicArtist") { if (played._unwatchedGrid != null && played._theEllipse != null && played._watchedPath != null) { played._unwatchedGrid.Visibility = item.UserData != null && item.UserData.UnplayedItemCount.HasValue && item.UserData.UnplayedItemCount.Value > 0 ? Visibility.Visible : Visibility.Collapsed; played._theEllipse.Visibility = played._unwatchedGrid.Visibility; if (item.UserData != null) { played._watchedPath.Visibility = item.UserData.Played ? Visibility.Visible : Visibility.Collapsed; } else { played._watchedPath.Visibility = Visibility.Collapsed; } } return; } if (item.MediaType == null || item.MediaType != "Video") { if (played._unwatchedGrid != null && played._watchedPath != null && played._theEllipse != null) { played._unwatchedGrid.Visibility = item.UserData != null && item.UserData.UnplayedItemCount.HasValue && item.UserData.UnplayedItemCount.Value > 0 ? Visibility.Visible : Visibility.Collapsed; played._watchedPath.Visibility = item.UserData != null && item.UserData.Played ? Visibility.Visible : Visibility.Collapsed; played._theEllipse.Visibility = (played._unwatchedGrid.Visibility == Visibility.Visible || played._watchedPath.Visibility == Visibility.Visible) ? Visibility.Visible : Visibility.Collapsed; } return; } userData = item.UserData; } if (played._unwatchedGrid != null && played._theEllipse != null) { played._unwatchedGrid.Visibility = Visibility.Collapsed; played._theEllipse.Visibility = Visibility.Collapsed; } if (played._watchedPath != null && played._theEllipse != null && userData != null) { played._watchedPath.Visibility = userData.Played ? Visibility.Visible : Visibility.Collapsed; played._theEllipse.Visibility = played._watchedPath.Visibility; } }