// GET: ManageSerie/Create
        public ActionResult Create()
        {
            PersonaRepository personaRepository = new PersonaRepository(context);
            GeneroRepository  generoRepository  = new GeneroRepository(context);

            var model   = new NuevoSerieViewModel();
            var actores = personaRepository.Query(a => a.Status == true);
            var generos = generoRepository.Query(g => g.Activo == true);

            model.ActoresDisponibles = MapHelper.Map <ICollection <PersonaViewModel> >(actores);
            model.GenerosDisponibles = MapHelper.Map <ICollection <GeneroViewModel> >(generos);

            return(View(model));
        }
        public ActionResult Create(NuevoSerieViewModel model)
        {
            try
            {
                SerieRepository serieRepository = new SerieRepository(context);

                if (ModelState.IsValid)
                {
                    var serie = MapHelper.Map <Serie>(model);
                    serie.EstadosMedia  = EEstatusMedia.VISIBLE;
                    serie.FechaRegistro = DateTime.Now;
                    serie.DuracionMin   = 0;
                    serieRepository.InsertComplete(serie, model.ActoresSeleccionados, model.GenerosSeleccionados);

                    // Guardar y registrar cambios
                    context.SaveChanges();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    PersonaRepository personaRepository = new PersonaRepository(context);
                    GeneroRepository  generoRepository  = new GeneroRepository(context);

                    var actores = personaRepository.Query(a => a.Status == true);
                    var generos = generoRepository.Query(g => g.Activo == true);
                    model.ActoresDisponibles = MapHelper.Map <ICollection <PersonaViewModel> >(actores);
                    model.GenerosDisponibles = MapHelper.Map <ICollection <GeneroViewModel> >(generos);

                    return(View(model));
                }
            }
            catch (Exception e)
            {
                ModelState.AddModelError("ActoresSeleccionados", e.Message);
                return(View());
            }
        }