public async Task <IActionResult> Films() { FilmsViewModel vm = new FilmsViewModel(); var categories = db.FilmCategories.OrderBy(fc => fc.Description).Where(fc => fc.IsViewable && fc.FilmCategoryID != 8).OrderBy(fc => fc.OrderPosition).ToList().Select(fc => new FilmCategoryViewModel() { Category = fc, Films = db.Films.Where(f => fc.FilmCategoryID == f.FilmCategoryID && f.FilmCollectionID == null).OrderBy(f => f.Showing).ToList() }).ToList(); foreach (var cat in categories) { foreach (var film in cat.Films) { film.FilmDetails = db.FilmDetails.Where(fd => fd.FilmID == film.FilmID).FirstOrDefault(); } } vm.Categories = categories; bool loggedIn = CurrentMember != null; ViewBag.LoggedIn = loggedIn; if (loggedIn) { var bookedFilms = db.MemberFilms.Where(mf => mf.MemberID == CurrentMember.MemberID).ToList(); ViewBag.BookedFilms = bookedFilms; } ViewBag.CurrentTime = await GetLocationTime(); return(View(vm)); }
public Films() { InitializeComponent(); var films = new FilmsViewModel(); DataContext = films; }
public ViewResult StartPage() { ViewBag.Title = "FilmFinder"; FilmsViewModel fvm = new FilmsViewModel(); fvm.AddRange(filmsExtractor.AllFilms); return(View(fvm)); }
public new async void IsLoaded(object sender, RoutedEventArgs e) { FilmViewModel = DataContext as FilmsViewModel; await FilmViewModel.InitData(); ShowFilm(); await FilmViewModel.InitGenre(); Genre.SelectedIndex = 0; }
public FilmsPage() { InitializeComponent(); var VM = new FilmsViewModel(); BindingContext = VM; async void PopulatePicker() { await VM.GetFilmsAsync(); } PopulatePicker(); }
private void CreateFilmsList(int page, string genre_filter, string search, string sortby) { var whereStatement = new StringBuilder("WHERE is_rent = 1"); var parameters = new List <NpgsqlParameter>(); if (!string.IsNullOrWhiteSpace(search)) { whereStatement.Append(" AND LOWER(title) LIKE '%' || @title || '%'"); parameters.Add(new NpgsqlParameter("title", search.ToLower())); } if (!string.IsNullOrWhiteSpace(sortby)) { whereStatement.Append(" ORDER BY"); switch (sortby) { case "date": whereStatement.Append(" release_year"); break; case "rating": whereStatement.Append(" raiting"); break; } whereStatement.Append(" DESC"); } var films = FilmViewModelDAO.GetFilms(whereStatement.ToString(), false, parameters.ToArray()); if (!string.IsNullOrWhiteSpace(genre_filter)) { var genres = genre_filter.Split(',') .Select(genre => genre.Trim().ToLower()) .ToHashSet(); films = films .Where(film => film.Genres .Any(genre => genres.Contains(genre))) .ToList(); } var filmsPerPage = 10; var totalPages = films.Count / filmsPerPage + (films.Count % filmsPerPage > 0 ? 1 : 0); FilmsViewModel = new FilmsViewModel( films.Skip(filmsPerPage * (page - 1)).Take(filmsPerPage), page, totalPages); }
public async Task <IActionResult> GetFilms(int pageIndex = 0, PageSize pageSize = PageSize.PS10) { var user = await _userManager.GetUserAsync(this.User); var size = (int)pageSize; var offset = pageIndex * size; var count = await _repository.CountAsync(); var model = new FilmsViewModel() { Films = _repository.GetFilms(offset, size).Select(f => GetFilmViewModel(f, user, false)), PageIndex = pageIndex, PageCount = (int)Math.Ceiling((double)count / size), PageSize = pageSize }; return(View("Films", model)); }
public ViewResult StartPage(string name, string genre, string actor) { ViewBag.Title = "FilmFinder"; FilmsViewModel fvm = new FilmsViewModel(); FilmsViewModel fvm1 = new FilmsViewModel(); FilmsViewModel fvm2 = new FilmsViewModel(); FilmsViewModel fvm3 = new FilmsViewModel(); if (name != null) { fvm1.AddRange(filmsExtractor.FilmsWithName(name)); } else { fvm1.AddRange(filmsExtractor.AllFilms); } if (genre != null) { var genres = genresExtractor.GenresWithName(genre); foreach (var g in genres) { fvm2.AddRange(filmsExtractor.FilmsWithGenre(g).Except(fvm2.Films)); } } else { fvm2.AddRange(filmsExtractor.AllFilms); } if (actor != null) { var actors = actorsExtractor.ActorsWithName(actor); foreach (var a in actors) { fvm3.AddRange(filmsExtractor.FilmsWithActor(a).Except(fvm3.Films)); } } else { fvm3.AddRange(filmsExtractor.AllFilms); } fvm.AddRange(fvm1.Films.Intersect(fvm2.Films.Intersect(fvm3.Films))); return(View(fvm)); }
public async Task <IActionResult> Index(int pageNumber = FilmsCatalogModelsConstants.PAGE_NUMBER, int pageSize = FilmsCatalogModelsConstants.PAGE_SIZE) { var films = await _filmsService.ListFilms(pageNumber, pageSize); foreach (var film in films) { film.IsEditingAllowed = GetIsEditingAllowed(film.CreatedByUserId); } FilmsViewModel model = new FilmsViewModel { Films = films, IsAuthenticated = User.Identity.IsAuthenticated, PageNumber = pageNumber, PageSize = pageSize, AllCount = await _filmsService.GetAllFilmsCount() }; return(base.View(model)); }
// GET: Film public ActionResult FilmIndex(int page = 1) { var films = _repository.GetFilms(); IEnumerable <Film> filmsOnPage = films.Skip((page - 1) * _pageSize).Take(_pageSize); bool flPrevPages = false; bool flNextPages = true; int pageCount = (int)Math.Ceiling((decimal)films.Count() / _pageSize); int beginPageNumber = ((page - 1) / _pageTotalOnView) * _pageTotalOnView + 1; int endPageNumber = beginPageNumber + _pageTotalOnView - 1; if (beginPageNumber > _pageTotalOnView) { flPrevPages = true; } if (endPageNumber > pageCount) { endPageNumber = pageCount; } if (endPageNumber == pageCount) { flNextPages = false; } var filmsViewModel = new FilmsViewModel { Title = "Список фильмов", Films = filmsOnPage, PageInfo = new PageInfo() { PageActiveNumber = page, BeginPageNumber = beginPageNumber, EndPageNumber = endPageNumber, FlPrevPages = flPrevPages, FlNextPages = flNextPages } }; return(View("FilmIndex", filmsViewModel)); }
public async Task <IActionResult> FilmsInfo(int ID) { var status = false; var username = User.Identity.Name; if (username != null) { var user = await _userManager.FindByNameAsync(username); var profile = await _profileService.GetProfileByUserId(user.Id); status = await _filmsService.CheckAddFilm(ID, profile); } var FilmInfo = await _IApiService.GetInfoFilmsAsync(ID); var pic = "https://image.tmdb.org/t/p/w500" + FilmInfo.poster_path; if (FilmInfo.poster_path == null) { pic = "/img/noposter.jpg"; } var FilmInfoModel = new FilmsViewModel { FilmsName = FilmInfo.title, Duration = FilmInfo.overview, //Premiere = FilmInfo.release_date, Budget = FilmInfo.budget, Picture = pic, Id = ID, Button = status }; return(View(FilmInfoModel)); }
public FilmsView() { InitializeComponent(); BindingContext = new FilmsViewModel(this); }
public FilmsView() { InitializeComponent(); DataContext = new FilmsViewModel(); }
public FilmsPage() { InitializeComponent(); BindingContext = viewModel = new FilmsViewModel(); }
private async void Page_Loaded(object sender, RoutedEventArgs e) { _filmViewModel = DataContext as FilmsViewModel; await _filmViewModel.LoadFilms(); }
public void SetUp() { _pageService = new Mock <IPageService>(); _filmsViewModel = new FilmsViewModel(_pageService.Object); }
public ActionResult FilmTable(int page = 1, int type = 1) { var films = _repository.GetFilms(); IEnumerable <Film> filmsOnPage = films.Skip((page - 1) * _pageSize).Take(_pageSize); bool flPrevPages = false; bool flNextPages = true; int pageCount = (int)Math.Ceiling((decimal)films.Count() / _pageSize); int beginPageNumber = ((page - 1) / _pageTotalOnView) * _pageTotalOnView + 1; int endPageNumber = beginPageNumber + _pageTotalOnView - 1; if (beginPageNumber > _pageTotalOnView) { flPrevPages = true; } if (endPageNumber > pageCount) { endPageNumber = pageCount; } if (endPageNumber == pageCount) { flNextPages = false; } //var fFilmsName = filmsOnPage.Select(f => f.Name); var filmsViewModel = new FilmsViewModel { Title = "Список фильмов", Films = filmsOnPage, FilmsName = filmsOnPage.Select(f => f.Name), PageInfo = new PageInfo() { PageActiveNumber = page, BeginPageNumber = beginPageNumber, EndPageNumber = endPageNumber, FlPrevPages = flPrevPages, FlNextPages = flNextPages } }; var filmsViewModelMin = new { Title = "Список фильмов", Films = filmsOnPage.Select(f => f.Name), PageInfo = new PageInfo() { PageActiveNumber = page, BeginPageNumber = beginPageNumber, EndPageNumber = endPageNumber, FlPrevPages = flPrevPages, FlNextPages = flNextPages } }; if (type == 1) { return(View("FilmIndex", filmsViewModel)); } if (type == 2) { return(PartialView(filmsViewModel)); } if (type == 3) { return(Json(filmsViewModelMin, JsonRequestBehavior.AllowGet)); } //if (type == 3) return Json(filmsOnPage.Select(f => f.Name), JsonRequestBehavior.AllowGet); return(RedirectToAction("Index", "Home")); }
public Films() { BindingContext = new FilmsViewModel(new PageService()); InitializeComponent(); FilmsViewModel.DisplayFilmsListCommand.Execute(null); }