public IActionResult UpdateFilm(int filmid)
        {
            FilmItem film = context.Films.Where(f => f.FilmId == filmid).FirstOrDefault();

            ViewBag.film = film;
            return(View());
        }
예제 #2
0
        public static FilmItem AddFilmItem(string text, int id, string Category)
        {
            bool     check2 = false;
            var      attach = Registration.unit.Attachments.Get(a => a.FilmsId == id && a.UsersID == user.Id).FirstOrDefault();
            FilmItem item   = new FilmItem(text, id, check2, user.Id)
            {
                Margin = new Thickness(10, 10, 10, 0),
                HorizontalAlignment = HorizontalAlignment.Stretch
            };

            if (Category == "TopFilms")
            {
                sp_TopFilms.Children.Add(item);
            }
            if (Category == "NewFilms")
            {
                sp_NewFilms.Children.Add(item);
            }

            if (attach != null)
            {
                FilmItem item2 = new FilmItem(text, id, true, user.Id)
                {
                    Margin = new Thickness(10, 10, 10, 0),
                    HorizontalAlignment = HorizontalAlignment.Stretch
                };

                if (attach.FavoriteFilm == true)
                {
                    sp_MyFilms.Children.Add(item2);
                }
            }
            return(item);
        }
예제 #3
0
        public static List <Episode> GetRecentlyAiredEpisodes(MovieContext _ctx, FilmItem item)
        {
            var threeRecentEpisodes = _ctx.Episodes.Where(e => e.Discriminator == "Episode")
                                      .Where(e => e.Slug == item.Slug)
                                      .OrderByDescending(e => e.ReleaseDate)
                                      .Take(3)
                                      .ToList();

            return(threeRecentEpisodes);
        }
예제 #4
0
        public static void SaveFilmItemCredits(MovieContext _ctx, FilmItem filmItem, Person person, int partType, string character)
        {
            character = (string.IsNullOrWhiteSpace(character) ? null : character);
            var personAlreadyCreditedInDepartment = _ctx.FilmItemCredits.Where(p => p.Person == person).Where(f => f.FilmItem == filmItem).Where(fic => fic.PartType == (PartType)partType).FirstOrDefault();

            if (personAlreadyCreditedInDepartment == null)
            {
                SaveFilmItemMember(_ctx, filmItem, person, partType, character);
            }
        }
예제 #5
0
        private void AddFilm(int id, MigrationBuilder migrationBuilder, GetRequest <FilmItem> client)
        {
            FilmItem film = client.GetById(id).GetAwaiter().GetResult();

            migrationBuilder.InsertData(
                table: "Films",
                columns: new string[] { "id", "title", "opening_crawl", "director", "producer", "release_date", },
                values: new object[] { id, film.title, film.opening_crawl, film.director, film.producer, film.release_date }
                );
        }
예제 #6
0
        public static void SaveFilmItemGenres(MovieContext _ctx, FilmItem filmItem, string genre)
        {
            FilmItemGenre sg = new FilmItemGenre()
            {
                FilmItem = filmItem,
                GenreId  = Int32.Parse(genre)
            };

            _ctx.FilmItemGenres.Add(sg);
            _ctx.SaveChanges();
        }
예제 #7
0
        public void AddFilmItemToHistory(FilmItem filmItem, string user, DateTime watchedOnDate)
        {
            UserWatchedFilmItemOn userWatchedOn = new UserWatchedFilmItemOn
            {
                ApplicationUserId = user,
                FilmItem          = filmItem,
                WatchedOn         = watchedOnDate
            };

            _context.UserWatching.Add(userWatchedOn);
            _context.SaveChanges();
        }
 public IActionResult FilmSubmission(FilmItem film)
 {
     if (ModelState.IsValid)
     {
         context.Films.Add(film);
         context.SaveChanges();
         return(View("Confirmation", film));
     }
     else
     {
         return(View());
     }
 }
예제 #9
0
        public static void SaveFilmItemMember(MovieContext _ctx, FilmItem filmItem, Person person, int partType, string character)
        {
            FilmItemCredits fic = new FilmItemCredits
            {
                FilmItem  = filmItem,
                Person    = person,
                Character = character,
                PartType  = (PartType)partType
            };

            _ctx.FilmItemCredits.Add(fic);
            _ctx.SaveChanges();
        }
