public ReplenishmentAndReplenishmentDetail GenerateReplenishmentByNumber(IEnumerable <ReplenishmentDetailSKUs> list, string ProjectID, string CustomerID, string CustomerName, string WarehouseID, string WarehouseName, string Remark, string Creator, int Number)
        {
            ReplenishmentAndReplenishmentDetail request = new ReplenishmentAndReplenishmentDetail();

            using (SqlConnection conn = new SqlConnection(BaseAccessor._dataBase.ConnectionString))
            {
                try
                {
                    string     message = "";
                    DataSet    ds      = new DataSet();
                    SqlCommand cmd     = new SqlCommand("Proc_WMS_ReplenishmentBySKUAndNumber", conn);                //Proc_WMS_AutomatedOutbound     Proc_WMS_AutomatedOutbound_Total
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@SKUTable", list.Select(a => new WMSReplenishmentDetailSKUToDb(a))); //这是声明一个参数 并赋值
                    cmd.Parameters[0].SqlDbType = SqlDbType.Structured;                                               //声明第一个参数的类型
                    cmd.Parameters.AddWithValue("@ProjectID", ProjectID);                                             //声明第二个参数  并赋值
                    cmd.Parameters[1].SqlDbType = SqlDbType.BigInt;                                                   // 声明第二个参数的类型
                    cmd.Parameters.AddWithValue("@CustomerID", CustomerID);
                    cmd.Parameters[2].SqlDbType = SqlDbType.BigInt;
                    cmd.Parameters.AddWithValue("@CustomerName", CustomerName);
                    cmd.Parameters[3].SqlDbType = SqlDbType.NVarChar;
                    cmd.Parameters.AddWithValue("@WarehouseID", WarehouseID);
                    cmd.Parameters[4].SqlDbType = SqlDbType.BigInt;
                    cmd.Parameters.AddWithValue("@WarehouseName", WarehouseName);
                    cmd.Parameters[5].SqlDbType = SqlDbType.NVarChar;
                    cmd.Parameters.AddWithValue("@Remark", Remark);
                    cmd.Parameters[6].SqlDbType = SqlDbType.NVarChar;
                    cmd.Parameters.AddWithValue("@Creator", Creator);
                    cmd.Parameters[7].SqlDbType = SqlDbType.NVarChar;
                    cmd.Parameters.AddWithValue("@Number", Number);
                    cmd.Parameters[8].SqlDbType = SqlDbType.BigInt;
                    cmd.Parameters.AddWithValue("@Message", message);        //声明第四个参数
                    cmd.Parameters[9].SqlDbType = SqlDbType.NVarChar;        //声明参数的类型
                    cmd.Parameters[9].Direction = ParameterDirection.Output; //声明参数是输出类型
                    cmd.Parameters[9].Size      = 8000;
                    cmd.CommandTimeout          = 300;
                    conn.Open();

                    SqlDataAdapter sda = new SqlDataAdapter();
                    sda.SelectCommand = cmd;
                    sda.Fill(ds);                                                        //将得到的数据 填充到DataTable中
                    message = sda.SelectCommand.Parameters["@Message"].Value.ToString(); //获得数据库  out出来的参数的值 (并不是由return 而来)
                    conn.Close();
                    request.replenishment        = ds.Tables[1].ConvertToEntity <Replenishment>();
                    request.replenishmentDetails = ds.Tables[2].ConvertToEntityCollection <ReplenishmentDetail>();
                }
                catch (Exception ex)
                {
                    throw;
                }
            }

            //request.replenishment = ds.Tables[0].ConvertToEntity<Replenishment>();
            //request.replenishmentDetails = ds.Tables[1].ConvertToEntityCollection<ReplenishmentDetail>();
            return(request);
        }
        //点击新增  查看  编辑
        public ReplenishmentAndReplenishmentDetail GetReplenishmentInfos(int ID)
        {
            ReplenishmentAndReplenishmentDetail request = new ReplenishmentAndReplenishmentDetail();

            DbParam[] dbParams = new DbParam[] {
                new DbParam("@ID", DbType.Int32, ID, ParameterDirection.Input),
            };
            DataSet ds = base.ExecuteDataSet("Proc_WMS_GetReplenishmentInfos", dbParams);

            request.replenishment        = ds.Tables[0].ConvertToEntity <Replenishment>();
            request.replenishmentDetails = ds.Tables[1].ConvertToEntityCollection <ReplenishmentDetail>();
            return(request);
        }
 //完成
 public bool Complate(int ID)
 {
     try
     {
         ReplenishmentAndReplenishmentDetail request = new ReplenishmentAndReplenishmentDetail();
         DbParam[] dbParams = new DbParam[] {
             new DbParam("@ID", DbType.Int32, ID, ParameterDirection.Input),
         };
         base.ExecuteNoQuery("Proc_ComplateReplnishment", dbParams);
     }
     catch (Exception)
     {
         return(false);
     }
     return(true);
 }