Exemple #1
0
        public ActionResult DoEdit([ModelBinder(typeof(UserModelBinder))] User user, Guid id, HttpPostedFileBase file, FilmInput input)
        {
            var data = FilmsDao.GetFilmWithFullInfo(id);

            input.CopyToData(data, file, CountriesDao, GenresDao, DirectorsDao, ActorsDao);
            FilmsDao.Update(data);

            if (user.HasFavourite(id))
            {
                user.FavFilms.RemoveAll(f => f.ID == id);

                user.FavFilms.Add(data);

                var cookie = new HttpCookie(nameof(User))
                {
                    Value   = JsonConvert.SerializeObject(user),
                    Expires = DateTime.Now.AddYears(1),
                    Path    = "/"
                };

                Response.Cookies.Add(cookie);
            }

            return(RedirectToAction("Index"));
        }
 public ActionResult Create()
 {
     return(View(new ActorInfoContainer()
     {
         AvailableFilms = FilmsDao.FindAll(),
         Countries = CountriesDao.FindAll().OrderBy(c => c.Name)
     }));
 }
Exemple #3
0
        public ActionResult DoCreate(HttpPostedFileBase file, FilmInput input)
        {
            var film = input.CreateFilm(file, CountriesDao, ActorsDao, DirectorsDao, GenresDao);

            FilmsDao.Add(film);

            return(RedirectToAction("Index"));
        }
Exemple #4
0
 // GET: Films
 public ActionResult Index([ModelBinder(typeof(UserModelBinder))] User user)
 {
     return(View(FilmsDao.FindAllWithGenres()
                 .Select(f => new FilmView(f)
     {
         IsFav = user.HasFavourite(f.ID)
     })
                 .OrderBy(f => f.Title)));
 }
Exemple #5
0
        public ActionResult Delete([ModelBinder(typeof(UserModelBinder))] User user, Guid id)
        {
            var film = FilmsDao.GetFilmWithFullInfo(id);

            return(View(new FilmView(film)
            {
                IsFav = user.HasFavourite(id)
            }));
        }
        public ActionResult Edit(Guid id)
        {
            var actor = ActorsDao.GetActorWithFilms(id);

            return(View(new ActorInfoContainer()
            {
                Actor = new ActorView(actor),
                AvailableFilms = FilmsDao.GetFilmsWithoutActor(actor.ID),
                Countries = CountriesDao.FindAll().OrderBy(c => c.Name)
            }));
        }
Exemple #7
0
 //GET: Films/Top100
 public ActionResult Top100([ModelBinder(typeof(UserModelBinder))] User user)
 {
     return(View(FilmsDao.FindAll()
                 .OrderByDescending(f => f.IMDbRating)
                 .Take(100)
                 .Select(f => new FilmView(f)
     {
         IsFav = user.HasFavourite(f.ID)
     })
                 .ToList()));
 }
        public ActionResult Edit(Guid id)
        {
            var director = DirectorsDao.GetDirectorAndFilms(id);

            return(View(new DirectorInfoContainer()
            {
                Director = new DirectorView(director),
                AvailableFilms = FilmsDao.GetFilmsWithoutDirector(director.ID),
                Countries = CountriesDao.FindAll().OrderBy(c => c.Name)
            }));
        }
Exemple #9
0
        public ActionResult Edit(Guid id)
        {
            var film = FilmsDao.GetFilmWithFullInfo(id);

            return(View(new FilmInfoContainer()
            {
                Film = new FilmView(film),
                AvailableActors = ActorsDao.GetActorsWithoutFilm(film.ID),
                AvailableDirectors = DirectorsDao.FindAll(),
                AvailableGenres = GenresDao.GetGenresWithoutFilm(film.ID)
            }));
        }
Exemple #10
0
        // GET: Home/Search
        public ActionResult Search(FilmsSearchInfoContainer info)
        {
            var settings = new FilmsSearchSettings()
            {
                IncludeGenresIDs = info.IncludeGenres,
                IncludeActorsIDs = info.IncludeActors,
                ExcludeActorsIDs = info.ExcludeActors,
                ExcludeGenresIDs = info.ExcludeGenres,
                Query            = info.Query
            };

            return(View(FilmsDao.SearchFilmsWithSettings(settings)
                        .Select(f => new FilmView(f))
                        .OrderBy(f => f.Title)));
        }
Exemple #11
0
        public ActionResult AddToFav([ModelBinder(typeof(UserModelBinder))] User user, Guid id)
        {
            var film = FilmsDao.Find(id);

            user.FavFilms.Add(film);

            var cookie = new HttpCookie(nameof(User))
            {
                Value   = JsonConvert.SerializeObject(user),
                Expires = DateTime.Now.AddYears(1),
                Path    = "/"
            };

            Response.Cookies.Add(cookie);

            return(RedirectToAction("Index", "Films"));
        }
Exemple #12
0
        // GET: Home
        public ActionResult Index([ModelBinder(typeof(UserModelBinder))] User user)
        {
            var info = new FilmsSearchInfoBase()
            {
                Genres = GenresDao.FindAll()
                         .OrderBy(g => g.Name),
                Actors = ActorsDao.FindAll()
                         .Select(a => new ActorView(a))
                         .OrderBy(a => a.FullName)
                         .ToList(),
                FilmsDefaultView = FilmsDao.FindAllWithGenres()
                                   .Select(f => new FilmView(f)
                {
                    IsFav = user.HasFavourite(f.ID)
                })
                                   .OrderByDescending(f => f.ReleaseDate)
            };

            return(View(info));
        }
Exemple #13
0
        public ActionResult DoDelete([ModelBinder(typeof(UserModelBinder))] User user, Guid id)
        {
            var toRemove = FilmsDao.Find(id);

            if (user.HasFavourite(id))
            {
                user.FavFilms.RemoveAll(f => f.ID == id);

                var cookie = new HttpCookie(nameof(User))
                {
                    Value   = JsonConvert.SerializeObject(user),
                    Expires = DateTime.Now.AddYears(1),
                    Path    = "/"
                };

                Response.Cookies.Add(cookie);
            }

            FilmsDao.Delete(toRemove);
            return(RedirectToAction("Index"));
        }
Exemple #14
0
 // GET: Films/Search
 public ActionResult Search(string q)
 {
     return(View(FilmsDao.SearchFilmsByTitle(q)
                 .Select(f => new FilmView(f))
                 .OrderBy(f => f.Title)));
 }