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()); } }