public ActionResult Save(Serie serie)
        {
            // 1 // worst case scenario return the viewmodel with the list of genres
            if (!ModelState.IsValid)
            {
                var genres    = context.Genres.ToList();
                var viewModel = new SerieFormViewModel(serie)
                {
                    Genres = genres,
                    //Title = "Add a New Series"
                };

                return(View("ViewerForm", viewModel));
            }

            if (serie.Id == 0) //meanst the viewer coming back is without id = then go create one!
            {
                //Very cool and simple way to register the new creation
                serie.DateAdded = DateTime.Now;
                context.Series.Add(serie);
            }
            else
            {
                var serieDb = context.Series.Single(v => v.Id == serie.Id);

                serieDb.Name         = serie.Name;
                serieDb.GenreId      = serie.GenreId;
                serieDb.Seasons      = serie.Seasons;
                serieDb.DateReleased = serie.DateReleased;
            }

            context.SaveChanges();
            return(RedirectToAction("Index", "Serie"));
        }
        public ActionResult Save(Serie serie)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = new SerieFormViewModel(serie)
                {
                    //Name = serie.Name,
                    //ReleaseDate = serie.ReleaseDate,
                    //Seasons = serie.Seasons,
                    //GenreId = serie.GenreId,
                    Genres = context.Genres.ToList()
                };
                return(View("SerieForm", viewModel));
            }

            if (serie.Id == 0)
            {
                context.Series.Add(serie);
            }
            else
            {
                var serieDb = context.Series.Single(s => s.Id == serie.Id);
                serieDb.Name        = serie.Name;
                serieDb.ReleaseDate = serie.ReleaseDate;
                serieDb.Seasons     = serie.Seasons;
                serieDb.GenreId     = serie.GenreId;
                serieDb.Genre       = serie.Genre;
            }
            context.SaveChanges();

            return(RedirectToAction("Index", "Series"));
        }
        //GET NEW - getting the data to present to input the data and then post them //copy from ViewerController
        public ActionResult New() // WAS NEW
        {
            var genres    = context.Genres.ToList();
            var viewmodel = new SerieFormViewModel()
            {
                Genres = genres,
                // 2 // set the serie new object so id is not null when creating as we saw in viewers
                //Serie = new Serie(),
                //Title = "Add a New Series"
            };

            return(View("SerieForm", viewmodel));
        }
        public ActionResult New()
        {
            var genres = context.Genres.ToList();

            var viewModel = new SerieFormViewModel
            {
                //Name = serie.Name,
                //ReleaseDate = serie.ReleaseDate,
                //Seasons = serie.Seasons,
                //GenreId = serie.GenreId,
                Genres = genres
            };

            return(View("SerieForm", viewModel));
        }
        public ActionResult Edit(int Id)
        {
            var serie = context.Series.SingleOrDefault(s => s.Id == Id);

            if (serie == null)
            {
                return(HttpNotFound());
            }
            // This is the part that connects serie class object with viewModel class to pass the object
            var viewModel = new SerieFormViewModel(serie)
            {
                Genres = context.Genres.ToList(),
                //Title = "Edit Series"
            };

            return(View("SerieForm", viewModel));
        }
        public ActionResult Edit(int id)
        {
            var serie  = context.Series.SingleOrDefault(s => s.Id == id);
            var genres = context.Genres.ToList();

            if (serie == null)
            {
                return(HttpNotFound());
            }

            var viewModel = new SerieFormViewModel(serie)
            {
                //Name = serie.Name,
                //ReleaseDate = serie.ReleaseDate,
                //Seasons = serie.Seasons,
                //GenreId = serie.GenreId,
                Genres = genres
            };

            return(View("SerieForm", viewModel));
        }