public async Task<IActionResult> Create(Guid userID, CreateLikeDto createLikeInfo) { var like = new Like { SenderID = userID }; #region [Authorization] var result = await this.AuthorizationService.AuthorizeAsync ( this.User, like, nameof(KindlyPolicies.AllowIfOwner) ); if (result.Succeeded == false) { return this.Unauthorized(); } #endregion this.Mapper.Map(createLikeInfo, like); await this.Repository.Create(like); return this.Created(new Uri($"{Request.GetDisplayUrl()}/{like.ID}"), this.Mapper.Map<LikeDto>(like)); }
public async Task Post([FromBody] CreateLikeDto likeDto) { var userId = User.GetUserId(); likeDto.UserId = userId; await _likeService.AddAsync(likeDto); }
public async Task <IActionResult> Add(CreateLikeDto like, [FromQuery] string returnUrl) { if (ModelState.IsValid) { await _likeService.AddAsync(like); } return(Redirect(returnUrl)); }
public ActionResult RemoveLike(CreateLikeDto dto) { var result = _repository.GetLikeByUserAndArticleId(dto.UserId, dto.ArticleId); if (result == null) { return(NoContent()); } _repository.RemoveLike(_mapper.Map <Like>(dto)); return(Ok()); }
public async Task AddAsync(CreateLikeDto dto) { Advert advert = await _unitOfWork.AdvertRepository.GetAsync(dto.AdvertId); ThrowIfNotFound(advert); Like like = advert.Likes.FirstOrDefault(advertLike => advertLike.UserId == dto.UserId); if (like != null) { return; } var newLike = _mapper.Map <Like>(dto); newLike.Advert = advert; _unitOfWork.LikeRepository.Create(newLike); await _unitOfWork.SaveChangesAsync(); }
public async Task <IActionResult> LikeToggle([FromBody] CreateLikeDto like) { var hasAny = await _imageRepository.QueryLikes() .FirstOrDefaultAsync(a => a.ImageId == like.ImageId && a.UserId == like.UserId); if (hasAny != null) { await _imageRepository.RemoveImageLike(hasAny); await _imageRepository.Save(); return(Ok(new ResponseDto() { Message = "unliked", Status = ResponseStatus.Success, Data = new { liked = false } })); } await _imageRepository.AddImageLike(new ImageLike() { UserId = like.UserId, ImageId = like.ImageId }); await _imageRepository.Save(); return(Ok(new ResponseDto() { Message = "liked", Status = ResponseStatus.Success, Data = new { liked = true } })); }
public async Task AddAsync(CreateLikeDto dto) { await $"{_apiOptions.Url}/api/like" .WithOAuthBearerToken(await GetAccessTokenAsync()) .PostJsonAsync(dto); }