/// <summary> /// 设置订单为作废状态并保存,同时保存订单商品信息 /// </summary> protected void SaveCurrentSO() { SOStatusChangeInfo statusChangeInfo = new SOStatusChangeInfo { ChangeTime = DateTime.Now, IsSendMailToCustomer = true, OldStatus = CurrentSO.BaseInfo.Status, OperatorSysNo = ServiceContext.Current.UserSysNo, OperatorType = OperatorType, SOSysNo = SOSysNo, Status = ToSoStatus }; if (OperatorType == SOOperatorType.System) { CurrentSO.BaseInfo.Note = statusChangeInfo.Note = Note; } CurrentSO.BaseInfo.Status = ToSoStatus; CurrentSO.StatusChangeInfoList = CurrentSO.StatusChangeInfoList ?? new List <SOStatusChangeInfo>(); CurrentSO.StatusChangeInfoList.Add(statusChangeInfo); if (!SODA.UpdateSOForAbandon(CurrentSO)) { BizExceptionHelper.Throw("SO_Abandon_SOStatus_Abandon"); } //更新订单商品信息,是否要从订单商品中删除优惠券的记录? foreach (SOItemInfo item in CurrentSO.Items) { if (item.ProductType != SOProductType.Coupon) { SODA.UpdateSOItemAmountInfo(item); } } }