Ejemplo n.º 1
0
        /// <summary>
        /// 更新返还信息
        /// </summary>
        /// <param name="register"></param>
        /// <returns></returns>
        public virtual RMARegisterInfo UpdateResponseInfo(RMARegisterInfo register)
        {
            if (register == null)
            {
                throw new ArgumentNullException("register");
            }
            CommonCheck.VerifyNotNull("SysNo", register.ResponseInfo.SysNo);

            RMARegisterInfo origin = LoadBySysNo(register.ResponseInfo.SysNo.Value);

            if (origin.BasicInfo.Status == RMARequestStatus.Complete || origin.BasicInfo.Status == RMARequestStatus.Abandon)
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "CannotEditWhenClosedOrAbandon");
                throw new BizException(msg);
            }

            CommonCheck.VerifyNotNull("ResponseProductNo", register.ResponseInfo.ResponseProductNo);

            string userName = ExternalDomainBroker.GetUserInfo(ServiceContext.Current.UserSysNo).UserDisplayName;

            register.ResponseInfo.ResponseDesc = string.Format(
                "{0}\r\n{1} {2}",
                register.ResponseInfo.ResponseDesc, userName, DateTime.Now.ToString("yyyy-MM-dd")
                );
            register.VerifyFieldsLength();

            registerDA.UpdateResponseInfo(register);

            ExternalDomainBroker.CreateOperationLog("RMA_Register_ResponseInfo", BizLogType.RMA_Register_ResponseInfo, register.SysNo.Value, origin.CompanyCode);

            return(LoadForEditBySysNo(register.ResponseInfo.SysNo.Value));
        }
Ejemplo n.º 2
0
        public static bool VerifyUpdate(this RMARegisterInfo register, RMARegisterInfo registerInDb)
        {
            if (registerInDb == null)
            {
                throw new ArgumentNullException("registerInDb");
            }
            if (register == null)
            {
                throw new ArgumentNullException("register");
            }

            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-SysNo"), register.BasicInfo.SysNo);
            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-ProductSysNo"), register.BasicInfo.ProductSysNo);
            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-CustomerDesc"), register.BasicInfo.CustomerDesc);

            register.VerifyFieldsLength();

            if (registerInDb.BasicInfo.Status.Value == RMARequestStatus.Complete ||
                registerInDb.BasicInfo.Status.Value == RMARequestStatus.Abandon)
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "CannotEditWhenClosedOrAbandon");
                throw new BizException(msg);
            }
            if (register.BasicInfo.Status != registerInDb.BasicInfo.Status)
            {
                switch (register.BasicInfo.Status.Value)
                {
                case RMARequestStatus.Abandon:
                    registerInDb.VerifyAbandon();
                    break;

                case RMARequestStatus.Complete:
                    register.VerifyClose(registerInDb);
                    break;

                case RMARequestStatus.Handling:
                    register.VerifyReceive();
                    break;

                case RMARequestStatus.Origin:
                    break;
                }
            }
            return(true);
        }
Ejemplo n.º 3
0
        public static bool VerifyWaitingRevert(this RMARegisterInfo register)
        {
            if (register == null)
            {
                throw new ArgumentNullException("register is required!");
            }

            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-SysNo"), register.BasicInfo.SysNo);
            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-NewProductStatus"), (int?)register.RevertInfo.NewProductStatus);

            register.VerifyFieldsLength();

            if (!ObjectFactory <IRegisterDA> .Instance.CanWaitingRevert(register.BasicInfo.SysNo.Value))
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "CannotSetWaitingRevert");
                throw new BizException(msg);
            }

            switch (register.RevertInfo.NewProductStatus.Value)
            {
            // 非换货和调新品时,RevertProductSysNo 将被设定为原始的 ProductSysNo,因此 ProductSysNo 不能为空
            case RMANewProductStatus.Origin:
            case RMANewProductStatus.NewProduct:
                CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-ProductSysNo"), register.BasicInfo.ProductSysNo);
                break;

            // 调二手和非当前 Case 时,RevertProductSysNo 由用户从 UI 设定,不能为空
            case RMANewProductStatus.SecondHand:
            case RMANewProductStatus.OtherProduct:
                CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-RevertProductSysNo"), register.RevertInfo.RevertProductSysNo);
                if (register.RevertInfo.RevertProductSysNo.Value == register.BasicInfo.ProductSysNo.Value)
                {
                    string msg = ResouceManager.GetMessageString("RMA.Request", "RevertProductSysnoCannotSameAsProductSysNo");
                    throw new BizException(msg);
                }
                break;
            }
            // 不为“非换货”时,RevertStockSysNo 不能为空
            if (register.RevertInfo.NewProductStatus != RMANewProductStatus.Origin)
            {
                CommonCheck.VerifyNotNull("发货仓库", register.RevertInfo.RevertStockSysNo);
            }
            return(true);
        }
Ejemplo n.º 4
0
        public static bool VerifyRevertAudit(this RMARegisterInfo register)
        {
            if (register == null)
            {
                throw new ArgumentNullException("register is required!");
            }

            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-SysNo"), register.SysNo);
            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-RevertProductSysNo"), register.RevertInfo.RevertProductSysNo);
            // verify fields' max length
            register.VerifyFieldsLength();

            if (register.RevertInfo.RevertAuditMemo == null) // only verify whether it's null, but empty string is valid
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "ObjectIsRequired");
                msg = string.Format(msg, ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-RequestMsg"));
                throw new BizException(msg);
            }
            return(true);
        }
Ejemplo n.º 5
0
        public static bool VerifyCreate(this RMARegisterInfo register)
        {
            if (register.RequestType == null)
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "ObjectIsRequired");
                msg = string.Format(msg, ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-RequestType"));
                throw new BizException(msg);
            }
            if (register.BasicInfo.RMAReason == null)
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "ObjectIsRequired");
                msg = string.Format(msg, ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-RMAReason"));
                throw new BizException(msg);
            }

            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-ProductSysNo"), register.BasicInfo.ProductSysNo);
            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-CustomerDesc"), register.BasicInfo.CustomerDesc);
            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-RequestType"), (int?)register.RequestType);
            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-Status"), (int?)register.BasicInfo.Status);
            CommonCheck.VerifyNotNull(ResouceManager.GetMessageString("RMA.Request", "RegisterCheck-SOItemType"), (int?)register.BasicInfo.SOItemType);
            return(register.VerifyFieldsLength());
        }