public ActionResult eliminarDeMiLista(int MediaId, string UserId) { UsuarioRepository userRepo = new UsuarioRepository(context); FavoritoRepository favRepo = new FavoritoRepository(context); //Me Obtengo var yo = userRepo.Query(u => u.IdentityId == UserId).FirstOrDefault(); //Obtengo de favoritos el favorito que contenga mi id y el mediaId var eliminar = favRepo.Query(f => f.usuarioId == yo.Id && f.mediaId == MediaId).FirstOrDefault(); if (eliminar != null) { favRepo.Delete(eliminar); context.SaveChanges(); return(Json(new { Success = true }, JsonRequestBehavior.AllowGet)); } return(Json(new { Success = false }, JsonRequestBehavior.AllowGet)); }
// 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 AddLista(FavoritoViewModel model) { FavoritoRepository favRepo = new FavoritoRepository(context); UsuarioRepository userRepo = new UsuarioRepository(context); model.FechaAgregado = DateTime.Now; model.usuarioId = (from u in userRepo.GetAll() where u.IdentityId == model.UserID select u.Id).FirstOrDefault(); #region Validaciones //Que Exista Ya en tu lista var existFav = favRepo.GetAll().FirstOrDefault(f => f.mediaId == model.mediaId && f.usuarioId == model.usuarioId); if (existFav != null) { return(Json(new { Success = false, TypeError = 1 }, JsonRequestBehavior.AllowGet)); } #endregion var favorito = MapHelper.Map <Favorito>(model); favRepo.Insert(favorito); context.SaveChanges(); return(Json(new { Success = true }, JsonRequestBehavior.AllowGet)); }
// GET: Favorito/Delete/5 public ActionResult Delete(int?id) { FavoritoRepository repository = new FavoritoRepository(context); var persona = repository.Query(t => t.id == id).First(); var model = MapHelper.Map <FavoritoViewModel>(persona); return(View(model)); }
public IActionResult Deletar(int id) { try { FavoritoRepository.Deletar(id); return(NoContent()); } catch (Exception ex) { return(BadRequest(new { mensagem = "Oops! Tem coisa errada aqui..." + ex.Message })); } }
public IActionResult Cadastrar(Favoritos favorito) { try { var usuarioId = UsuarioRepository.Cadastrar(favorito.Usuario); favorito.Usuario = null; favorito.IdUsuario = Convert.ToInt32(HttpContext.User.Claims.First(item => item.Type == JwtRegisteredClaimNames.Jti).Value); FavoritoRepository.Cadastrar(favorito); return(Ok(favorito)); } catch (Exception ex) { return(BadRequest(new { mensagem = "Oops! Tem coisa errada aqui..." + ex.Message })); } }
public ActionResult DeleteSerie(int?id, FavoritoViewModel model) { try { FavoritoRepository repository = new FavoritoRepository(context); var persona = repository.Query(e => e.id == id).First(); var IdMedia = persona.mediaId; repository.Delete(persona); context.SaveChanges(); return(RedirectToAction("Details/" + IdMedia, "Serie")); } catch { return(View()); } }
// GET: Favorito/Create public ActionResult Create(int?id) { FavoritoRepository repository = new FavoritoRepository(context); UsuarioRepository repositoryUsuario = new UsuarioRepository(context); try { var us = Session["UserId"] as string; var persona = repository.Query(t => t.mediaId == id).First(); var model = MapHelper.Map <FavoritoViewModel>(persona); return(View(model)); } catch (Exception ex) { } return(View()); }
public ActionResult Create(bool esFalse, int?id, FavoritoViewModel model) { try { if (ModelState.IsValid) { FavoritoRepository repository = new FavoritoRepository(context); MediaRepository repository2 = new MediaRepository(context); UsuarioRepository repositori3 = new UsuarioRepository(context); var user = User.Identity.GetUserId(); var dia = DateTime.Now; var usuarios = repositori3.Query(u => u.IdentityId.Equals(user)).First(); var idMedia = repository2.Query(x => x.MediaId == id).First(); #region Validacion de id de media var Validacion = new Favorito { mediaId = id }; bool Existeid = repository.Query(x => x.mediaId == id).Count() > 0; if (Existeid) { return(RedirectToAction("Details/" + id, "MovieCatalogo")); } #endregion model.esMovie = esFalse; model.media = idMedia; model.usuario = usuarios; model.FechaAgregado = dia; //model.usuario = UsuariosId; Favorito persona = MapHelper.Map <Favorito>(model); repository.Insert(persona); context.SaveChanges(); } if (esFalse == true) { return(RedirectToAction("Details/" + id, "Serie")); } return(RedirectToAction("Details/" + id, "MovieCatalogo")); } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View()); } }
// GET: Favorito public ActionResult Index(int page = 1, string busqueda = null, string genero = null, int pageSize = 3) { MediaViewModel media = new MediaViewModel(); MediaRepository mediaRepo = new MediaRepository(context); FavoritoRepository repository = new FavoritoRepository(context); var includes = new Expression <Func <Media, object> >[] { s => s.Generos }; var lst = repository.Query(x => x.media.EstadosMedia == EEstatusMedia.VISIBLE).OrderBy(x => x.media.Nombre); int totalDePaginas; int totalDeFilas; ICollection <Media> movies; movies = mediaRepo.QueryPageByNombreAndGeneroIncluding(busqueda, genero, includes, out totalDePaginas, out totalDeFilas, "Nombre", page - 1, pageSize); ViewBag.Busqueda = busqueda; ViewBag.Genero = genero; var paginador = new PaginatorViewModel <MediaViewModel>(); paginador.Page = page; paginador.PageSize = pageSize; paginador.Results = MapHelper.Map <ICollection <MediaViewModel> >(movies); paginador.TotalPages = totalDePaginas; paginador.TotalRows = totalDeFilas; return(View(paginador)); }
// GET: Genero/Details/5 public ActionResult Details(int id) { MovieRepository repository = new MovieRepository(context); GeneroRepository GeneroRepository = new GeneroRepository(context); PersonaRepository PersonaRepository = new PersonaRepository(context); FavoritoRepository FavoritoRepository = new FavoritoRepository(context); var includes = new Expression <Func <Movie, object> >[] { s => s.Actores, s => s.Generos }; var movie = repository.QueryIncluding(x => x.MediaId == id, includes).SingleOrDefault(); var model = MapHelper.Map <MovieViewModel>(movie); bool enFav = FavoritoRepository.Query(x => x.mediaId == id).Count() > 0; bool enMedia = FavoritoRepository.Query(x => x.mediaId == id).Count() < 0; if (enFav == true) { var TodoFav = FavoritoRepository.Query(x => x.mediaId == id).First(); var ValidacionMe = repository.Query(x => x.MediaId == id).Count() > 0; if (ValidacionMe == false) { return(RedirectToAction("Details/" + id, "Serie")); } var idFav = TodoFav.id; model.IdFavorito = idFav; } model.esMovie = enMedia; var generos = GeneroRepository.Query(g => g.Activo == true); var actores = PersonaRepository.Query(a => a.Status == true); model.GenerosDisponibles = MapHelper.Map <ICollection <GeneroViewModel> >(generos); model.GenerosSeleccionados = movie.Generos.Select(g => g.GeneroId.Value).ToArray(); model.ActoresDisponibles = MapHelper.Map <ICollection <PersonaViewModel> >(actores); model.ActoresSeleccionados = movie.Actores.Select(a => a.Id.Value).ToArray(); model.MiFavorito = enFav; return(View(model)); }
public ActionResult Index(int?idg, string nombre = "", int paginado = 40, string UserId = "") { if (paginado <= 0) { paginado = 40; } //paginacion int totalPages = 0; int totalRows = 0; int pageSize = paginado; int page = Request.QueryString["page"] == null ? 1 : int.Parse(Request.QueryString["page"]); MediaRepository mediaRepo = new MediaRepository(context); GeneroRepository generoRepository = new GeneroRepository(context); UsuarioRepository userRepo = new UsuarioRepository(context); FavoritoRepository favRepo = new FavoritoRepository(context); var yo = userRepo.Query(u => u.IdentityId == UserId).FirstOrDefault(); var misFavoritos = favRepo.Query(f => f.usuarioId == yo.Id); var genero = generoRepository.Query(g => g.Eliminado == false); Expression <Func <Media, bool> > expr = m => m.estado == EEstatusMedia.VISIBLE; int count = 0; foreach (var item in misFavoritos) { if (count == 0) { expr = expr.And(m => m.id == item.mediaId); count++; } else { expr = expr.Or(m => m.id == item.mediaId); } } if (idg != null) { expr = expr.And(x => x.Generos.Any(y => y.Id == idg)); } expr = expr.And(m => m.estado == EEstatusMedia.VISIBLE && m.nombre.Contains(nombre)); var lst = mediaRepo.QueryPage(expr, out totalPages, out totalRows, "Nombre", page - 1, pageSize); var models = MapHelper.Map <IEnumerable <MediaViewModel> >(lst); var model = new PaginatorViewModel <MediaViewModel> { Page = page, TotalPages = totalPages, TotalRows = totalRows, PageSize = pageSize, Results = models }; ViewBag.ListaGenero = GeneroList(genero); ViewBag.Nombre = nombre; ViewBag.Idg = idg + ""; ViewBag.Paginado = paginado + ""; ViewBag.UserId = UserId; ViewBag.numList = misFavoritos.Count(); return(View(model)); }
public IActionResult Listar() { return(Ok(FavoritoRepository.Listar())); }
public FavoritosController() { FavoritoRepository = new FavoritoRepository(); UsuarioRepository = new UsuarioRepository(); }