You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

152 lines
4.6 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Estsh.Core.Dapper;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repository.IRepositories;
using Estsh.Core.Services.IServices;
using Estsh.Core.Util;
using System.Collections;
/***************************************************************************************************
*
* 更新人sitong.dong
* 描述:枚举数据管理控制类
* 修改时间2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Services
{
/// <summary>
/// 枚举业务处理类
/// </summary>
public class EnumService : BaseService<SysEnum>, IEnumService
{
private readonly IEnumRepository repository;
public EnumService(IEnumRepository _repository) : base(_repository)
{
repository = _repository;
}
/// <summary>
/// 获取根据类型获取枚举数据
/// </summary>
/// <returns></returns>
public List<SysEnum> getEnumList(string enumType)
{
return repository.getEnumList(enumType);
}
/// <summary>
/// 根据分页条件获取分页枚举数据
/// </summary>
/// <param name="menuName"></param>
/// <param name="pager"></param>
/// <param name="direction"></param>
/// <param name="sort"></param>
/// <returns></returns>
public Hashtable getEnumListByPage(String enumType, Pager pager, String direction, String sort, String enabled)
{
Hashtable result = new Hashtable();
String strWhere = " 1=1 ";
if (enumType != null && !enumType.Trim().Equals(""))
{
strWhere += " and enum_type like '%" + enumType.Trim() + "%'";
}
if (enabled != null && !enabled.Trim().Equals(""))
{
strWhere += " and enabled ='" + enabled + "'";
}
String orderBy = "";
if (sort != null && !"".Equals(sort.Trim()))
{
orderBy += typeof(SysEnum).GetEntityColumnName(sort.Trim()) + " " + direction;
}
else
{
orderBy += typeof(SysEnum).GetEntityColumnName("EnumId") + " " + direction;
}
result = repository.getListByPage(pager.pageSize, pager.pageNo, strWhere, orderBy);
return result;
}
/// <summary>
/// 获取下拉框中的枚举类型数据
/// </summary>
/// <returns></returns>
public List<KeyValueResult> getEnumTypeList()
{
return repository.getEnumTypeList();
}
/// <summary>
/// 保存枚举数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int saveEnum(SysEnum htParams)
{
return repository.saveEnum(htParams);
}
/// <summary>
/// 更新枚举数据
/// </summary>
/// <param name="htParams"></param>
/// <returns></returns>
public int updateEnum(SysEnum htParams)
{
return repository.updateEnum(htParams);
}
/// <summary>
/// 查看枚举数据详情
/// </summary>
/// <param name="ruid"></param>
/// <returns></returns>
public List<SysEnum> getEnumDetail(String enum_id)
{
return repository.getEnumById(enum_id);
}
/// <summary>
/// 删除枚举数据
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int deleteEnum(String ids)
{
String[] idArray = ids.Split(',');
int count = 0;
foreach (String id in idArray)
{
if (!"".Equals(id))
{
count += this.repository.deleteEnum(id);
}
}
return count;
}
/// <summary>
/// 启用
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int EnableData(String ids)
{
ids = ids.Substring(0, ids.Length - 1);
return this.repository.EnableData(ids);
}
/// <summary>
/// 禁用
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public int DisableData(String ids)
{
ids = ids.Substring(0, ids.Length - 1);
return this.repository.DisableData(ids);
}
}
}