// 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)); }
// GET: ManageSerie public ActionResult Index() { SerieRepository repository = new SerieRepository(context); var lst = repository.Query(s => s.EstadosMedia == EEstatusMedia.VISIBLE | s.EstadosMedia == EEstatusMedia.INVISIBLE); var models = MapHelper.Map <IEnumerable <SerieViewModel> >(lst); return(View(models)); }
// GET: ManageSerie/Delete/5 public ActionResult Delete(int id) { SerieRepository serieRepository = new SerieRepository(context); var serie = serieRepository.Query(s => s.id == id).First(); var model = MapHelper.Map <SerieViewModel>(serie); return(View(model)); }
public ActionResult Edit(int id, SerieViewModel model) { model = LinkLists(model); try { var serieRepository = new SerieRepository(context); if (ModelState.IsValid) { var serie = serieRepository.Query(s => s.id == id).First(); serie = Update(serie, model); var lstSerie = serieRepository.Query(s => s.estado != EEstatusMedia.ELIMINADO); foreach (var s in lstSerie) { if (s.id != id) { if (s.nombre.ToLower() == serie.nombre.ToLower()) { if (s.fechaLanzamiento == serie.fechaLanzamiento) { model = MapHelper.Map <SerieViewModel>(serie); model = LinkLists(model); ViewBag.Error = 1; return(Edit(id)); } } } } serieRepository.UpdateComplete(serie, model.GenerosSeleccionados, model.PersonasSeleccionadas); context.SaveChanges(); return(RedirectToAction("Index")); } return(Edit(id)); } catch { return(Edit(id)); } }
// GET: ManageSerie/Edit/5 public ActionResult Edit(int id) { SerieRepository serieRepository = new SerieRepository(context); var serie = serieRepository.Query(t => t.id == id).First(); var model = MapHelper.Map <SerieViewModel>(serie); model = LinkLists(model); return(View(model)); }
// 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)); }
public ActionResult Delete(int id, SerieViewModel model) { try { // TODO: Add delete logic here var serieRepository = new SerieRepository(context); var serie = serieRepository.Query(s => s.id == id).First(); serieRepository.LogicalDelete(serie); context.SaveChanges(); return(RedirectToAction("Index")); } catch { return(View(model)); } }
public ActionResult Create(SerieViewModel model) { model = LinkLists(model); model.duracionMin = 0; try { // TODO: Add insert logic here if (ModelState.IsValid) { SerieRepository repository = new SerieRepository(context); Serie serie = MapHelper.Map <Serie>(model); var lstSerie = repository.Query(s => s.estado != EEstatusMedia.ELIMINADO); foreach (var s in lstSerie) { if (s.nombre.ToLower() == serie.nombre.ToLower()) { if (s.fechaLanzamiento == serie.fechaLanzamiento) { ViewBag.Error = 1; return(Create()); } } } repository.InsertComplete(serie, model.GenerosSeleccionados, model.PersonasSeleccionadas); context.SaveChanges(); return(RedirectToAction("Index")); } else { return(Create()); } } catch { return(Create()); } }
// GET: ManageSerie public ActionResult Index(int?idGenero, string nombre = "") { SerieRepository serieRepository = new SerieRepository(context); GeneroRepository generoRepository = new GeneroRepository(context); var genero = generoRepository.Query(g => g.Eliminado == false, "Nombre"); Expression <Func <Serie, bool> > expr = m => m.estado != EEstatusMedia.ELIMINADO; if (idGenero != null) { expr = expr.And(x => x.Generos.Any(y => y.Id == idGenero)); } if (!string.IsNullOrEmpty(nombre)) { expr = expr.And(x => x.nombre.Contains(nombre)); } var lst = serieRepository.Query(expr, "Nombre"); var model = MapHelper.Map <IEnumerable <SerieViewModel> >(lst); var lstGenero = generoRepository.Query(g => g.Eliminado == false, "Nombre"); ViewBag.ListaGenero = GeneroList(lstGenero); return(View(model)); }
public ActionResult Details(int id) { SerieRepository repository = new SerieRepository(context); OpinionRepository reseniaRepository = new OpinionRepository(context); UsuarioRepository userRepo = new UsuarioRepository(context); var serie = repository.Query(t => t.id == id).First(); var opiniones = reseniaRepository.GetAll(); var resenias = from o in opiniones where o.Media.id == serie.id select o; var model = MapHelper.Map <SerieViewModel>(serie); int count = 0; foreach (var item in resenias) { item.Usuario = userRepo.GetAll().FirstOrDefault(u => u.Id == item.UsuarioId); count++; } ViewBag.CountResenias = count; 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)); } }
public ActionResult Delete(int id, GeneroViewModel model) { try { GeneroRepository repo = new GeneroRepository(context); var genero = repo.Query(g => g.Id == id).FirstOrDefault(); context.Entry(genero).Collection(g => g.Medias).Load(); if (genero.Medias.Count() == 0) { repo.LogicalDelete(genero); context.SaveChanges(); return(RedirectToAction("Index")); } else { List <lstMedias> lista = new List <lstMedias>(); var repository = new MovieRepository(context); var repository2 = new SerieRepository(context); foreach (var media in genero.Medias) { var mov = repository.Query(m => m.id == media.id && media.estado != EEstatusMedia.ELIMINADO); var ser = repository2.Query(s => s.id == media.id && media.estado != EEstatusMedia.ELIMINADO); if (mov.Count() == 1) { lista.Add(new lstMedias() { id = media.id, nombre = media.nombre, tipo = "Película" }); } else if (ser.Count() == 1) { lista.Add(new lstMedias() { id = media.id, nombre = media.nombre, tipo = "Serie" }); } } if (lista.Count == 0) { repo.LogicalDelete(genero); context.SaveChanges(); return(RedirectToAction("Index")); } ViewData["inUsing"] = lista; ViewBag.Error = 1; model = MapHelper.Map <GeneroViewModel>(genero); return(Delete(genero.Id)); } } catch { return(View()); } }