public IActionResult Index() { var currentUserId = this._signInManager.UserManager.GetUserId(HttpContext.User); // selects non approved media var MediaList = _mediaService.GetAllMedia().Where(m => m.IsPublic != true); // maps to listviewmodel var mediaListViewModel = new List <MediaListViewModel>(); foreach (var med in MediaList) { var model = new MediaListViewModel() { Id = med.Id, Photo = med.Photo, Titel = med.Titel, IsChecked = false, AddedByMediaUserName = med.MediaUser.UserName }; mediaListViewModel.Add(model); } var MediaOverviewVM = new MediaOverviewViewModel() { UnApprovedMediaList = mediaListViewModel }; return(View(MediaOverviewVM)); }
public async Task <IActionResult> Index() { List <MediaListViewModel> XpList = new List <MediaListViewModel>(); IEnumerable <Media> medias = await _dbContext.medias.Include(x => x.Category).ToListAsync(); IEnumerable <Media> sortedmedias = medias.OrderBy(x => x.Date); var media = new MediaEditViewModel(); foreach (var thing in sortedmedias) { MediaListViewModel Xp = new MediaListViewModel() { Id = thing.Id, Category = thing.Category.Name, Title = (string)thing.Title, Description = (string)thing.Description, Creator = (string)thing.Creator, Date = (DateTime)thing.Date, Rating = (int)thing.Rating, PhotoUrl = thing.PhotoUrl, Watched = thing.Watched }; XpList.Add(Xp); } return(View(XpList)); }
public ImageViewModel(Media media) { CurrentMedia = media; CurrentUser = CurrentMedia.user; RelatedMedia = new UserMedia(CurrentUser); Init(); }
public async Task <IActionResult> MediaList(MediaFilter filter) { filter.UserId = User.Identity.GetNameIdGuid(); MediaListViewModel mediaList = await _mediaListViewModelService.CreateViewModel(filter); return(View(mediaList)); }
// GET: Media/Search public ActionResult Search() { var model = new MediaListViewModel(); model.Medias = MediaService.GetAll(); return(View(model)); }
public void SetCollection(MediaListCollection collection) { SetContentView(Resource.Layout.Activity_MediaLists); _collection = collection; var pagerAdapter = new FragmentlessViewPagerAdapter(); _recyclerAdapters = new List <MediaListRecyclerAdapter>(); var listOrder = GetListOrder(); var orderedLists = !listOrder.Any() ? _collection.Lists : _collection.Lists.Where(x => listOrder.All(y => y.Key != x.Name) || listOrder.FirstOrDefault(y => y.Key == x.Name).Value) .OrderBy(x => listOrder.FindIndex(y => y.Key == x.Name)).ToList(); _currentSort = Presenter.GetMediaListSortType(_mediaType); _currentSortDirection = Presenter.GetMediaListSortDirection(_mediaType); if (_currentSort != MediaListSortComparer.MediaListSortType.NoSort) { _collection.Lists.ForEach(list => list.Entries.Sort(new MediaListSortComparer(_currentSort, _currentSortDirection))); } foreach (var statusList in orderedLists) { if (statusList.Entries?.Any() != true) { continue; } var adapter = new MediaListRecyclerAdapter(this, statusList, Presenter.GetCardType(), item => MediaListViewModel.CreateViewModel(item, _collection.User.MediaListOptions.ScoreFormat, Settings.DisplayUpcomingEpisodeTimeAsCountdown, Settings.MediaListProgressDisplay, true, Settings.ShowEpisodeAddButtonForRepeatingMedia), Presenter.GetMediaListItemViewType(), Presenter.GetHighlightPriorityItems(), Presenter.GetUseLongClickForEpisodeAdd()); adapter.SetFilter(_filterModel); _recyclerAdapters.Add(adapter); var listView = LayoutInflater.Inflate(Resource.Layout.View_List, null); listView.FindViewById <RecyclerView>(Resource.Id.List_RecyclerView).SetAdapter(adapter); pagerAdapter.AddView(listView, statusList.Name); } _viewPager.Adapter = pagerAdapter; _tabLayout.SetupWithViewPager(_viewPager); SetupToolbar(_collection.User.Name); }
public static MediaListViewModel CreatePopularProducts(this IRepository repository, Guid?pageId) { var viewModel = new MediaListViewModel(); viewModel.Title = StringResource.NavBar_PopularProducts; viewModel.Items = repository.GetProductsByPopularity(3).Select(product => new MediaItemViewModel { Name = product.Name, Link = new NavigationLink { PageId = product.VersionId, ActionName = "Page", ControllerName = "Main" }, ImageThumbnailId = product.MainImageId }) .ToList(); return(viewModel); }
public MediaItemViewModel(MediaListViewModel listViewModel, MediaItem mediaItem) { this.listViewModel = listViewModel; MediaItem = mediaItem; RaisePropertyChanged("Title"); // This app caches all images by loading the BitmapImage // when the item is created, but production apps would // use a more resource friendly paging mechanism or // just use PreviewImageUri directly. // // The reason we cache here is to avoid audio gaps // between tracks on transitions when changing artwork. PreviewImage = new BitmapImage(); PreviewImage.UriSource = mediaItem.PreviewImageUri; }
public MediaPlayerView() { // Inicializa los componentes InitializeComponent(); // Inicializa el DataContext grdView.DataContext = ViewModel = new MediaListViewModel(); FormView = new BaseFormView(ViewModel); // Crea el temporizador _tmrTimer = new System.Timers.Timer(TimeSpan.FromSeconds(2).TotalMilliseconds); _tmrTimer.Elapsed += (sender, args) => Dispatcher.Invoke(new Action(() => UpdateProgressBar()), null); // Asigna los manejadores de eventos //Unloaded += (sender, args) => StopPlay(); ViewModel.Play += (sender, args) => EnqueFiles(args.Files); ViewModel.Stop += (sender, args) => StopPlay(); // Asocia los manejadores de eventos del mediaplayer _mediaPlayer.MediaEnded += (sender, args) => PlayNext(); _mediaPlayer.MediaOpened += (sender, args) => ShowProgressBar(); }
public IEnumerable <IPublishedContent> OverviewNested(MediaListViewModel model) { var viewModel = model.ViewModel; var overwritePicker = viewModel.GetPropertyValue("overviewOverwriterPicker", Enumerable.Empty <IPublishedContent>()); var rootPicker = viewModel.GetPropertyValue("overviewRootPicker", Enumerable.Empty <IPublishedContent>()); if (rootPicker != null && rootPicker.Any()) { var children = rootPicker .First() .Children .Where(x => x.IsVisible() && x.DocumentTypeAlias.Equals("gridPage")) .OrderByDescending(x => x.GetPropertyValue("date", x.CreateDate)); var joinedList = overwritePicker.Concat(children).DistinctBy(x => x.Id); return(joinedList); } return(Enumerable.Empty <IPublishedContent>()); }
public ActionResult GetPage(MediaListViewModel model) { ModelState.Clear(); var result = Enumerable.Empty <IPublishedContent>(); var pageQueryString = Umbraco.GetQueryString("p", string.Empty); result = model.RenderMethod != RenderListMethod.Default ? GetSearchTypeMethod(model.RenderMethod.ToString(), this, new object[] { model }) : model.MediaList; model.MediaList = result; //If items per page isn't initiated, render the full result if (model.ItemsPerPage == 0) { model.ItemsPerPage = model.MediaList.Count(); } model.Page = model.Page <= 0 ? 1 : model.Page + 1; model.TotalPages = Math.Ceiling((decimal)result.Count() / model.ItemsPerPage); if (!string.IsNullOrEmpty(pageQueryString) && model.InitialLoad) { model.MediaList = model.MediaList.Take(model.ItemsPerPage * int.Parse(pageQueryString)); } else { model.MediaList = model.MediaList.Skip(model.Skips).Take(model.ItemsPerPage); } if (model.MediaList != null && model.MediaList.Any()) { return(PartialView($"Components/_{model.RenderPartialView}", model)); } return(PartialView("_EmptySearchResult", model)); }
public async Task <MediaListViewModel> CreateViewModel(MediaFilter filter) { var media = await _physicalMediaRepository.ListAsync(new PhysicalMediaMovieSpecification(filter)); var discTypes = await _discTypeRepository.ListAllAsync(); var watched = await _watchedRepository.ListAllAsync(); var genres = await _genreRepository.ListAllAsync(); var viewModel = new MediaListViewModel { MediaType = filter.MediaType, Filter = filter, Genres = genres.ToList(), DiscTypes = discTypes.ToList(), PhysicalMedia = media.ToList() }; //foreach (var item in viewModel.Media) //{ // item.DiscType = discTypes.SingleOrDefault(d => d.DiscTypeId == item.DiscTypeId); // item.WatchedList = watched.Where(w => w.ImdbId == item.ImdbId).ToList(); //} if (filter.FilteredGenreId != null && filter.FilteredGenreId.Count > 0) { var mediaGenres = await _mediaGenreRepository.ListAsync(new MediaGenreSpecification(filter.FilteredGenreId)); var extraGenres = await _extraGenreRepository.ListAsync(new ExtraGenreSpecification(filter.FilteredGenreId)); viewModel.PhysicalMedia = viewModel.PhysicalMedia.Where(m => (mediaGenres.Select(mg => mg.MediaId)).Contains(m.MediaId) || (extraGenres.Select(mg => mg.PhysicalMediaId)).Contains(m.PhysicalMediaId)).ToList(); } return(viewModel); }
public void Dispose() { if (disposed) return; if (MediaList != null) { MediaList.Dispose(); MediaList = null; // Setter triggers vector unsubscribe logic } PlaybackSession.Dispose(); disposed = true; }
public MediaPage() { InitializeComponent(); BindingContext = model = new MediaListViewModel(); }
private View GetMediaListCollectionView() { var mediaCollectionView = LayoutInflater.Inflate(Resource.Layout.Fragment_MediaLists, null); var pagerAdapter = new FragmentlessViewPagerAdapter(); _recyclerAdapters = new List <MediaListRecyclerAdapter>(); var listOrder = GetListOrder(); var orderedLists = _collection.Lists .Where(x => listOrder.FirstOrDefault(y => y.Key == x.Name).Value) .OrderBy(x => listOrder.FindIndex(y => y.Key == x.Name)).ToList(); _currentSort = Presenter.GetMediaListSortType(_type); _currentSortDirection = Presenter.GetMediaListSortDirection(_type); if (_currentSort != MediaListSortComparer.MediaListSortType.NoSort) { _collection.Lists.ForEach(list => list.Entries.Sort(new MediaListSortComparer(_currentSort, _currentSortDirection))); } foreach (var statusList in orderedLists) { if (statusList.Entries?.Any() != true) { continue; } var adapter = new MediaListRecyclerAdapter(Activity, statusList, Presenter.GetCardType(), item => MediaListViewModel.CreateViewModel(item, _collection.User.MediaListOptions.ScoreFormat, Presenter.GetDisplayTimeUntilAiringAsCountdown(), Presenter.GetProgressDisplayType(), false, Presenter.GetShowEpisodeAddButtonForRepeatingMedia()), Presenter.GetMediaListItemViewType(), Presenter.GetHighlightPriorityItems(), Presenter.GetUseLongClickForEpisodeAdd(), async(viewModel, callback) => { if (viewModel.Model.Progress + 1 == (viewModel.Model.Media.Episodes ?? viewModel.Model.Media.Chapters)) { EditMediaListItemDialog.Create(Activity, Presenter, viewModel.Model.Media, viewModel.Model, _collection.User.MediaListOptions, true); } else { await Presenter.IncreaseMediaProgress(viewModel.Model); } callback?.Invoke(); }) { LongClickAction = (viewModel, position) => EditMediaListItemDialog.Create(Activity, Presenter, viewModel.Model.Media, viewModel.Model, _collection.User.MediaListOptions) }; adapter.SetFilter(_filterModel); _recyclerAdapters.Add(adapter); var listView = LayoutInflater.Inflate(Resource.Layout.View_SwipeRefreshList, null); listView.FindViewById <RecyclerView>(Resource.Id.List_RecyclerView).SetAdapter(adapter); pagerAdapter.AddView(listView, statusList.Name); var swipeRefreshLayout = listView.FindViewById <SwipeRefreshLayout>(Resource.Id.List_SwipeRefreshLayout); if (Presenter.GetUseSwipeToRefreshOnMediaLists()) { swipeRefreshLayout.Enabled = true; swipeRefreshLayout.Refresh += (sender, e) => { _collection = null; RecreateFragment(); if (sender is SwipeRefreshLayout refreshLayout) { refreshLayout.Refreshing = false; } }; } else { swipeRefreshLayout.Enabled = false; } } var viewPagerView = mediaCollectionView.FindViewById <ViewPager>(Resource.Id.MediaLists_ViewPager); viewPagerView.Adapter = pagerAdapter; mediaCollectionView.FindViewById <TabLayout>(Resource.Id.MediaLists_Tabs).SetupWithViewPager(viewPagerView); return(mediaCollectionView); }
public ImageViewModel(User user) { RelatedMedia = new UserMedia(user); CurrentUser = user; Init(); }
public MediaListPage() { InitializeComponent(); BindingContext = _viewModel = App.Current.Services.GetService <MediaListViewModel>(); }