コード例 #1
0
        /// <summary>
        /// 将暂存信息上传-注:只有插入效果
        /// </summary>
        /// <param name="souredt"></param>
        /// <returns></returns>
        public bool ImportTempDtToDb(DataTable souredt)
        {
            var result    = true;
            var tableName = string.Empty;

            try
            {
                //获取三个临时表(分别针对对应的数据表)
                var tempOrderDt      = dbList.GetTempOrderTemp();
                var tempOrderHeadDt  = dbList.GetTempOrderHeadTemp();
                var tempOrderEntryDt = dbList.GetTempOrderEntryTemp();

                //创建产成品名称临时表
                var bomproductorderdt = dbList.CreateBomProductTemp();

                //过滤得出不相同的‘产品名称’临时表
                foreach (DataRow rows in souredt.Rows)
                {
                    if (bomproductorderdt.Select("ProductName='" + rows[11] + "'").Length > 0)
                    {
                        continue;
                    }
                    var newrow = bomproductorderdt.NewRow();
                    newrow[0] = rows[11];
                    bomproductorderdt.Rows.Add(newrow);
                }

                //将数据插入至TempOrderDt临时表
                tempOrderDt = GetDataToTempOrderDt(tempOrderDt, souredt.Rows[0]);

                foreach (DataRow rows in bomproductorderdt.Rows)
                {
                    var dtlrows = souredt.Select("ProductName='" + rows[0] + "'");
                    //根据‘产品名称’为条件,所获得的数据进行循环插入至对应的临时表内
                    for (var i = 0; i < dtlrows.Length; i++)
                    {
                        //先插入信息至offerOrderHeadDt临时表内
                        tempOrderHeadDt.Merge(GetDataToTempOrderHeadDt(Convert.ToInt32(tempOrderDt.Rows[0][0]), tempOrderHeadDt, dtlrows[i]));
                        //根据‘产品名称’获取对应的Headid值
                        var headid = Convert.ToInt32(tempOrderHeadDt.Select("ProductName='" + rows[0] + "'")[0][1]);
                        //然后再将相关信息插入至offerOrderEntryDt临时表内
                        tempOrderEntryDt.Merge(GetDataToTempOrderEntryDt(headid, tempOrderEntryDt, dtlrows[i]));
                    }
                }

                //将整理好的三个临时表通过循环分别放到‘插入’ ‘更新’方法内执行;
                for (var i = 0; i < 3; i++)
                {
                    switch (i)
                    {
                    //0:T_TempOrder
                    case 0:
                        tableName = "T_TempOrder";
                        ImportDtToDb(tableName, tempOrderDt);
                        break;

                    //1:T_TempOrderHead
                    case 1:
                        tableName = "T_TempOrderHead";
                        ImportDtToDb(tableName, tempOrderHeadDt);
                        break;

                    //2:T_TempOrderEntry
                    case 2:
                        tableName = "T_TempOrderEntry";
                        ImportDtToDb(tableName, tempOrderEntryDt);
                        break;
                    }
                }
            }
            catch (Exception)
            {
                result = false;
            }
            return(result);
        }