CY_ECommercePlatform/CY.SQLDAL/EC/EC_OrderDAL.cs
@@ -156,6 +156,109 @@
            return true;
        }
        /// <summary>
        /// 新建订单(全,含秒杀)批量
        /// </summary>
        /// <param name="orderBasic">订单基础信息</param>
        /// <param name="orderExtend">订单扩展信息</param>
        /// <param name="tradingSingle">交易单</param>
        /// <param name="acceptWayByOrder">订单收货方式</param>
        /// <param name="payRequest">支付请求(可空)</param>
        /// <param name="commission">订单受理佣金(传入值大于0时会调用受理订单进行受理)</param>
        /// <param name="seckillId">秒杀业务编号(传入值大于0时会减少秒杀数量1)</param>
        /// <param name="orderPrintParameter">印刷参数对象(秒杀订单不传入)</param>
        /// <returns></returns>
        public bool NewOrderpiliang(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, Pay_TradingSingle tradingSingle, EC_AcceptWayByOrder acceptWayByOrder, Pay_Request payRequest = null, double commission = 0, int seckillId = 0, EC_OrderPrintParameter orderPrintParameter = null)
        {
            try
            {
                _eC_OrderExtendDAL = new EC_OrderExtendDAL(_dataBase);
                _pay_TradingSingleDAL = new Pay_TradingSingleDAL(_dataBase);
                _eC_AcceptWayByOrderDAL = new EC_AcceptWayByOrderDAL(_dataBase);
                _eC_OrderOperateDAL = new EC_OrderOperateDAL(_dataBase);
                _eC_MemberBasicDAL = new EC_MemberBasicDAL(_dataBase);
                _oA_CorporateClientsDAL = new OA_CorporateClientsDAL(_dataBase);
                //using (System.Transactions.TransactionScope tran = new System.Transactions.TransactionScope())
                //{
                    bool isWin = false;
                    isWin = _eC_OrderBasicDAL.InserModel(orderBasic);
                    if (!isWin)
                    {
                        return false;
                    }
                    acceptWayByOrder.TargetId = tradingSingle.OrderId = orderExtend.Keyid = orderBasic.Keyid;//获取返回的订单唯一编号
                    isWin = _eC_OrderExtendDAL.InserModel(orderExtend);
                    if (!isWin)
                    {
                        return false;
                    }
                    isWin = _eC_AcceptWayByOrderDAL.InserModel(acceptWayByOrder);
                    if (!isWin)
                    {
                        return false;
                    }
                    isWin = _pay_TradingSingleDAL.InserModel(tradingSingle);
                    if (!isWin)
                    {
                        return false;
                    }
                    //增加下单操作记录
                    isWin = _eC_OrderOperateDAL.InserModel(new EC_OrderOperate()
                    {
                        OperateType = 1,
                        Operator = orderBasic.Operator,
                        OrderId = orderBasic.Keyid,
                        Remark = string.Empty
                    });
                    if (!isWin)
                    {
                        return false;
                    }
                    if (null != payRequest)//有支付请求则调用支付订单方法
                    {
                        //传入的payRequest.Subject必须为格式化器 格式例如:{0},{1},{2}
                        //0:Keyid,1:SellerOrderId,2:DocumentName
                        payRequest.Subject = string.Format(payRequest.Subject, orderBasic.Keyid, orderBasic.SellerOrderId, orderBasic.DocumentName);
                        isWin = _eC_OrderBasicDAL.PayOrder(orderBasic.Keyid.Value, payRequest, commission, 0);
                    }
                    if (0 < seckillId)
                    {
                        _eC_SeckillBusinessDAL = new EC_SeckillBusinessDAL(_dataBase);
                        //若有秒杀业务编号则扣除其秒杀数量1
                        isWin = _eC_SeckillBusinessDAL.DecreaseSeckillNum(seckillId, 1, orderBasic.BuyerId);
                    }
                    if (!isWin)
                    {
                        return false;
                    }
                    if (null != orderPrintParameter)
                    {
                        _eC_OrderPrintParameterDAL = new EC_OrderPrintParameterDAL(_dataBase);
                        orderPrintParameter.OrderId = orderBasic.Keyid.Value;
                        isWin = _eC_OrderPrintParameterDAL.InserModel(orderPrintParameter);
                    }
                    if (!isWin)
                    {
                        return false;
                    }
                //    else
                //        tran.Complete();
                //}
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 新建订单(一般)
        /// </summary>
@@ -880,6 +983,82 @@
            return true;
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool NewUpdateKaipiaoshenqings(EC_OrderExtend model)
        {
            Model.EC_OrderExtend trueModel = model;
            if (trueModel == null)
            {
                return false;
            }
            SqlParameter KaipiaoshenqingTime = null;
            if (trueModel.KaipiaoshenqingTime.HasValue)
            {
                KaipiaoshenqingTime = new SqlParameter("@KaipiaoshenqingTime", trueModel.KaipiaoshenqingTime);
            }
            else
            {
                KaipiaoshenqingTime = new SqlParameter("@KaipiaoshenqingTime", DBNull.Value);
            }
            IList<SqlParameter> sqlParms = new List<SqlParameter>()
            {
                    //new SqlParameter("@Keyid",trueModel.Keyid),
                        KaipiaoshenqingTime,
                          new SqlParameter("@Kaipiaoshenqing",trueModel.Kaipiaoshenqing),
                            new SqlParameter("@KaipiaoshenqingCreater",trueModel.KaipiaoshenqingCreater),
                                new SqlParameter("@KaipiaoshenqingId",trueModel.KaipiaoshenqingId),
            };
            string sql = " Update EC_OrderExtend Set KaipiaoshenqingTime=@KaipiaoshenqingTime ,Kaipiaoshenqing=@Kaipiaoshenqing ,KaipiaoshenqingCreater=@KaipiaoshenqingCreater Where KaipiaoshenqingId=@KaipiaoshenqingId      ";//@keyid
            try
            {
                _dataBase.ExecuteSql(sql, sqlParms.ToArray<SqlParameter>());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool JujueKaipiaoshenqings(EC_OrderExtend model)
        {
            Model.EC_OrderExtend trueModel = model;
            if (trueModel == null)
            {
                return false;
            }
            IList<SqlParameter> sqlParms = new List<SqlParameter>()
            {
                                new SqlParameter("@KaipiaoshenqingId",trueModel.KaipiaoshenqingId),
            };
            string sql = " Update EC_OrderExtend Set KaipiaoshenqingTime=null ,Kaipiaoshenqing=2 ,KaipiaoshenqingCreater=null  ,KaipiaoshenqingId=null   Where KaipiaoshenqingId =@KaipiaoshenqingId ";//@keyid
            try
            {
                _dataBase.ExecuteSql(sql, sqlParms.ToArray<SqlParameter>());
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return true;
        }
        /// <summary>
        /// 修改