コード例 #1
0
ファイル: RequestCheck.cs プロジェクト: sanlonezhang/ql
        public static bool VerifyForCreate(this RMARequestInfo request)
        {
            // verify required fields
            CommonCheck.VerifyNotNull("销售单号", request.SOSysNo);
            CommonCheck.VerifyNotNull("顾客编号", request.CustomerSysNo);
            CommonCheck.VerifyNotNull("联系电话", request.Phone);
            CommonCheck.VerifyNotNull("联系人", request.Contact);
            CommonCheck.VerifyNotNull("送货方式", request.ShipViaCode);
            CommonCheck.VerifyNotNull("收货地址区域编号", request.AreaSysNo);
            CommonCheck.VerifyNotNull("收货地址", request.Address);
            // verify all fields' length
            request.VerifyFieldsLength();

            VerifyGiftCardRMA(request);

            // tracking# is required withou OZZO ship via
            if ((!request.ShipViaCode.ToLower().Contains("ozzo") &&
                 !request.ShipViaCode.ToLower().Contains("奥硕")) &&
                StringUtility.IsNullOrEmpty(request.TrackingNumber))
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "ObjectIsRequired");
                msg = string.Format(msg, "邮包编号");
                throw new BizException(msg);
            }

            return(request.VerifyDuplicate());
        }
コード例 #2
0
ファイル: RequestCheck.cs プロジェクト: sanlonezhang/ql
        public static bool VerifyReceive(this RMARequestInfo request, RMARequestInfo requestInDb)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }

            // verify required fields
            CommonCheck.VerifyNotNull("申请单ID", request.SysNo);
            CommonCheck.VerifyNotNull("仓库", request.ReceiveWarehouse);
            CommonCheck.VerifyNotNull("接收日期", request.CustomerSendTime);
            CommonCheck.VerifyNotNull("订单号", request.SOSysNo);
            //if (!(request.ShipViaCode.ToLower().Contains("ozzo") ||
            //      request.ShipViaCode.ToLower().Contains("奥硕")))
            if (!request.ShipViaCode.ToLower().Contains(AppSettingManager.GetSetting("RMA", "PushShipTypeName")))
            {
                CommonCheck.VerifyNotNull("邮包编号", request.TrackingNumber);
            }

            // verify request fields' max length
            request.VerifyFieldsLength();

            if (requestInDb.Status.HasValue && requestInDb.Status.Value != RMARequestStatus.Origin)
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "CannotReceiveWithoutOriginRequest");
                throw new BizException(msg);
            }
            if (request.Registers == null || request.Registers.Count < 1)
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "ObjectIsRequired");
                msg = string.Format(msg, "订单列表");
                throw new BizException(msg);
            }
            request.Registers.ForEach(
                reg =>
            {
                if (!reg.BasicInfo.IsHaveInvoice.HasValue ||
                    !reg.BasicInfo.IsFullAccessory.HasValue ||
                    !reg.BasicInfo.IsFullPackage.HasValue)
                {
                    string msg = ResouceManager.GetMessageString("RMA.Request", "LostRegisterReceiveInformations");
                    throw new BizException(msg);
                }
            }
                );
            if (request.ShipViaCode == RMAConst.ShipVia_PostOffice)
            {
                if (request.PostageToPoint.HasValue && request.PostageToPoint.Value > 50)
                {
                    string msg = ResouceManager.GetMessageString("RMA.Request", "PostageToPointShouldLessThan50");
                    throw new BizException(msg);
                }
            }
            return(true);
        }
コード例 #3
0
ファイル: RequestCheck.cs プロジェクト: sanlonezhang/ql
        public static bool VerifyUpdate(this RMARequestInfo request, RMARequestInfo requestInDb)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }
            if (requestInDb == null)
            {
                throw new ArgumentNullException("requestInDb");
            }

            // verify required fields
            CommonCheck.VerifyNotNull("SysNo", request.SysNo);
            CommonCheck.VerifyNotNull("RequestID", request.RequestID);
            CommonCheck.VerifyNotNull("SOSysNo", request.SOSysNo);
            CommonCheck.VerifyNotNull("CustomerSysNo", request.CustomerSysNo);
            CommonCheck.VerifyNotNull("Address", request.Address);
            CommonCheck.VerifyNotNull("Contact", request.Contact);
            CommonCheck.VerifyNotNull("Phone", request.Phone);
            // verify request fields' max length
            request.VerifyFieldsLength();

            // 如果是”邮局普包“就必须传入”邮资转积分“数
            if (request.ShipViaCode == RMAConst.ShipVia_PostOffice)
            {
                if (request.PostageToPoint.HasValue && request.PostageToPoint.Value > 50)
                {
                    string msg = ResouceManager.GetMessageString("RMA.Request", "PostageToPointShouldLessThan50");
                    throw new BizException(msg);
                }
            }
            if (requestInDb.Status.Value == RMARequestStatus.Complete ||
                requestInDb.Status.Value == RMARequestStatus.Abandon)
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "CannotEditWhenHandlingOrClosedOrAbandon");
                throw new BizException(msg);
            }
            if (!request.Status.HasValue)
            {
                string msg = ResouceManager.GetMessageString("RMA.Request", "ObjectIsRequired");
                msg = string.Format(msg, "申请单处理状态");
                throw new BizException(msg);
            }
            if (request.Status != requestInDb.Status)
            {
                switch (request.Status.Value)
                {
                case RMARequestStatus.Abandon:
                    request.VerifyAbandon(requestInDb);
                    break;

                case RMARequestStatus.Complete:
                    break;

                case RMARequestStatus.Handling:
                    request.VerifyReceive(requestInDb);
                    break;

                case RMARequestStatus.Origin:
                    requestInDb.VerifyCancelReceive();
                    break;
                }
            }
            return(true);
        }