예제 #10
0
        public static int ListHavingFilmItem(List <List> lists, FilmItem filmItem)
        {
            var listsHavingFilmItem = 0;

            foreach (var list in lists)
            {
                foreach (var listItem in list.ListItems)
                {
                    if (listItem.FilmItemId == filmItem.Id)
                    {
                        listsHavingFilmItem++;
                    }
                }
            }

            return(listsHavingFilmItem);
        }
예제 #11
0
        public void AddFilmItemChildrenToHistory(FilmItem item, string user, DateTime watchedOnDate)
        {
            var filmItemChildren = new List <FilmItem>();

            if (item.Discriminator == "Series")
            {
                filmItemChildren = _context.FilmItem.Where(f => f.Slug == item.Slug).ToList();
            }
            else if (item.Discriminator == "Season")
            {
                filmItemChildren = _context.FilmItem.Where(f => f.Slug == item.Slug).Where(f => f.Season_SeasonNumber == item.Season_SeasonNumber || f.Episode_SeasonNumber == item.Season_SeasonNumber).ToList();
            }

            foreach (var filmItemChild in filmItemChildren)
            {
                AddFilmItemToHistory(filmItemChild, user, watchedOnDate);
            }
        }
예제 #12
0
        public void AlterFilmItemAverage(FilmItem filmItem, int rating)
        {
            _context.Attach(filmItem);
            if (filmItem.VoteCount == null && filmItem.VoteAverage == null)
            {
                filmItem.VoteCount   = 1;
                filmItem.VoteAverage = rating;
            }
            else
            {
                var totalRating = filmItem.VoteAverage * filmItem.VoteCount;
                filmItem.VoteCount++;
                filmItem.VoteAverage = (totalRating + rating) / filmItem.VoteCount;
            }

            filmItem.UpdatedAt = DateTime.Now;
            _context.SaveChanges();
        }
 public IActionResult UpdateFilm(FilmItem film, int filmid)
 {
     if (ModelState.IsValid)
     {
         context.Films.Where(f => f.FilmId == filmid).FirstOrDefault().Title    = film.Title;
         context.Films.Where(f => f.FilmId == filmid).FirstOrDefault().Year     = film.Year;
         context.Films.Where(f => f.FilmId == filmid).FirstOrDefault().Director = film.Director;
         context.Films.Where(f => f.FilmId == filmid).FirstOrDefault().Rating   = film.Rating;
         context.Films.Where(f => f.FilmId == filmid).FirstOrDefault().Edited   = film.Edited;
         context.Films.Where(f => f.FilmId == filmid).FirstOrDefault().LentTo   = film.LentTo;
         context.Films.Where(f => f.FilmId == filmid).FirstOrDefault().Notes    = film.Notes;
         context.SaveChanges();
         return(View("UpdateConfirm", film));
     }
     else
     {
         return(View());
     }
 }
예제 #14
0
        public void CalculateFilmItemAverageAfterDeletion(FilmItem filmItem, int rating)
        {
            _context.Attach(filmItem);

            if (filmItem.VoteCount == 1)
            {
                filmItem.VoteCount   = null;
                filmItem.VoteAverage = null;
            }
            else
            {
                var totalRating = filmItem.VoteAverage * filmItem.VoteCount;
                filmItem.VoteCount--;
                filmItem.VoteAverage = (totalRating - rating) / filmItem.VoteCount;
            }
            filmItem.UpdatedAt = DateTime.Now;

            _context.SaveChanges();
        }
예제 #15
0
        public static void AddMediaEntry(MovieContext _ctx, FilmItem item = null, Person person = null)
        {
            if (item != null)
            {
                Media media = new Media
                {
                    FilmItem = item
                };
                _ctx.Media.Add(media);
            }
            else if (person != null)
            {
                Media media = new Media
                {
                    Person = person
                };
                _ctx.Media.Add(media);
            }

            _ctx.SaveChanges();
        }
