using System;
using System.Collections.Generic;
using System.Data;
using SuperMap.RealEstate.ServiceModel;
using Business = SuperMap.RealEstate.FrameWork.Platform.Business;
using HCC = HZQR.Common.Common;
using HZQR.Common;
namespace EShang.Common.GeneralMethod
{
///
/// 数据库表信息相关方法
/// 2023/6/7 15:04:32自动生成
///
public class DATABASETABLEHelper
{
#region 获取数据库表信息列表
///
/// 获取数据库表信息列表
///
/// 事务管理器
/// 查询结果总数
/// 查询条件对象
public static List GetDATABASETABLEList(Transaction transaction,
ref int TotalCount, Model.SearchModel searchModel)
{
List DATABASETABLEList = new List();
string WhereSQL = "", RowFilterSQL = "";
if (searchModel.SearchParameter != null)
{
WhereSQL = OperationDataHelper.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType);
if (WhereSQL != "")
{
WhereSQL = " WHERE " + WhereSQL;
}
}
DataTable dtDATABASETABLE = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASETABLE" + WhereSQL);
//增加组合查询条件
if (searchModel.keyWord != null && !string.IsNullOrWhiteSpace(searchModel.keyWord.Key))
{
foreach (string KeyName in searchModel.keyWord.Key.Split(','))
{
RowFilterSQL += (RowFilterSQL == "" ? "" : " or ") +
KeyName + " like '%" + searchModel.keyWord.Value + "%'";
}
}
if (RowFilterSQL != "")
{
dtDATABASETABLE.DefaultView.RowFilter = RowFilterSQL;
}
//排序:
dtDATABASETABLE.DefaultView.Sort = searchModel.SortStr;
dtDATABASETABLE = dtDATABASETABLE.DefaultView.ToTable();
//获取查询结果总记录条数
TotalCount = dtDATABASETABLE.Rows.Count;
//根据传入的页码和每页显示条数返回结果
dtDATABASETABLE = CommonHelper.GetDataTableWithPageSize(dtDATABASETABLE, searchModel.PageSize, searchModel.PageIndex);
foreach (DataRow drDATABASETABLE in dtDATABASETABLE.Rows)
{
Model.DATABASETABLEModel databasetableModel = new Model.DATABASETABLEModel();
//绑定数据库表信息数据对象
BindDataRowToModel(drDATABASETABLE, databasetableModel);
DATABASETABLEList.Add(databasetableModel);
}
return DATABASETABLEList;
}
#region 绑定model
///
/// 绑定model
///
/// datarow数据源
/// model对象
public static void BindDataRowToModel(DataRow drDATABASETABLE, Model.DATABASETABLEModel databasetableModel)
{
if (drDATABASETABLE["DATABASETABLE_ID"].ToString() != "")
{
databasetableModel.DATABASETABLE_ID = drDATABASETABLE["DATABASETABLE_ID"].TryParseToInt(); //数据库表信息内码
}
if (drDATABASETABLE["DATABASETABLE_PID"].ToString() != "")
{
databasetableModel.DATABASETABLE_PID = drDATABASETABLE["DATABASETABLE_PID"].TryParseToInt(); //父级表内码
}
if (drDATABASETABLE["DATABASEINFO_ID"].ToString() != "")
{
databasetableModel.DATABASEINFO_ID = drDATABASETABLE["DATABASEINFO_ID"].TryParseToInt(); //数据库内码
}
databasetableModel.DATABASEINFO_NAME = drDATABASETABLE["DATABASEINFO_NAME"].ToString(); //数据库名称
databasetableModel.DATABASEINFO_URL = drDATABASETABLE["DATABASEINFO_URL"].ToString(); //数据库地址
databasetableModel.CONNECTION_STRING = drDATABASETABLE["CONNECTION_STRING"].ToString(); //数据库连接字符串
databasetableModel.OWNER_NAME = drDATABASETABLE["OWNER_NAME"].ToString(); //所属用户名称
databasetableModel.TABLE_NAME = drDATABASETABLE["TABLE_NAME"].ToString(); //数据表名称
databasetableModel.TABLE_COMMENTS = drDATABASETABLE["TABLE_COMMENTS"].ToString(); //数据表释义
if (drDATABASETABLE["DATABASETABLE_STATE"].ToString() != "")
{
databasetableModel.DATABASETABLE_STATE = drDATABASETABLE["DATABASETABLE_STATE"].TryParseToShort(); //有效状态
}
if (drDATABASETABLE["STAFF_ID"].ToString() != "")
{
databasetableModel.STAFF_ID = drDATABASETABLE["STAFF_ID"].TryParseToInt(); //操作人内码
}
databasetableModel.STAFF_NAME = drDATABASETABLE["STAFF_NAME"].ToString(); //操作人员
if (drDATABASETABLE["OPERATE_DATE"].ToString() != "")
{
databasetableModel.OPERATE_DATE = drDATABASETABLE["OPERATE_DATE"].TryParseToDateTime(); //操作时间
}
databasetableModel.DATABASETABLE_DESC = drDATABASETABLE["DATABASETABLE_DESC"].ToString(); //备注说明
databasetableModel.DATABASETABLE_TYPE = drDATABASETABLE["DATABASETABLE_TYPE"].ToString(); //数据表分类
if (drDATABASETABLE["DATABASETABLE_IMPORTANCE"].ToString() != "")
{
databasetableModel.DATABASETABLE_IMPORTANCE = drDATABASETABLE["DATABASETABLE_IMPORTANCE"].TryParseToShort(); //重要程度
}
if (drDATABASETABLE["DATABASETABLE_INDEX"].ToString() != "")
{
databasetableModel.DATABASETABLE_INDEX = drDATABASETABLE["DATABASETABLE_INDEX"].TryParseToInt(); //排序索引
}
if (drDATABASETABLE["DATABASETABLE_TYPEINDEX"].ToString() != "")
{
databasetableModel.DATABASETABLE_TYPEINDEX = drDATABASETABLE["DATABASETABLE_TYPEINDEX"].TryParseToInt(); //分类索引
}
if (drDATABASETABLE["DATABASETABLE_USERINDEX"].ToString() != "")
{
databasetableModel.DATABASETABLE_USERINDEX = drDATABASETABLE["DATABASETABLE_USERINDEX"].TryParseToInt(); //自定义索引
}
if (drDATABASETABLE["DATABASETABLE_CHILDPARENT"].ToString() != "")
{
databasetableModel.DATABASETABLE_CHILDPARENT = drDATABASETABLE["DATABASETABLE_CHILDPARENT"].TryParseToShort(); //子父级表
}
if (drDATABASETABLE["SHOW_WHOLEPOWER"].ToString() != "")
{
databasetableModel.SHOW_WHOLEPOWER = drDATABASETABLE["SHOW_WHOLEPOWER"].TryParseToShort(); //是否支持全局权限的配置(0:不支持;1:支持)
}
}
#endregion
#endregion
#region 获取数据库表信息明细
///
/// 获取数据库表信息明细
///
/// 事务管理器
/// 数据库表信息内码
public static Model.DATABASETABLEModel GetDATABASETABLEDetail(Transaction transaction, int DATABASETABLEId)
{
Model.DATABASETABLEModel databasetableModel = new Model.DATABASETABLEModel();
string WhereSQL = "WHERE DATABASETABLE_ID = " + DATABASETABLEId;
//查询明细数据
DataTable dtDATABASETABLE = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASETABLE " + WhereSQL);
if (dtDATABASETABLE.Rows.Count > 0)
{
//绑定数据库表信息数据对象
BindDataRowToModel(dtDATABASETABLE.Rows[0], databasetableModel);
}
return databasetableModel;
}
#endregion
#region 同步数据库表信息
///
/// 赋值数据库表信息数据对象
///
/// 事务管理器
/// 数据库表信息数据对象
public static bool SynchroDATABASETABLE(Transaction transaction, Model.DATABASETABLEModel databasetableModel)
{
bool SynchroFlag = true;
string SQLString;
List excludeField = new List();
Dictionary dateFieldList = new Dictionary();
string tableName = "PLATFORM_FRAMEWORK.T_DATABASETABLE", keyField = "DATABASETABLE_ID", seqName = "SEQ_DATABASETABLE";
Business.PERMISSIONAPPLY _PERMISSIONAPPLY = new Business.PERMISSIONAPPLY(transaction);
#region 添加SQL语句中需要排除在外的字段
#endregion
#region 添加SQL语句中日期相关字段的执行语句
#endregion
if (databasetableModel.DATABASETABLE_ID != null)
{
string WhereSQL = " WHERE DATABASETABLE_ID = " + databasetableModel.DATABASETABLE_ID;
DataTable dtDATABASETABLE = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT * FROM PLATFORM_FRAMEWORK.T_DATABASETABLE" + WhereSQL);
if (dtDATABASETABLE.Rows.Count > 0)
{
SQLString = OperationDataHelper.GetTableExcuteSQL(
databasetableModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL);
}
else
{
return false;
}
}
else
{
DataTable dtDATABASETABLE = _PERMISSIONAPPLY.ExecuteDataTable(
"SELECT " + seqName + ".NEXTVAL FROM DUAL");
databasetableModel.DATABASETABLE_ID = dtDATABASETABLE.Rows[0][0].TryParseToInt();
SQLString = OperationDataHelper.GetTableExcuteSQL(
databasetableModel, 0, tableName, keyField, seqName, dateFieldList, excludeField);
}
_PERMISSIONAPPLY.ExecuteNonQuery(SQLString, null);
return SynchroFlag;
}
#endregion
#region 删除数据库表信息
///
/// 删除数据库表信息
///
/// 事务管理器
/// 数据库表信息内码
public static bool DeleteDATABASETABLE(Transaction transaction, int? DATABASETABLEId)
{
bool DeleteFlag = false;
if (DATABASETABLEId != null)
{
string SQLString = "UPDATE PLATFORM_FRAMEWORK.T_DATABASETABLE SET DATABASETABLE_STATE = 0 WHERE DATABASETABLE_ID = " + DATABASETABLEId;
int ExcuteCount = new Business.PERMISSIONAPPLY(transaction).ExecuteNonQuery(SQLString, null);
if (ExcuteCount > 0)
{
DeleteFlag = true;
}
}
return DeleteFlag;
}
#endregion
}
}