BaseBusiness唯一性判断
2017-02-27 13:06:19 访问(1468) 赞(0) 踩(0)
using System;
using System.Collections.Generic;
using System.Text;
using SlowX.Core.Entity;
using SlowX.DAL.Helpers;
using System.Data;
using System.Reflection;
using SlowX.Core.Classes;
using SlowX.Core.Functions;
using SlowX.Core.IBusiness;
using SlowX.DAL.Classes;
using SlowX.Core.ICoreClasses;
using SlowX.Core.Common;
using SlowX.Core.Model;
using SlowX.Core.CreateCodeClasses;
using SlowX.Core.DataSourceItems;
using SlowX.DAL.Functions;
using SlowX.Core.CacheContainers;
using SlowX.Core.CoreClasses;
using SlowX.DAL.DataBaseHelpers;
using SlowX.DAL.Utils;
namespace SlowX.Core.Business
{
/// <summary>
///
/// </summary>
public partial class BaseBusiness
{
#region IUniqueHelperBusiness
/// <summary>
/// 唯一性相关的操作
/// </summary>
public IUniqueHelperBusiness i_IUniqueHelper
{
get
{
return this;
}
}
/// <summary>
/// 判断数据是否唯一
/// </summary>
/// <param name="pkValue"></param>
/// <param name="dataColumnName"></param>
/// <param name="dataColumnValue"></param>
/// <param name="xdbHelper">数据库链接串</param>
/// <returns></returns>
public bool IsUnique
(
object pkValue,
string dataColumnName,
object dataColumnValue,
DBHelper xdbHelper
)
{
bool theResult = false;
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper
=
SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
BaseEntity entity = this.CreateBaseEntity();
IQueryDriver iq = entity;
EntityFieldInfo pkInfo
=
entity.GetIDEntityFieldInfo();
iq.AddIQueryItemWithEntityFieldInfo(pkInfo, Enums.SqlLink.EmSqlLink.NotEqual, pkValue);
iq.AddIQueryItemWithEntityFieldInfoName(dataColumnName, dataColumnValue);
theResult = !IsExist(entity, xdbHelper);
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
return theResult;
}
/// <summary>
/// 判断数据是否唯一
/// </summary>
/// <param name="pkValue"></param>
/// <param name="dataColumnName"></param>
/// <param name="dataColumnValue"></param>
/// <param name="configDataColumnName"></param>
/// <param name="configDataColumnValue"></param>
/// <param name="xdbHelper">数据库链接串</param>
/// <returns></returns>
public bool IsUnique
(
object pkValue,
string dataColumnName,
object dataColumnValue,
string configDataColumnName,
object configDataColumnValue,
DBHelper xdbHelper
)
{
bool theResult = false;
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
BaseEntity entity = this.CreateBaseEntity();
IQueryDriver iq = entity;
EntityFieldInfo pkInfo = entity.GetIDEntityFieldInfo();
iq.AddIQueryItemWithEntityFieldInfo(pkInfo, Enums.SqlLink.EmSqlLink.NotEqual, pkValue);
iq.AddIQueryItemWithEntityFieldInfoName(dataColumnName, dataColumnValue);
iq.AddIQueryItemWithEntityFieldInfoName(configDataColumnName, configDataColumnValue);
theResult = !IsExist(entity, xdbHelper);
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
return theResult;
}
/// <summary>
/// 判断数据是否唯一
/// </summary>
/// <param name="pkValue"></param>
/// <param name="dataColumnName"></param>
/// <param name="dataColumnValue"></param>
/// <param name="configDataColumnName"></param>
/// <param name="isToLower"></param>
/// <param name="configDataColumnValue"></param>
/// <param name="xdbHelper">数据库链接串</param>
/// <returns></returns>
public bool IsUnique
(
object pkValue,
string dataColumnName,
object dataColumnValue,
string configDataColumnName,
bool isToLower,
object configDataColumnValue,
DBHelper xdbHelper
)
{
bool theResult = false;
bool bIsCreate = true;
if (xdbHelper == null)
{
xdbHelper = SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
}
else
{
// 没有打开链接 //
bIsCreate = xdbHelper.IsNotOpen();
}
try
{
if (bIsCreate)
xdbHelper.OpenDBHelper();
BaseEntity entity = this.CreateBaseEntity();
IQueryDriver iq = entity;
EntityFieldInfo pkInfo = entity.GetIDEntityFieldInfo();
iq.AddIQueryItemWithEntityFieldInfo(pkInfo, Enums.SqlLink.EmSqlLink.NotEqual, pkValue);
iq.AddIQueryItemWithEntityFieldInfoName(dataColumnName, dataColumnValue);
if (isToLower)
{
if (configDataColumnValue == null)
{
iq.AddIQueryItemWithEntityFieldInfoName(configDataColumnName, configDataColumnValue);
}
else
{
iq.AddIQueryItemWithEntityFieldInfoName
(
configDataColumnName,
DataColumnQueryAssist.dataColumnQueryAssistEmStringCaseLower,
configDataColumnValue
);
}
}
else
{
iq.AddIQueryItemWithEntityFieldInfoName(configDataColumnName, configDataColumnValue);
}
theResult = !IsExist(entity, xdbHelper);
if (bIsCreate)
xdbHelper.EndDBHelper();
}
catch (Exception err)
{
if (bIsCreate)
xdbHelper.TranDBHelper();
throw err;
}
finally
{
if (bIsCreate)
xdbHelper.FinallyDBHelper();
}
return theResult;
}
#endregion IUniqueHelperBusiness
}
}
标签:
BaseBusiness唯一性判断 


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