예제 #16
0
        public static void SaveListItem(MovieContext _ctx, List list, FilmItem filmItem)
        {
            var filmItemAlreadyInList = _ctx.ListItems.Where(l => l.List == list).Where(f => f.FilmItem == filmItem).FirstOrDefault();

            if (filmItem != null && filmItemAlreadyInList == null)
            {
                ListItem li = new ListItem()
                {
                    FilmItem = filmItem,
                    List     = list
                };

                _ctx.ListItems.Add(li);
                _ctx.SaveChanges();

                _ctx.Lists.Attach(list);
                list.ItemCount++;
                list.UpdatedAt = DateTime.Now;
                _ctx.SaveChanges();
            }
        }
예제 #17
0
        public static void AddInfo(UIElement item, int id, string text)
        {
            var attach = Registration.unit.Attachments.Get(a => a.FilmsId == id && a.UsersID == user.Id).FirstOrDefault();

            sp_TopFilms.Children.Clear();
            sp_NewFilms.Children.Clear();
            sp_MyFilms.Children.Clear();
            bool check = true;

            FilmItem info = new FilmItem(text, id, check, user.Id)
            {
                Margin = new Thickness(10, 30, 10, 0),
                HorizontalAlignment = HorizontalAlignment.Stretch,
                VerticalAlignment   = VerticalAlignment.Bottom
            };

            if (text == "TopFilms")
            {
                sp_TopFilms.Children.Add(info);
            }
            if (text == "NewFilms")
            {
                sp_NewFilms.Children.Add(info);
            }

            if (attach != null)
            {
                FilmItem info2 = new FilmItem(text, id, true, user.Id)
                {
                    Margin = new Thickness(10, 30, 10, 0),
                    HorizontalAlignment = HorizontalAlignment.Stretch,
                    VerticalAlignment   = VerticalAlignment.Bottom
                };

                if (attach.FavoriteFilm == true)
                {
                    sp_MyFilms.Children.Add(info2);
                }
            }
        }
예제 #18
0
        public IActionResult AddReview()
        {
            var applicationUser = _userManager.GetUserId(User);

            int?     reviewId, listId, filmItemId;
            FilmItem filmItem = new FilmItem();

            if (!string.IsNullOrWhiteSpace(Request.Form["ReviewId"]))
            {
                reviewId = int.Parse(Request.Form["ReviewId"]);
            }
            else
            {
                reviewId = null;
            }

            if (!string.IsNullOrWhiteSpace(Request.Form["ListId"]))
            {
                listId = int.Parse(Request.Form["ListId"]);
            }
            else
            {
                listId = null;
            }

            if (!string.IsNullOrWhiteSpace(Request.Form["FilmItemId"]))
            {
                filmItemId = int.Parse(Request.Form["FilmItemId"]);
                filmItem   = _context.FilmItem.FirstOrDefault(f => f.Id == int.Parse(Request.Form["FilmItemId"]));
            }
            else
            {
                filmItemId = null;
            }

            Review review = new Review
            {
                ApplicationUserId = applicationUser,
                FilmItemId        = filmItemId,
                Comment           = Request.Form["Comment"],
                ShoutId           = reviewId,
                ListId            = listId
            };

            _context.Reviews.Add(review);
            _context.SaveChanges();

            if (listId != null)
            {
                var list = _context.Lists.FirstOrDefault(l => l.Id == listId);
                var user = _userManager.Users.FirstOrDefault(u => u.Id == list.ApplicationUserId);
                return(RedirectToAction("Comments", "List", new { Slug = user, listName = list.Slug }));
            }

            if (filmItem.Discriminator == "Season")
            {
                return(RedirectToAction("Details", filmItem.Discriminator, new { Slug = filmItem.Slug, SeasonNumber = filmItem.Season_SeasonNumber }));
            }
            else if (filmItem.Discriminator == "Episode")
            {
                return(RedirectToAction("Details", filmItem.Discriminator, new { Slug = filmItem.Slug, SeasonNumber = filmItem.Episode_SeasonNumber, EpisodeNumber = filmItem.Episode_EpisodeNumber }));
            }
            else
            {
                return(RedirectToAction("Details", filmItem.Discriminator, new { Slug = filmItem.Slug }));
            }
        }