public void SetFreeShipFee(int CustomerSysNo, decimal increment, int freeShipFeeLogType, string freeShipFeeLogMemo) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { int rowsAffected = new FreeShipFeeDac().SetFreeShipFee(CustomerSysNo, increment); if (rowsAffected != 1) { throw new BizException("客户免运费余额更新失败,可能因为运费余额不足。"); } if (increment != 0) { CustomerFreeShipFeeLogInfo oLog = new CustomerFreeShipFeeLogInfo(CustomerSysNo, freeShipFeeLogType, increment, freeShipFeeLogMemo); oLog.LogCheck = oLog.CalcLogCheck(); if (1 != new FreeShipFeeDac().Insert(oLog)) { throw new BizException("更新免运费余额失败"); } } scope.Complete(); } }
public void CommendCustomerEmailVerified(int CustomerSysNo, string CommendEmail) { TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { CustomerCommendInfo oInfo = LoadCustomerCommend(CommendEmail); if (oInfo == null) { throw new BizException(""); } decimal increment = 5; //推荐的好友通过Email验证赠送5¥运费 int rowsAffected = new FreeShipFeeDac().SetFreeShipFee(CustomerSysNo, increment); if (rowsAffected != 1) { throw new BizException("客户运费余额更新失败,可能因为运费余额不足。"); } UpdateCustomerCommendStatus(CommendEmail, (int)AppEnum.CommendStatus.Registered); //更新推荐状态 if (increment != 0) { int freeShipFeeLogType = (int)AppEnum.FreeShipFeeLogType.CustomerRegister; string freeShipFeeLogMemo = "推荐客户注册送运费 - " + CommendEmail; CustomerFreeShipFeeLogInfo oLog = new CustomerFreeShipFeeLogInfo(CustomerSysNo, freeShipFeeLogType, increment, freeShipFeeLogMemo); oLog.LogCheck = oLog.CalcLogCheck(); if (1 != new FreeShipFeeDac().Insert(oLog)) { throw new BizException("增加运费余额失败"); } } scope.Complete(); } }