using Dapper; using Estsh.Core.Dapper; using Estsh.Core.Model.Result; using Estsh.Core.Models; using Estsh.Core.Repository.IRepositories; using System.Collections; using System.Data; using System.Text; /*************************************************************************************************** * * 更新人:sitong.dong * 描述:枚举数据数据库访问类 * 修改时间:2022.06.22 * 修改日志:系统迭代升级 * **************************************************************************************************/ namespace Estsh.Core.Repositories { /// /// 处理枚举数据管理的业务数据 /// public class EnumRepository : BaseRepository, IEnumRepository { public EnumRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext) { } #region 成员方法 /// /// 根据分页条件获取分页数据列表 /// public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); Hashtable result = new Hashtable(); DynamicParameters parameters = new DynamicParameters(); parameters.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output); parameters.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output); parameters.Add( "@Table", "sys_enum"); parameters.Add( "@Column", "*"); parameters.Add( "@OrderColumn", OrderBy); parameters.Add( "@GroupColumn", ""); parameters.Add( "@PageSize", PageSize); parameters.Add( "@CurrentPage", PageIndex); parameters.Add( "@Group", 0); parameters.Add( "@Condition", strWhere); List depts = dbConn.Query("Com_Pagination", parameters, commandType: CommandType.StoredProcedure).ToList(); result.Add("dataList", depts); result.Add("totalCount", parameters.Get("@TotalCount")); return result; } } /// /// 获取下拉框枚举类型数据 /// /// public List getEnumTypeList() { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("select DISTINCT enum_type as [value],enum_type as [key] from dbo.sys_enum where enabled='Y' "); List result = dbConn.Query(strSql.ToString()).ToList(); return result; } } /// /// 获取根据类型获取枚举数据 /// /// public List getEnumList(string enumType) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder strSql = new StringBuilder(); strSql.Append("select * from dbo.sys_enum where enabled='Y' AND enum_type = @enumType "); DynamicParameters parameters = new DynamicParameters(); parameters.Add("@enumType", enumType); List result = dbConn.Query(strSql.ToString(), parameters).ToList(); return result; } } /// /// 根据枚举ID获取枚举明细数据 /// /// /// public List getEnumById(string enumId) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("SELECT enum_id, enum_type, enum_value,enum_name, enum_desc "); SqlStringBuilder.Append("FROM dbo.sys_enum "); SqlStringBuilder.Append("WHERE enum_id = @enum_id "); DynamicParameters ht = new DynamicParameters(); ht.Add("@enum_id", enumId); List result = dbConn.Query(SqlStringBuilder.ToString(), ht).ToList(); return result; } } /// /// 插入枚举数据 /// /// /// public int saveEnum(SysEnum htParams) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("INSERT INTO dbo.sys_enum ( enum_type, enum_value,enum_name, enum_desc, factory_id,factory_code,create_userid, "); SqlStringBuilder.Append(" create_time ,enabled)"); SqlStringBuilder.Append("VALUES ( @enumType, @enumValue,@enumName, @enumDesc,@factoryId,@factoryCode, @createUserid, "); SqlStringBuilder.Append(" CONVERT(varchar(50), GETDATE(), 21), "); SqlStringBuilder.Append(" 'Y' )"); var result = dbConn.Execute(SqlStringBuilder.ToString(), htParams); return result; } } /// /// 更新枚举数据 /// /// /// public int updateEnum(SysEnum htParams) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); StringBuilder SqlStringBuilder = new StringBuilder(1024); SqlStringBuilder.Append("UPDATE dbo.sys_enum "); SqlStringBuilder.Append("SET enum_type = @enumType, enum_value = @enumValue,enum_name=@enumName, "); SqlStringBuilder.Append(" enum_desc = @enumDesc,factory_id=@factoryId,factory_code=@factoryCode, update_userid = @updateUserid, "); SqlStringBuilder.Append(" update_time = CONVERT(varchar(50), GETDATE(), 21) "); SqlStringBuilder.Append("WHERE enum_id = @enumId "); var result = dbConn.Execute(SqlStringBuilder.ToString(), htParams); return result; } } /// /// 删除枚举数据 /// /// /// public int deleteEnum(String enumId) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); DynamicParameters htparams = new DynamicParameters(); htparams.Add("@enum_id", enumId); String delStr = "update sys_enum set Enabled='N' where enum_id = @enum_id"; var result = dbConn.Execute(delStr, htparams); return result; } } //启用 public int EnableData(String ids) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); String delStr = "update sys_enum set Enabled='Y' WHERE enum_id in (" + ids + ")"; int result = dbConn.Execute(delStr); return result; } } //禁用 public int DisableData(String ids) { using (IDbConnection dbConn = dapperDbContext.GetDbConnection()) { dbConn.Open(); String delStr = "update sys_enum set Enabled='N' WHERE enum_id in (" + ids + ")"; int result = dbConn.Execute(delStr); return result; } } #endregion 成员方法 } }