public async Task <string> LikeProductExists(LikeProductCreateDto likeProduct) { //sonuc==0 ise yeni gelen datayı ekle //sonuc==1 ise güncelleme yap.(eski datayı sil yenisini ekle) //sonuc==2 ise hiçbirşey yapma var sonuc = ""; //postId ve userId göndererek daha önce işlem yapılıp yaplmadığını döndüm. var isThere = await _likeProductDal.GetList(w => w.ProductId == likeProduct.ProductId && w.UserId == likeProduct.UserId); //kayıt yoksa yeni gelen değeri ekle if (isThere.Count == 0) { sonuc = "0"; return(sonuc); } //postId userId ve likestatu durular gönderilir. var likestatu = await _likeProductDal.GetList(w => w.ProductId == likeProduct.ProductId && w.UserId == likeProduct.UserId && w.LikeStatus == likeProduct.LikeStatus); //eğer gelen data db yoksa güncelleme yap if (likestatu.Count == 0) { sonuc = "1"; return(sonuc); } //eğer ikisine de girmezse hiç birişlem yapma diyeceğiz sonuc = "2"; return(sonuc); }
public async Task <IResult> Add(LikeProductCreateDto likeProduct) { var lproduct = new LikeProduct { ProductId = likeProduct.ProductId, UserId = likeProduct.UserId, LikeStatus = likeProduct.LikeStatus }; await _likeProductDal.Add(lproduct); return(new SuccessResult(Messages.LikeProductAdded)); }
[HttpPost("add")]//++++ public async Task <IActionResult> Add(LikeProductCreateDto likeProductCreateDto) { var gonder = await _likeProductService.LikeProductExists(likeProductCreateDto); if (gonder == "2") { var delete = await _likeProductService.Delete(likeProductCreateDto); if (delete.Success) { var updateNumber = await _likeProductService.GetNumberStatus(likeProductCreateDto.ProductId); if (likeProductCreateDto.LikeStatus == true) { updateNumber.Data.Message = "Beğeni kaldırıldı."; } else { updateNumber.Data.Message = "Beğenmeme geri kaldırıldı."; } return(Ok(updateNumber.Data)); } } //Hiç kayıt yok yeni kayıt ekle if (gonder == "0") { var result = await _likeProductService.Add(likeProductCreateDto); var updateNumber = await _likeProductService.GetNumberStatus(likeProductCreateDto.ProductId); if (result.Success) { if (likeProductCreateDto.LikeStatus == true) { updateNumber.Data.Message = "Bu postu beğendiniz"; } else { updateNumber.Data.Message = "Bu postu beğenmediniz"; } return(Ok(updateNumber.Data)); } } //kayıt var ama güncelleme işlemi yapılacak. if (gonder == "1") { var delete = await _likeProductService.Delete(likeProductCreateDto); if (delete.Success) { var result = await _likeProductService.Add(likeProductCreateDto); var updateNumber = await _likeProductService.GetNumberStatus(likeProductCreateDto.ProductId); if (likeProductCreateDto.LikeStatus == true) { updateNumber.Data.Message = "Bu postu beğendiniz"; } else { updateNumber.Data.Message = "Bu postu beğenmediniz."; } if (result.Success) { return(Ok(updateNumber.Data)); } } } return(BadRequest()); }
public async Task <IResult> Delete(LikeProductCreateDto likeProduct) { await _likeProductDal.DeleteById(w => w.ProductId == likeProduct.ProductId && w.UserId == likeProduct.UserId); return(new SuccessResult()); }