public async Task <ActionResult <Anime_Favorito> > ObtenerAnime_Favorito([Bind("animeId")] int animeId) { try { Claim correo = User.Claims.FirstOrDefault(c => c.Type == "Email"); if (correo != null) { Anime_Favorito favorito = await _context.Anime_Favorito.Where(ef => ef.Usuario.Email == correo.Value && ef.AnimeID == animeId).FirstOrDefaultAsync(); if (favorito == null) { favorito = new Anime_Favorito() { Favorito = false }; } return(Ok(new ApiResponseFormat { Estado = StatusCodes.Status302Found, Dato = favorito.Favorito })); } return(Unauthorized(new ApiResponseFormat { Estado = StatusCodes.Status401Unauthorized, Mensaje = "Inicie sesion para usar esta funcion." })); } catch (Exception ex) { return(StatusCode(ex.HResult, new ApiResponseFormat { Estado = StatusCodes.Status404NotFound, Mensaje = ex.Message })); } }
public async Task <ActionResult <Anime_Favorito> > CrearAnime_Favoritos([FromBody][Bind("animeId")] int animeId) { try { Claim correo = User.Claims.FirstOrDefault(c => c.Type == "Email"); if (correo != null) { Usuario usuario = await _userManager.FindByEmailAsync(correo.Value); Anime_Favorito af = new Anime_Favorito() { Usuario = usuario, Anime = _context.Animes.Find(animeId), Favorito = true }; _context.Add(af); await _context.SaveChangesAsync(); return(Ok(new ApiResponseFormat { Estado = StatusCodes.Status201Created, Mensaje = "Anime favorito agregado", Dato = af.Favorito })); } return(Unauthorized(new ApiResponseFormat { Estado = StatusCodes.Status401Unauthorized, Mensaje = "Inicie sesion para usar esta opcion." })); } catch (DbUpdateException ex) { return(StatusCode(ex.HResult, new { Result = ex.HResult, Data = ex.Message })); } }
public async Task <ActionResult <Anime_Favorito> > QuitarAnime_Favoritos([FromBody][Bind("animeId")] int animeId) { try { Claim correo = User.Claims.FirstOrDefault(c => c.Type == "Email"); if (correo != null) { Usuario usuario = await _userManager.FindByEmailAsync(correo.Value); Anime_Favorito anime_Favorito = await _context.Anime_Favorito.Where(af => af.UsuarioId == usuario.Id && af.AnimeID == animeId).FirstOrDefaultAsync(); if (anime_Favorito == null) { return(NotFound(new ApiResponseFormat { Estado = StatusCodes.Status404NotFound, Mensaje = "No esta en tu lista de favoritos" })); } _context.Anime_Favorito.Remove(anime_Favorito); await _context.SaveChangesAsync(); return(Ok(new ApiResponseFormat { Estado = StatusCodes.Status200OK, Mensaje = "Anime favorito eliminado", Dato = false })); } return(Unauthorized(new ApiResponseFormat { Estado = StatusCodes.Status401Unauthorized, Mensaje = "Inicie sesion para usar esta opcion." })); } catch (Exception ex) { return(StatusCode(ex.HResult, new ApiResponseFormat { Estado = ex.HResult, Mensaje = ex.Message })); } }