public async Task <ActionResult> PostLike(LikeVM l) { Like vm = new Like { PostId = l.PostId, UserProfileId = l.UserProfileId }; var ex = (await _context.Likes.GetAll()).FirstOrDefault(x => x.UserProfileId == vm.UserProfileId && x.PostId == vm.PostId); Post post = (await _context.Posts.GetAll()).FirstOrDefault(x => x.Id == l.PostId); if (ex == null) { post.LikesCount++; await _context.Likes.Create(vm); await _context.Posts.Update(post); await _context.Save(); return(Ok(new { result = true, id = vm.PostId, likes = post.LikesCount })); } else { post.LikesCount--; await _context.Likes.Delete(ex.Id); await _context.Posts.Update(post); await _context.Save(); return(Ok(new { result = false, id = vm.PostId, likes = post.LikesCount })); } }
public JsonResult AddLike(Guid id) { LikeVM likeVM = new LikeVM(); Guid appuserID = _appUserService.FindByUserName(HttpContext.User.Identity.Name).ID; if (!(_likeService.Any(x => x.AppUserID == appuserID && x.ArticleID == id))) { Like like = new Like(); like.ArticleID = id; like.AppUserID = appuserID; _likeService.Add(like); //Kullanıcıya gönderilecek mesaj oluşturulur. likeVM.Likes = _likeService.GetDefault(x => x.ArticleID == id).Count(); likeVM.userMessage = "likes it"; likeVM.isSuccess = true; likeVM.Likes = _likeService.GetDefault(x => x.ArticleID == id && (x.Status == Core.Enum.Status.Active || x.Status == Core.Enum.Status.Updated)).Count(); likeVM.Comments = _commentService.GetDefault(x => x.ArticleID == id && (x.Status == Core.Enum.Status.Active || x.Status == Core.Enum.Status.Updated)).Count(); return(Json(likeVM, JsonRequestBehavior.AllowGet)); } else { likeVM.isSuccess = false; likeVM.userMessage = "You've liked this article before!"; return(Json(likeVM, JsonRequestBehavior.AllowGet)); } }
public static LikeEntity ToBLLEntity(this LikeVM item) { return(new LikeEntity() { Id = item.Id, PostId = item.PostId, UserId = item.UserId }); }
public static LikesEntry CreateLike(LikeVM vm, string parent_id, ModelType parent_type, string avatar = null) { return(new LikesEntry { User = new BaseCreator { UUID = vm.UserID, UserName = vm.UserName, AvatarUrl = avatar }, TargetType = parent_type, ParentID = parent_id }); }
public async Task <JsonResult> LikeAsync(string id, [FromBody] LikeVM vm) { if (vm == null) { return(this.JsonFormat(false, JsonStatus.BodyFormIsNull)); } var user = this.GetUser(); if (user.UUID == null) { return(this.JsonFormat(false, JsonStatus.UserNotLogin)); } if (user.UUID != vm.UserID) { return(this.JsonFormat(false, JsonStatus.UserNotMatched)); } if (vm.UserName == null) { vm.UserName = user.UserName; } var(user_id, status, error) = await this.status.LikeAsync(id, ModelCreator.CreateLike(vm, id, ModelType.Status, user.AvatarUrl)); if (status != JsonStatus.Succeed) { return(this.JsonFormat(false, status, error.Read())); } // send message if (user_id != "deleted") { var(entry, status02, error02) = await this.status.GetStatusDetailsAsync(id); if (user.UUID != entry.Creator.UUID) { var source = new MessageSource { Type = ModelType.Status, HostID = id, TargetID = id, HostType = ModelType.Status, HostAbstract = status02 == JsonStatus.Succeed ? entry.Content : null, Abstract = entry.Content }; await this.message.CreateMessageAsync(user, entry.Creator, MessageType.Like, null, source); } } return(this.JsonFormat(true, content: user_id)); }
public ActionResult AddLike(LikeVM likevm, int idpa) { Interesse like = new Interesse(); like.IdAnnonce = idpa; like.UserID = User.Identity.GetUserId(); LikeService.Add(like); LikeService.Commit(); return(View()); }