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)); }