Exemple #1
0
        public ActionResult Update([DataSourceRequest] DataSourceRequest request,
                                   MovieViewModel movie, MovieCollectionsSubmit collections)
        {
            if (ModelState.IsValid)
            {
                var currMovie = db.Movies.GetById(movie.Id);
                currMovie.Title       = movie.Title;
                currMovie.Description = movie.Description;
                currMovie.Duration    = movie.Duration;
                currMovie.Description = movie.Description;

                var writers    = collections.Writers;
                var actors     = collections.Actors;
                var directors  = collections.Directors;
                var categories = collections.Categories;

                currMovie.Writers    = AddPeople <Writer>(writers, Type.GetType("Imdb.Models.Writer, IMDB.Models", true));
                currMovie.Actors     = AddPeople <Actor>(actors, Type.GetType("Imdb.Models.Actor, IMDB.Models", true));
                currMovie.Directors  = AddPeople <Director>(directors, Type.GetType("Imdb.Models.Director, IMDB.Models", true));
                currMovie.Categories = UpdateCategories(currMovie, categories);

                db.SaveChanges();

                movie.WritersAsString    = string.Join(", ", currMovie.Writers.Select(x => x.Person.Name));
                movie.ActorsAsString     = string.Join(", ", currMovie.Actors.Select(x => x.Person.Name));
                movie.DirectorsAsString  = string.Join(", ", currMovie.Directors.Select(x => x.Person.Name));
                movie.CategoriesAsString = string.Join(", ", currMovie.Categories.Select(x => x.Name));
            }

            return(Json(new[] { movie }.ToDataSourceResult(request, ModelState)));
        }
Exemple #2
0
        public ActionResult Create([DataSourceRequest] DataSourceRequest request, MovieViewModel movie,
                                   MovieCollectionsSubmit collections)
        {
            if (ModelState.IsValid)
            {
                var currMovie = new Movie
                {
                    Title       = movie.Title,
                    Description = movie.Description,
                    Duration    = movie.Duration,
                    Poster      = new Image()
                    {
                        Url = movie.ImageUrl
                    },
                };

                var writers    = collections.Writers;
                var actors     = collections.Actors;
                var directors  = collections.Directors;
                var categories = collections.Categories;

                AddPerson(currMovie, writers, Type.GetType("Imdb.Models.Writer, IMDB.Models", true));
                AddPerson(currMovie, actors, Type.GetType("Imdb.Models.Actor, IMDB.Models", true));
                AddPerson(currMovie, directors, Type.GetType("Imdb.Models.Director, IMDB.Models", true));

                foreach (var cat in categories)
                {
                    var catId = Convert.ToInt32(((string[])cat.First().Value)[0]);
                    currMovie.Categories.Add(db.Categories.GetById(catId));
                    db.Categories.GetById(catId).Movies.Add(currMovie);
                }

                db.Movies.Add(currMovie);
                db.SaveChanges();

                movie.WritersAsString    = string.Join(", ", currMovie.Writers.Select(x => x.Person.Name));
                movie.ActorsAsString     = string.Join(", ", currMovie.Actors.Select(x => x.Person.Name));
                movie.DirectorsAsString  = string.Join(", ", currMovie.Directors.Select(x => x.Person.Name));
                movie.CategoriesAsString = string.Join(", ", currMovie.Categories.Select(x => x.Name));
            }

            return(Json(new[] { movie }.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet));
        }