示例#1
0
        public IHttpActionResult PutReturnOfGoods(string rmano, [FromBody] RmaReturnOfGoodsRequest request, [UserProfile] UserProfile userProfile)
        {
            IHttpActionResult httpActionResult;
            var result = CheckDataRoleAndArrangeParams(request, userProfile, out httpActionResult);

            if (!result)
            {
                return(httpActionResult);
            }
            request.RmaNo = rmano;
            var dto = _rmaService.SetReturnOfGoods(request, userProfile.Id);

            return(dto.IsSuccess ? (IHttpActionResult)Ok() : BadRequest(dto.Message));
        }
示例#2
0
        /// <summary>
        /// 设置退货
        /// </summary>
        /// <param name="request"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public ExectueResult SetReturnOfGoods(RmaReturnOfGoodsRequest request, int userId)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }

            var entity = _rmaRepository.GetByRmaNo2(request.RmaNo);

            if (entity == null)
            {
                throw new NotExistsRmaException(request.RmaNo);
            }

            /*
             * 1.[Description("完成打印退货单")] PrintRMA = 30, &&  [Description("完成收银")]  CashOver = 10
             * 2.
             */

            //rma
            if (entity.Status != EnumRMAStatus.PrintRMA.AsId())
            {
                throw new NotStatusRmaException(request.RmaNo, (EnumRMAStatus)entity.Status, EnumRMAStatus.PrintRMA);
            }

            //收银状态
            if (entity.RMACashStatus != EnumRMACashStatus.CashOver.AsId())
            {
                throw new NotCashStatusRmaException(request.RmaNo, (EnumRMACashStatus)entity.Status, EnumRMACashStatus.CashOver);
            }

            entity.UpdatedDate = DateTime.Now;
            entity.UpdatedUser = userId;
            entity.Status      = EnumRMAStatus.ShoppingGuideReceive.AsId();

            _rmaRepository.Update(entity);

            return(new OkExectueResult());
        }