public ActionResult Create(NuevoEpisodioViewModel model) { try { if (ModelState.IsValid) { EpisodioRepository episodioRepository = new EpisodioRepository(context); var episodio = MapHelper.Map <Episodio>(model); episodio.EstadosMedia = EEstatusMedia.VISIBLE; episodio.FechaRegistro = DateTime.Now; episodioRepository.Insert(episodio); context.SaveChanges(); return(RedirectToActionPermanent("Index", new { id = episodio.SerieId })); } else { return(View(model)); } } catch (Exception e) { ModelState.AddModelError("", e.Message); return(View(model)); } }
// GET: Serie/Details/5 public ActionResult Details(int id) { #region Repositorios necesarios SerieRepository serieRepository = new SerieRepository(context); FavoritoRepository favoritoRepository = new FavoritoRepository(context); EpisodioRepository episodioRepository = new EpisodioRepository(context); #endregion #region Consulta la serie en la bd var relaciones = new Expression <Func <Serie, object> >[] { s => s.Generos, s => s.Actores }; Serie serie = serieRepository.QueryIncluding(s => s.MediaId == id, relaciones, "FechaRegistro").SingleOrDefault(); #endregion #region Mapeo de la serie con su view model adecuado var model = MapHelper.Map <CompletoSerieViewModel>(serie); bool enFav = favoritoRepository.Query(x => x.mediaId == id).Count() > 0; if (enFav == true) { var TodoFav = favoritoRepository.Query(x => x.mediaId == id).First(); var idFav = TodoFav.id; model.IdFavorito = idFav; } model.MiFavorito = enFav; model.Temporadas = episodioRepository.Query(e => e.SerieId == model.MediaId && e.EstadosMedia == EEstatusMedia.VISIBLE).OrderBy(e => e.Temporada).Select(e => e.Temporada.Value).Distinct().ToArray(); model.esMovie = true; #endregion return(View(model)); }
public ActionResult Delete(int id, EliminadoSerieViewModel model) { SerieRepository repository = new SerieRepository(context); try { EpisodioRepository episodioRepository = new EpisodioRepository(context); var serie = repository.Find(id); var episodios = episodioRepository.Query(e => e.SerieId == id); serie.EstadosMedia = EEstatusMedia.ELIMINADO; repository.Update(serie); foreach (var episodio in episodios) { episodio.EstadosMedia = EEstatusMedia.ELIMINADO; episodioRepository.Update(episodio); } context.SaveChanges(); return(RedirectToAction("Index")); } catch { var modeloNuevo = repository.Find(id); var includes = new Expression <Func <Serie, object> >[] { s => s.Actores, s => s.Generos }; var serie = repository.QueryIncluding(s => s.MediaId == id, includes).SingleOrDefault(); model = MapHelper.Map <EliminadoSerieViewModel>(serie); return(View(model)); } }
// GET: Episodio/Edit/5 public ActionResult Edit(int id) { var repository = new EpisodioRepository(context); var episodio = repository.Find(id); var model = MapHelper.Map <ModificadoEpisodioViewModel>(episodio); return(View(model)); }
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)); } }
public ActionResult ConsultarPorTemporada(int id) { EpisodioRepository episodioRepositoy = new EpisodioRepository(context); var episodios = episodioRepositoy.Query(e => e.Temporada == id && e.EstadosMedia == EEstatusMedia.VISIBLE); var Episodios = MapHelper.Map <ICollection <EpisodioCarrucelViewModel> >(episodios); return(Json(new { Success = true, Episodios = JsonConvert.SerializeObject(Episodios) }, JsonRequestBehavior.AllowGet)); }
// GET: ManageEpisodio/Delete/5 public ActionResult Delete(int id) { 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; var model = MapHelper.Map <EpisodioViewModel>(episodio); return(View(model)); }
// GET: Episodio/5 public ActionResult Index(int id) { var serieRepository = new SerieRepository(context); var episodioRepository = new EpisodioRepository(context); var serie = serieRepository.Find(id); var serieModel = MapHelper.Map <DetalladoSerieViewModel>(serie); var episodios = episodioRepository.Query(e => e.SerieId == id).Where(e => e.EstadosMedia == EEstatusMedia.VISIBLE || e.EstadosMedia == EEstatusMedia.INVISIBLE); var episodiosModel = MapHelper.Map <ICollection <EpisodioViewModel> >(episodios); serieModel.Episodios = episodiosModel; return(View(serieModel)); }
public ActionResult Edit(ModificadoEpisodioViewModel model) { try { EpisodioRepository repository = new EpisodioRepository(context); var episodio = MapHelper.Map <Episodio>(model); repository.Update(episodio); context.SaveChanges(); return(RedirectToAction("Index", new { id = episodio.SerieId })); } catch { return(View()); } }
// GET: ManageEpisodio public ActionResult Index(int id) { VideoOnDemandContext context = new VideoOnDemandContext(); EpisodioRepository episodioRepository = new EpisodioRepository(context); SerieRepository serieRepository = new SerieRepository(context); // Consultar los episodios de la serie asignada var lstEpisodio = episodioRepository.Query(e => e.serieId.Value == id && e.estado != EEstatusMedia.ELIMINADO).OrderBy(e => e.numEpisodio).OrderBy(e => e.temporada); // Mapear la lista de series con una lista de SerieViewModel var models = MapHelper.Map <IEnumerable <EpisodioViewModel> >(lstEpisodio); ViewBag.Serie = serieRepository.Query(s => s.id == id).FirstOrDefault().nombre; ViewBag.SerieId = serieRepository.Query(s => s.id == id).FirstOrDefault().id; return(View(models)); }
public ActionResult Delete(int id, int serieId) { EpisodioRepository repository = new EpisodioRepository(context); try { var episodio = repository.Find(id); episodio.EstadosMedia = EEstatusMedia.ELIMINADO; repository.Update(episodio); context.SaveChanges(); return(RedirectToAction("Index", new { id = episodio.SerieId })); } catch { var episodio = repository.Find(id); var model = MapHelper.Map <ModificadoEpisodioViewModel>(episodio); return(View(model)); } }
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)); } }
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)); } }