/// <summary> /// 更新分销商升舱订单数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns>影响行数</returns> /// <remarks>2013-09-06 余勇 创建</remarks> public override int UpdateOrder(DsOrder entity) { return(Context.Update("DsOrder", entity) .AutoMap(o => o.SysNo) .Where("SysNo", entity.SysNo) .Execute()); }
/// <summary> /// 根据商城订单事务编号返回分销商升舱订单扩展信息 /// </summary> /// <param name="orderTransactionSysNo">商城订单事务编号</param> /// <returns>分销商升舱订单和分销商商城</returns> /// <remarks>2013-12-13 黄志勇 创建</remarks> public Tuple <DsOrder, DsDealerMall> GetDsOrderInfoEx(string orderTransactionSysNo) { var dsOrders = GetEntityByTransactionSysNo(orderTransactionSysNo); DsOrder dsOrder = null; DsDealerMall dealerMall = null; if (dsOrders != null && dsOrders.Count > 0) { dsOrder = dsOrders.First(); dealerMall = GetDsDealerMall(dsOrder.DealerMallSysNo); } return(Tuple.Create(dsOrder, dealerMall)); }
/// <summary> /// 分销商订单升舱 /// </summary> /// <param name="order">升舱订单</param> /// <param name="items">升舱订单明细</param> /// <param name="hytorderID">商城订单编号</param> /// <remarks>2013-09-09 朱成果 创建</remarks> public void SaveDsOrder(DsOrder order, List <CBDsOrderItem> items, int hytorderID) { //在事物里面检查 if (ExistsDsOrder(order.DealerMallSysNo, order.MallOrderId)) { throw new Exception("存在已经升舱的订单:" + order.MallOrderId); } order.UpgradeTime = DateTime.Now; order.Status = (int)Hyt.Model.WorkflowStatus.DistributionStatus.升舱订单状态.升舱中; order.OrderTransactionSysNo = items[0].CurrectDsOrderItemAssociations.OrderTransactionSysNo; order.SysNo = Hyt.DataAccess.MallSeller.IDsOrderDao.Instance.InsertOrder(order);//添加主表 foreach (CBDsOrderItem pp in items) { DsOrderItem p = pp.BaseInstance; p.DsOrderSysNo = order.SysNo; p.OrderTransactionSysNo = order.OrderTransactionSysNo; pp.CurrectDsOrderItemAssociations.DsOrderItemSysNo = Hyt.DataAccess.MallSeller.IDsOrderDao.Instance.InsertOrderItem(p); //添加子表 Hyt.DataAccess.MallSeller.IDsOrderDao.Instance.InsertAssociation(pp.CurrectDsOrderItemAssociations); //添加关联表 } }
/// <summary> /// 更新分销商升舱订单数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns>影响行数</returns> /// <remarks>2013-09-06 余勇 创建</remarks> public abstract int UpdateOrder(DsOrder entity);
/// <summary> /// 插入分销商升舱订单数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns>新增记录编号</returns> /// <remarks>2013-09-06 余勇 创建</remarks> public abstract int InsertOrder(DsOrder entity);
/// <summary> /// 插入分销商升舱订单数据 /// </summary> /// <param name="entity">数据实体</param> /// <returns>新增记录编号</returns> /// <remarks>2013-09-06 余勇 创建</remarks> public override int InsertOrder(DsOrder entity) { //entity.SysNo = Context.Insert("DsOrder", entity) // .AutoMap(o => o.SysNo) // .ExecuteReturnLastId<int>("SysNo"); //return entity.SysNo; //再sql中判断重复升舱 string sql = @" declare @v_cnt int select @v_cnt=count(1) from DsOrder where DealerMallSysNo=@A and MallOrderId=@B and Status<>@C if @v_cnt>0 begin RAISERROR('重复升舱.',16,1,'-20001') --RAISE_APPLICATION_ERROR(-20001,'重复升舱.'); end else begin insert into DsOrder(DealerMallSysNo,MallOrderId,OrderTransactionSysNo,ReturnTransactionSysNo,SellerNick,BuyerNick,Province,City,County,StreetAddress,PostFee,ServiceFee,DiscountAmount,Payment,PayTime,UpgradeTime,DeliveryTime,SignTime,IsCallback,LastCallbackTime,Status) values(@DealerMallSysNo,@MallOrderId,@OrderTransactionSysNo,@ReturnTransactionSysNo,@SellerNick,@BuyerNick,@Province,@City,@County,@StreetAddress,@PostFee,@ServiceFee,@DiscountAmount,@Payment,@PayTime,@UpgradeTime,@DeliveryTime,@SignTime,@IsCallback,@LastCallbackTime,@Status) set @newId=@@Identity end "; try { var cmd = Context.Sql(sql) .Parameter("A", entity.DealerMallSysNo) .Parameter("B", entity.MallOrderId) .Parameter("C", (int)DistributionStatus.升舱订单状态.失败) .Parameter("DealerMallSysNo", entity.DealerMallSysNo) .Parameter("MallOrderId", entity.MallOrderId) .Parameter("OrderTransactionSysNo", entity.OrderTransactionSysNo) .Parameter("ReturnTransactionSysNo", entity.ReturnTransactionSysNo) .Parameter("SellerNick", entity.SellerNick) .Parameter("BuyerNick", entity.BuyerNick) .Parameter("Province", entity.Province) .Parameter("City", entity.City) .Parameter("County", entity.County) .Parameter("StreetAddress", entity.StreetAddress) .Parameter("PostFee", entity.PostFee) .Parameter("ServiceFee", entity.ServiceFee) .Parameter("DiscountAmount", entity.DiscountAmount) .Parameter("Payment", entity.Payment) .Parameter("PayTime", entity.PayTime) .Parameter("UpgradeTime", entity.UpgradeTime) .Parameter("DeliveryTime", entity.DeliveryTime) .Parameter("SignTime", entity.SignTime) .Parameter("IsCallback", entity.IsCallback) .Parameter("LastCallbackTime", entity.LastCallbackTime) .Parameter("Status", entity.Status) .ParameterOut("newId", Base.DataTypes.Int32); cmd.Execute(); //执行Sql entity.SysNo = cmd.ParameterValue <int>("newId"); //接收返回值 } catch (Exception ex) { if (ex.Message.IndexOf("重复升舱") > -1) { throw new HytException("不允许重复升舱."); } else { throw ex; } } return(entity.SysNo); }