public async Task <IActionResult> Like([FromBody] ImageLike like) { var hasAny = await _imageRepository.QueryLikes() .AnyAsync(a => a.ImageId == like.ImageId && a.UserId == like.UserId); if (hasAny) { return(Ok(new ResponseDto() { Message = "content liked already", Status = ResponseStatus.Success })); } await _imageRepository.AddImageLike(like); await _imageRepository.Save(); return(Ok( new ResponseDto() { Status = ResponseStatus.Success, Data = like })); }
public virtual async Task <IActionResult> LikeAjax(ImageLike model) { //TODO //Remove default value for Liked attribute and create new migration string userId = User.GetUserId(); var(likes, dislikes) = await service.LikeImageAsync(model.Id, model.Like, userId); return(Json(new { success = true, like = likes, dislike = dislikes })); }
public ActionResult UnlikeImage(int ID) { string userID = User.Identity.GetUserId(); // get current user ID File file = db.Files.Find(ID); ImageLike imageLike = db.ImageLike.Where(i => i.FileID == ID && i.UserID == userID).FirstOrDefault(); db.ImageLike.Remove(imageLike); db.SaveChanges(); return(RedirectToAction("PublicImages")); }
public ActionResult LikeImage(int ID) //must use ID so it will map properly to tbl_File ID { ImageLike imageLike = new ImageLike(); imageLike.FileID = ID; imageLike.UserID = User.Identity.GetUserId(); db.ImageLike.Add(imageLike); db.SaveChanges(); return(RedirectToAction("PublicImages")); }
//GET: checks ImageLike table to see if current user already "liked" an image from a previous session public bool PublicImageLikedState(int?ID) //ID passed from PublicImages() as review.ImageID { string userID = User.Identity.GetUserId(); // get current user ID ImageLike imageLike = db.ImageLike.Where(i => i.FileID == ID && i.UserID == userID).FirstOrDefault(); File file = db.Files.Find(ID); var imageLikedStatus = false; if (imageLike != null) { imageLikedStatus = true; } else { imageLikedStatus = false; } return(imageLikedStatus); }
private void LikeButton_Click(object sender, RoutedEventArgs e) { ImageLike imageLike = new ImageLike { imageId = CurrentGalleryCard.Image.id, userId = ServerService.instance.user.id }; if ((bool)LikeButton.IsChecked) { ImagePreviewRoom.AddLike(); } else { ImagePreviewRoom.RemoveLike(); } }
public async Task RemoveImageLike(ImageLike like) { _dbContext.ImageLikes.Remove(like); }
public async Task <ImageLike> AddImageLike(ImageLike like) { await _dbContext.ImageLikes.AddAsync(like); return(like); }