예제 #1
0
        public ServiceResult Add(FavoriteInput favoriteInput)
        {
            //if (favoriteInput.Type == FavoriteType.Product) {
            var product       = Resolve <IProductService>().GetSingle(u => u.Id == favoriteInput.EntityId.ToInt64());
            var productDetail = Resolve <IProductDetailService>()
                                .GetSingle(u => u.ProductId == favoriteInput.EntityId.ToInt64());
            var image    = productDetail.ImageJson.DeserializeJson <List <ProductThum> >();
            var favorite = new Favorite
            {
                EntityId = favoriteInput.EntityId,
                Type     = favoriteInput.Type,
                UserId   = favoriteInput.LoginUserId,
                Name     = product.Name,
                Image    = image[0].ThumbnailUrl
            };
            var favoriteSingle = Resolve <IFavoriteService>().GetSingle(u =>
                                                                        u.EntityId == favoriteInput.EntityId && u.UserId == favoriteInput.LoginUserId);

            if (favoriteSingle == null)
            {
                var result = Add(favorite);
                if (result)
                {
                    return(ServiceResult.Success);
                }
            }

            return(ServiceResult.Failed);
            // }
        }
예제 #2
0
        /// <summary>
        ///     删除收藏
        /// </summary>
        /// <param name="favoriteInput"></param>
        /// <returns></returns>
        public ServiceResult Remove(FavoriteInput favoriteInput)
        {
            var favoriteSingle = Resolve <IFavoriteService>().GetSingle(u =>
                                                                        u.EntityId == favoriteInput.EntityId && u.UserId == favoriteInput.LoginUserId);

            if (favoriteSingle != null)
            {
                Delete(favoriteSingle);
                return(ServiceResult.Success);
            }

            return(ServiceResult.Failed);
        }
예제 #3
0
        public ApiResult Check([FromQuery] FavoriteInput parameter)
        {
            if (parameter == null)
            {
                return(ApiResult.Failure());
            }

            var result = Resolve <IFavoriteService>().GetSingle(r =>
                                                                r.EntityId == parameter.EntityId && r.UserId == parameter.LoginUserId && r.Type == parameter.Type);

            if (result != null)
            {
                return(ApiResult.Success());
            }

            return(ApiResult.Failure());
        }
예제 #4
0
        public ApiResult Remove([FromQuery] FavoriteInput parameter)
        {
            var result = Resolve <IFavoriteService>().Remove(parameter);

            return(ToResult(result));
        }