using Learun.DataBase.Repository;
using Learun.Util;
using System.Collections.Generic;
using System.Data;
namespace Learun.Application.Base.SystemModule
{
///
/// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
/// Copyright (c) 2013-2018 北京泉江科技有限公司
/// 创建人:陈彬彬
/// 日 期:2017.03.08
/// 描 述:数据库连接
///
public interface DatabaseLinkIBLL
{
#region 获取数据
///
/// 获取列表数据
///
///
List GetList();
///
/// 获取映射数据
///
///
Dictionary GetMap();
///
/// 获取列表数据(去掉连接串地址信息)
///
///
List GetListByNoConnection();
///
/// 获取列表数据
///
/// 关键字
///
List GetListByNoConnection(string keyword);
///
/// 获取树形数据
///
///
List GetTreeList();
///
/// 获取树形数据
///
///
List GetTreeListEx();
///
/// 获取数据连接实体
///
/// 主键
///
DatabaseLinkEntity GetEntity(string databaseLinkId);
#endregion
#region 提交数据
///
/// 删除自定义查询条件
///
/// 主键
void VirtualDelete(string keyValue);
///
/// 保存自定义查询(新增、修改)
///
/// 主键值
/// 部门实体
///
bool SaveEntity(string keyValue, DatabaseLinkEntity databaseLinkEntity);
#endregion
#region 扩展方法
///
/// 测试数据数据库是否能连接成功
///
/// 连接串
/// 数据库类型
/// 主键
bool TestConnection(string connection, string dbType, string keyValue);
///
/// 根据指定数据库执行sql语句
///
/// 数据库主键
/// sql语句
/// 参数
void ExecuteBySql(string databaseLinkId, string sql, object dbParameter = null);
///
/// 根据指定数据库执行存储过程
///
/// 数据库主键
/// 存储过程
/// 参数
void ExecuteByProc(string databaseLinkId, string procName, object dbParameter = null);
///
/// 根据数据库执行sql语句,查询数据->datatable
///
/// 数据库主键
/// sql语句
/// 参数
///
DataTable FindTable(string databaseLinkId, string sql, object dbParameter = null);
///
/// 根据数据库执行sql语句,查询数据->datatable(分页)
///
/// 数据库主键
/// sql语句
/// 参数
/// 分页参数
///
DataTable FindTable(string databaseLinkId, string sql, object dbParameter, Pagination pagination);
///
/// 开启事务
///
/// 数据库连接信息
///
IRepository BeginTrans(string databaseLinkId);
///
/// 根据指定数据库执行sql语句(事务)
///
/// sql语句
/// 参数
/// db
void ExecuteBySqlTrans(string sql, object dbParameter, IRepository db);
#endregion
}
}