예제 #1
0
        public ActionResult Edit(int id, EpisodioViewModel model)
        {
            try
            {
                // TODO: Add update logic here
                EpisodioRepository episodioRepository = new EpisodioRepository(context);

                if (ModelState.IsValid)
                {
                    var episodio = episodioRepository.Query(e => e.id == id).First();
                    episodio = Update(episodio, model);

                    var lstEpisodios = episodioRepository.Query(e => e.serieId == episodio.serieId);

                    ViewBag.Serie = episodio.Serie.nombre;

                    #region Validaciones
                    foreach (var e in lstEpisodios)
                    {
                        if (e.id != id)
                        {
                            if (e.nombre.ToLower() == episodio.nombre.ToLower())
                            {
                                if (e.fechaLanzamiento == episodio.fechaLanzamiento)
                                {
                                    ViewBag.Error = 1;
                                    return(Edit(id));
                                }
                            }
                        }
                        if (e.temporada == episodio.temporada)
                        {
                            if (e.numEpisodio == episodio.numEpisodio)
                            {
                                ViewBag.Error = 2;
                                return(Edit(id));
                            }
                        }
                    }
                    #endregion

                    context.Entry(episodio).Collection(e => e.Actores).Load();
                    context.Entry(episodio).Collection(e => e.Generos).Load();
                    context.Entry(episodio).Collection(e => e.Opiniones).Load();
                    context.Entry(episodio).Reference(e => e.Serie).Load();

                    episodioRepository.Update(episodio);
                    context.SaveChanges();
                    return(RedirectToAction("Index", new { id = episodio.serieId }));
                }

                return(Edit(id));
            }
            catch
            {
                return(Edit(id));
            }
        }
예제 #2
0
 public Episodio Update(Episodio episodio, EpisodioViewModel model)
 {
     episodio.numEpisodio      = model.numEpisodio;
     episodio.temporada        = model.temporada;
     episodio.descripcion      = model.descripcion;
     episodio.duracionMin      = model.duracionMin;
     episodio.estado           = model.estado;
     episodio.fechaLanzamiento = model.fechaLanzamiento;
     episodio.nombre           = model.nombre;
     return(episodio);
 }
예제 #3
0
        // GET: ManageEpisodio/Create
        public ActionResult Create(int id)
        {
            var model = new EpisodioViewModel();

            SerieRepository serieRepository = new SerieRepository(context);

            var serie = serieRepository.Query(s => s.id == id).FirstOrDefault();

            model.Serie   = MapHelper.Map <SerieViewModel>(serie);
            model.serieId = id;

            model.estado = EEstatusMedia.VISIBLE;

            ViewBag.Serie = serie.nombre;

            return(View(model));
        }
예제 #4
0
        public ActionResult Delete(int id, EpisodioViewModel model)
        {
            try
            {
                // TODO: Add delete logic here
                EpisodioRepository episodioRepository = new EpisodioRepository(context);

                var episodio = episodioRepository.Query(s => s.id == id).First();

                context.Entry(episodio).Reference(e => e.Serie).Load();

                ViewBag.Serie = episodio.Serie.nombre;

                episodioRepository.LogicalDelete(episodio);
                context.SaveChanges();
                return(RedirectToAction("Index", new { id = episodio.serieId }));
            }
            catch
            {
                return(View(model));
            }
        }
예제 #5
0
        public ActionResult Create(EpisodioViewModel model)
        {
            try
            {
                // TODO: Add insert logic here
                EpisodioRepository episodioRepository = new EpisodioRepository(context);
                SerieRepository    serieRepository    = new SerieRepository(context);

                if (ModelState.IsValid)
                {
                    var serie    = serieRepository.Query(s => s.id == model.id).First();
                    var episodio = MapHelper.Map <Episodio>(model);

                    var lstEpisodios = episodioRepository.Query(e => e.serieId == model.id);

                    context.Entry(serie).Collection(s => s.Generos).Load();
                    context.Entry(serie).Collection(s => s.Actores).Load();

                    episodio.Serie         = serie;
                    episodio.serieId       = model.id;
                    episodio.Actores       = serie.Actores;
                    episodio.Generos       = serie.Generos;
                    episodio.fechaRegistro = DateTime.Now;

                    ViewBag.Serie = serie.nombre;

                    #region Validaciones
                    foreach (var e in lstEpisodios)
                    {
                        if (e.nombre.ToLower() == episodio.nombre.ToLower())
                        {
                            if (e.fechaLanzamiento == episodio.fechaLanzamiento)
                            {
                                ViewBag.Error = 1;
                                return(Create(model.id));
                            }
                        }
                        if (e.temporada == episodio.temporada)
                        {
                            if (e.numEpisodio == episodio.numEpisodio)
                            {
                                ViewBag.Error = 2;
                                return(Create(model.id));
                            }
                        }
                    }
                    #endregion

                    episodioRepository.Insert(episodio);

                    context.SaveChanges();

                    return(RedirectToAction("Index", new { id = episodio.serieId }));
                }

                return(Create(model.id));
            }
            catch
            {
                return(Create(model.id));
            }
        }