Example #1
0
        public RestfulResult Destroy(FormCollection formCollection, LikeDestroyRequest request, int?authuid, UserModel authUser)
        {
            request.AuthUid  = authuid.Value;
            request.AuthUser = authUser;

            return(new RestfulResult {
                Data = this._likeDataService.Destroy(request)
            });
        }
Example #2
0
        /// <summary>
        /// 删除喜欢
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ExecuteResult <LikeCoutomerResponse> Destroy(LikeDestroyRequest request)
        {
            if (request == null)
            {
                return(new ExecuteResult <LikeCoutomerResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "参数错误"
                });
            }
            var likeEntity = _likeRepository.GetItem(request.AuthUid, request.LikedUserId);

            if (likeEntity == null)
            {
                return(new ExecuteResult <LikeCoutomerResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "参数错误"
                });
            }

            //当前请求的用户是被关注的人 但不是发起喜欢的用户
            if (likeEntity.LikeUserId != request.AuthUid && likeEntity.LikedUserId == request.AuthUid)
            {
                return(new ExecuteResult <LikeCoutomerResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "您不能删除关注您的用户"
                });
            }

            //当前请求的用户 != 发起喜欢的用户
            if (likeEntity.LikeUserId != request.AuthUid)
            {
                return(new ExecuteResult <LikeCoutomerResponse>(null)
                {
                    StatusCode = StatusCode.ClientError, Message = "您不能删除其他用户的关注"
                });
            }

            this._likeRepository.Delete(likeEntity);
            //TODO:LIKED --
            this._userService.LikeSubtract(request.AuthUid, likeEntity.LikedUserId);

            return(new ExecuteResult <LikeCoutomerResponse>(MappingManager.LikeInfoResponseMapping(likeEntity, LikeType.ILike)));
        }