using ce.autofac.extension;
using learun.util;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace learun.iapplication
{
///
/// 版 本 EasyCode EC管理后台
/// Copyright (c) 2019-present EC管理有限公司
/// 创建人:tobin
/// 日 期:2019.09.24
/// 描 述:部门管理
///
public interface DepartmentIBLL : IBLL
{
#region 获取数据
///
/// 获取部门列表信息(根据公司Id)
///
/// 公司Id
///
Task> GetList(string companyId);
///
/// 获取部门列表信息(根据公司Id)
///
/// 公司Id
/// 查询关键字
///
Task> GetList(string companyId, string keyWord);
///
/// 获取部门列表信息
///
/// 关键字
///
Task> GetAllList(string keyWord);
///
/// 获取部门列表信息(根据公司Id 和 父级 id)
///
/// 公司主键
/// 父级 id
///
Task> GetListByPid(string companyId, string pid);
///
/// 获取部门列表信息(根据部门ID集合)
///
/// 部门ID集合
///
Task> GetListByKeys(List keyValues);
///
/// 获取部门数据实体
///
/// 主键
///
Task GetEntity(string keyValue);
///
/// 获取树形数据
///
/// 公司id
/// 父级id
///
Task> GetTree(string companyId, string parentId);
///
/// 获取树形数据
///
/// 公司数据
///
Task> GetTree(IEnumerable companylist);
///
/// 获取部门本身和子部门的id
///
/// 公司id主键
/// 父级ID
///
Task> GetSubNodes(string companyId, string parentId);
#endregion 获取数据
#region 提交数据
///
/// 删除部门信息
///
/// 主键
Task Delete(string keyValue);
///
/// 保存部门信息(新增、修改)
///
/// 主键值
/// 部门实体
///
Task SaveEntity(string keyValue, DepartmentEntity departmentEntity);
#endregion 提交数据
}
}