通过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实现克隆的代码 


上一条:
下一条:
相关评论
发表评论