Exemplo n.º 1
0
        public ApiResult Rate([FromBody] RateInput parameter)
        {
            if (!this.IsFormValid())
            {
                return(ApiResult.Failure(this.FormInvalidReason(), MessageCodes.ParameterValidationFailure));
            }

            var result = Resolve <IOrderService>().Rate(parameter);

            return(ToResult(result));
        }
        public IHttpActionResult RateUser(RateInput model)
        {
            if (!this.ModelState.IsValid)
            {
                return(BadRequest(this.ModelState));
            }

            var userId = this.User.Identity.GetUserId();

            if (userId == model.UserId)
            {
                return(BadRequest("Users cannot rate themselves"));
            }

            this.userDataService.RateUser(userId, model.UserId, model.Value);

            return(Ok());
        }
Exemplo n.º 3
0
        /// <summary>
        ///     订单评价
        /// </summary>
        /// <param name="parameter"></param>
        public ServiceResult Rate(RateInput parameter)
        {
            var result  = ServiceResult.Success;
            var orderId = parameter.EntityId.ConvertToLong();
            var order   = Resolve <IOrderService>().GetSingle(r => r.Id == orderId);

            if (order == null)
            {
                return(ServiceResult.Failure("订单不存在"));
            }

            var user = Resolve <IUserService>().GetSingle(parameter.UserId);

            if (user == null)
            {
                return(ServiceResult.Failure("当前用户不存在!"));
            }

            if (order.OrderExtension.OrderRemark == null)
            {
                order.OrderExtension.OrderRemark = new OrderRemark();
            }

            var rateInfo = AutoMapping.SetValue <OrderRateInfo>(parameter);

            if (order.OrderExtension.OrderRate == null)
            {
                order.OrderExtension.OrderRate = new OrderRate();
            }

            order.OrderExtension.OrderRate.BuyerRate = rateInfo;
            order.Extension   = order.OrderExtension.ToJson();
            order.OrderStatus = OrderStatus.Success;
            var context = Repository <IOrderRepository>().RepositoryContext;

            context.BeginTransaction();
            Resolve <IOrderService>().Update(order);
            Resolve <IOrderActionService>().Add(order, user, OrderActionType.UserEvaluate);
            context.CommitTransaction();
            return(ServiceResult.Success);
        }