Example #1
0
        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));
        }
Example #2
0
        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);
        }
Example #3
0
        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));
        }