通过Ids实现克隆的代码

2015-10-28 15:28:48  访问(1869) 赞(0) 踩(0)

   
        /// <summary>
        /// 系统设置克隆
        /// </summary>
        /// <param name="strIds"></param>
        /// <param name="xdbHelper"></param>
        /// <returns></returns>
        public List<SysAppConfigModel> _SysAppConfigManageClone
            (
                string strIds,
                DBHelper xdbHelper
            )
        {


            List<SysAppConfigModel> theResult
                =
                null;

            bool bIsCreate = true;

            if (xdbHelper == null)
            {
                xdbHelper
                    =
                    SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
            }
            else
            {
                // 没有打开链接 //
                bIsCreate = xdbHelper.IsNotOpen();
            }

            try
            {
                if (bIsCreate)
                    xdbHelper.OpenDBHelper();


                eKing.XlyLib.Business.UTB_EK_GPS_SYSAPPCONFIG
                    bll
                    =
                    eKing.XlyLib.Business.UTB_EK_GPS_SYSAPPCONFIG.instance;

                eKing.XlyLib.Entity.UTB_EK_GPS_SYSAPPCONFIG
                    entity
                    =
                    new eKing.XlyLib.Entity.UTB_EK_GPS_SYSAPPCONFIG();

                IQueryDriver iq = entity;

                iq.AddIQueryItemWithEntityFieldInfo
                    (
                        entity._ID, 
                        SlowX.Core.Enums.SqlLink.EmSqlLink.In,
                        strIds
                    );

                DataSet ds = bll.List(entity, xdbHelper);

                ISaveDriver isave = entity;
                long newId = 0;
                DateTime dtNow = bll.GetNow(xdbHelper);

                string dcName = null;

                eKing.XlyLib.DataColumnLowerNameInfo.UTB_EK_GPS_SYSAPPCONFIG
                    ni
                    =
                    eKing.XlyLib.DataColumnLowerNameInfo.UTB_EK_GPS_SYSAPPCONFIG.instance;

                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    isave.ClearAllISaveItem();

                    foreach (DataColumn dc in ds.Tables[0].Columns)
                    {
                        dcName = dc.ColumnName.Trim().ToLower();

                        if (dcName == ni.ID)
                        {
                            newId = bll.GetNewLongID(xdbHelper);
                            isave.AddISaveItem(entity._ID, newId);
                            continue;
                        }

                        if (dcName == ni.CreateTime
                            || dcName == ni.UpdateTime)
                        {
                            isave.AddISaveItemByName(dcName, dtNow);
                            continue;
                        }

                        if (dcName == ni.TheName)
                        {
                            isave.AddISaveItem(entity._TheName, "克隆-" + dr[dcName].ToString());
                            continue;
                        }

                        isave.AddISaveItemByName(dcName, dr[dcName]);
                    }

                    bll.Insert(entity, xdbHelper);
                }

                theResult = _SysAppConfigManageList(xdbHelper);

                if (bIsCreate)
                    xdbHelper.EndDBHelper();

                 
             

            }
            catch (Exception err)
            {
                if (bIsCreate)
                    xdbHelper.TranDBHelper();

                throw err;
            }
            finally
            {
                if (bIsCreate)
                    xdbHelper.FinallyDBHelper();
            }

            return theResult;

        }


标签:通过Ids实现克隆的代码 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)