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()); }
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); }
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); }