using System;
using System.Collections.Generic;
using System.Text;
using Song.Entities;
using System.Data;
namespace Song.ServiceInterfaces
{
///
/// 管理后台的菜单
///
public interface IDepart : WeiSha.Common.IBusinessInterface
{
///
/// 添加
///
/// 业务实体
int Add(Depart entity);
///
/// 修改
///
/// 业务实体
void Save(Depart entity);
///
/// 修改院系排序
///
///
void SaveOrder(string xml);
///
/// 删除
///
/// 业务实体
void Delete(Depart entity);
///
/// 删除,按主键ID;
///
/// 实体的主键
void Delete(int identify);
///
/// 删除,按院系名称
///
/// 院系名称
void Delete(string name);
///
/// 获取单一实体对象,按主键ID;
///
/// 实体的主键
///
Depart GetSingle(int identify);
///
/// 获取单一实体对象,按院系名称
///
/// 院系名称
///
Depart GetSingle(string name);
///
/// 获取当前对象的父级对象;
///
/// 当前实体的主键
///
Depart GetParent(int identify);
///
/// 获取当前对象的父级对象;
///
/// 当前院系的名称
///
Depart GetParent(string name);
///
/// 获取对象;即所有院系;
///
///
Depart[] GetAll(int orgid);
Depart[] GetAll(int orgid, bool? isUse, bool? isShow);
///
/// 获取当前对象的下一级子对象;
///
/// 当前实体的主键
/// 当前对象的下一级子对象
Depart[] GetChilds(int identify);
///
/// 当前对象名称是否重名
///
/// 业务实体
///
bool IsExist(int orgid, Depart entity);
///
/// 在当前对象的同级(兄弟中),该对象是否重名,
///
/// 业务实体
/// 是否限制在当前层的判断;true,表示仅在当前层判断,false表示在所有对象中判断
///
bool IsExist(int orgid, Depart entity, bool isSibling);
///
/// 移动对象到其它节点下;
///
/// 当前对象id
/// 要移动到某个节点下的id,即父节点id
///
bool Remove(int currentId, int parentId);
///
/// 将当前项目向上移动;仅在当前对象的同层移动,即同一父节点下的对象这前移动;
///
///
/// 如果已经处于顶端,则返回false;移动成功,返回true
bool RemoveUp(int id);
///
/// 将当前项目向下移动;仅在当前对象的同层移动,即同一父节点下的对象这前移动;
///
///
/// 如果已经处于顶端,则返回false;移动成功,返回true
bool RemoveDown(int id);
}
}