Exemple #1
0
        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 }));
            }
        }
Exemple #2
0
        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
     });
 }
Exemple #4
0
 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());
        }