public async Task <ActionResult> ShowFilm(int id) { Film film = db.Films.Where(f => f.FilmID == id).FirstOrDefault(); film.FilmDetails = db.FilmDetails.Where(fd => fd.FilmID == id).FirstOrDefault(); if (film == null) { return(RedirectToAction("NoSuchFilm")); } bool blocked = await IsBlocked(id); if (blocked) { return(RedirectToAction("GeoBlocked")); } MemberFilm memberFilm = db.MemberFilms.Where(mf => mf.FilmID == id && mf.MemberID == CurrentMember.MemberID).FirstOrDefault(); if (memberFilm == null) { return(RedirectToAction("NotBooked")); } string token = memberFilm.Token; if (token == null) { token = GetMemberFilmToken(memberFilm.FilmID, memberFilm.MemberID); } ShowFilmViewModel vm = new ShowFilmViewModel() { FilmID = film.FilmID, MemberID = CurrentMember.MemberID, Film = film, Token = token, Source = film.Source }; film.Watched++; db.SaveChanges(); return(View(vm)); }
private bool BookPurchase(int FilmID) { int memberID = CurrentMember.MemberID; Film film = db.Films.Include(f => f.FilmCollection).Where(f => f.FilmID == FilmID).First(); film.Booked++; if (film.FilmCollection != null) { FilmID = film.FilmCollection.FilmID; } MemberFilm memberFilm = db.MemberFilms.Where(mf => mf.FilmID == FilmID && mf.MemberID == memberID).FirstOrDefault(); if (memberFilm != null && memberFilm.Token != null) { return(true); } if (memberFilm != null && memberFilm.Token == null) { db.MemberFilms.Remove(memberFilm); db.SaveChanges(); } MemberFilm mf = new MemberFilm() { FilmID = FilmID, MemberID = memberID }; db.MemberFilms.Add(mf); db.SaveChanges(); try { GetMemberFilmToken(FilmID, memberID); } catch { } return(false); }
public ActionResult Questionnaire(int filmID, int memberID) { MemberFilm mf = db.MemberFilms.Where(x => x.FilmID == filmID && x.MemberID == memberID).FirstOrDefault(); Film film = db.Films.Find(filmID); Member member = db.Members.Find(memberID); var aspUser = db.Users.Find(member.ASPID); bool isCollection = false; if (film.Title == "Collection") { isCollection = true; } Questionnaire q = new Questionnaire() { FilmID = filmID, MemberID = memberID, IsCollection = isCollection, FilmTitle = film.Title, Email = aspUser.Email }; if (isCollection) { var coll = db.FilmCollections.Where(c => c.FilmID == filmID).First(); var films = db.Films.Where(f => f.FilmCollectionID == coll.FilmCollectionID && f.FilmID != filmID).ToList(); q.FilmTitle = coll.Name; q.Films = films; } List <ScaleViewModel> scales = new List <ScaleViewModel>(); for (int i = 1; i < 11; i++) { scales.Add(new ScaleViewModel() { Value = i, Text = i.ToString() }); } ViewBag.Scales = scales; List <ScaleViewModel> from = new List <ScaleViewModel>() { new ScaleViewModel() { Value = 0, Text = "Ramsgate" }, new ScaleViewModel() { Value = 1, Text = "Kent" }, new ScaleViewModel() { Value = 2, Text = "UK" }, new ScaleViewModel() { Value = 3, Text = "Europe" }, new ScaleViewModel() { Value = 4, Text = "Americas" }, new ScaleViewModel() { Value = 5, Text = "Asia" }, new ScaleViewModel() { Value = 6, Text = "Africa" }, new ScaleViewModel() { Value = 7, Text = "Oceania" } }; ViewBag.Locations = from; List <ScaleViewModel> gender = new List <ScaleViewModel>() { new ScaleViewModel() { Value = 0, Text = "Male" }, new ScaleViewModel() { Value = 1, Text = "Female" }, new ScaleViewModel() { Value = 2, Text = "Transgender" }, new ScaleViewModel() { Value = 3, Text = "Non-binary" }, new ScaleViewModel() { Value = 4, Text = "Prefer no answer" } }; ViewBag.Gender = gender; List <ScaleViewModel> ages = new List <ScaleViewModel>() { new ScaleViewModel() { Value = 0, Text = "8 to 14" }, new ScaleViewModel() { Value = 1, Text = "15 to 18" }, new ScaleViewModel() { Value = 2, Text = "19 to 25" }, new ScaleViewModel() { Value = 3, Text = "26 to 45" }, new ScaleViewModel() { Value = 4, Text = "46 to 65" }, new ScaleViewModel() { Value = 4, Text = "Over 65" } }; ViewBag.Ages = ages; return(View(q)); }