using Dapper;
using Estsh.Core.Dapper;
using Estsh.Core.IRepositories;
using Estsh.Core.Models;
using System.Collections;
using System.Data;
using System.Text;
/***************************************************************************************************
*
* 更新人:sitong.dong
* 描述:部门管理
* 修改时间:2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
///
/// 部门管理
///
public class DeptRepository : BaseRepository, IDeptRepository
{
public DeptRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 成员方法
///
/// 根据传入条件获得部门列表数据
///
public List getList(string strWhere, string filedOrder)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder strSql = new StringBuilder();
strSql.Append(" select * from dbo.sys_dept");
if (strWhere != null && !strWhere.Trim().Equals(""))
{
strSql.Append(" where " + strWhere);
}
if (filedOrder != null && !filedOrder.Trim().Equals(""))
{
strSql.Append(" order by " + filedOrder);
}
List result = dbConn.Query(strSql.ToString()).ToList();
return result;
}
}
///
/// 根据分页条件获取分页数据列表
///
public Hashtable getListByPage(int PageSize, int PageIndex, string strWhere, string OrderBy)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
Hashtable result = new Hashtable();
// 动态类型参数
DynamicParameters paras = new DynamicParameters();
paras.Add("@Table", typeof(SysDept).GetEntityTableName());
paras.Add("@Column", " * ");
paras.Add("@OrderColumn", OrderBy);
paras.Add("@GroupColumn", "");
paras.Add("@PageSize", PageSize);
paras.Add("@CurrentPage", PageIndex);
paras.Add("@Group", 0);
paras.Add("@Condition", strWhere);
paras.Add("@TotalCount", 0, DbType.Int32, ParameterDirection.Output);
paras.Add("@TotalPage", 0, DbType.Int32, ParameterDirection.Output);
List depts = dbConn.Query("Com_Pagination", paras, commandType: CommandType.StoredProcedure).ToList();
result.Add("dataList", depts);
result.Add("totalCount", paras.Get("@TotalCount"));
return result;
}
}
///
/// 插入部门数据
///
///
///
public int saveDept(SysDept dept)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO sys_dept (dept_code ");
SqlStringBuilder.Append(" , dept_name ");
SqlStringBuilder.Append(" , guid ");
SqlStringBuilder.Append(" ,dept_desc ");
SqlStringBuilder.Append(" ,create_userid ");
SqlStringBuilder.Append(" ,create_time ");
SqlStringBuilder.Append(" ,enabled) ");
SqlStringBuilder.Append(" VALUES(@deptCode ");
SqlStringBuilder.Append(" , @deptName ");
SqlStringBuilder.Append(" , @guid ");
SqlStringBuilder.Append(" ,@deptDesc");
SqlStringBuilder.Append(" ,@createUserid");
SqlStringBuilder.Append(" ,CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append(" ,'Y')");
var result = dbConn.Execute(SqlStringBuilder.ToString(), dept);
return result;
}
}
///
/// 更新部门数据
///
///
///
public int updateDept(SysDept dept)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("update sys_dept ");
SqlStringBuilder.Append("SET dept_code=@deptCode ");
SqlStringBuilder.Append(", dept_name=@deptName ");
SqlStringBuilder.Append(", dept_desc=@deptDesc ");
SqlStringBuilder.Append(",update_userid = @updateUserId ");
SqlStringBuilder.Append(",update_time = CONVERT(varchar(50), GETDATE(), 21)");
SqlStringBuilder.Append("WHERE dept_id=@deptId ");
var result = dbConn.Execute(SqlStringBuilder.ToString(), dept);
return result;
}
}
///
/// 删除部门数据
///
///
///
public int deleteDept(String deptId)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_dept set Enabled='N' where dept_id = "+ deptId;
var result = dbConn.Execute(delStr);
return result;
}
}
//启用
public int EnableData(String ids)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
String delStr = "update sys_dept set Enabled='Y' WHERE dept_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_dept set Enabled='N' WHERE dept_id in (" + ids + ")";
int result = dbConn.Execute(delStr);
return result;
}
}
public async Task> GetAll()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
var result = await Task.Run(() => dbConn.Query("SELECT * FROM sys_dept").ToList());
return result;
}
}
#endregion 成员方法
}
}