using Microsoft.Extensions.Localization; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using static RoadFlow.Data.Dictionary; namespace RoadFlow.Data { public interface IDictionary:IRoadFlowRepository { /// /// 得到所有下级ID /// /// /// 是包含自己 /// List GetAllChildsId(string id, bool isMe = true); /// /// 根据ID得到所有下级 /// /// /// 是否包含自己 /// List GetAllChilds(string id, bool isMe = false); /// /// 根据ID得到下级 /// /// /// List GetChilds(string id); /// /// 根据唯一代码得到ID /// /// /// string GetIdByCode(string code); /// /// 得到字典根 /// /// RoadFlow.Model.rf_dictionary GetRoot(); /// /// 判断一个字典是否有下级字典 /// /// /// bool HasChilds(string id); /// /// 得到多语言标题 /// /// 字典实体 /// 语言 /// string GetLanguageTitle(RoadFlow.Model.rf_dictionary dictionary, string language = ""); /// /// 根据ID查询字典标题 /// /// /// 语言 /// string GetTitle(string id, string language = ""); /// /// 按code获取字典项 /// /// /// RoadFlow.Model.rf_dictionary GetOneByCode(string code); /// /// 根据字符串得到ValueField /// /// /// public ValueField GetValueField(string valueField); /// /// 根据ID得到选项(返回jarray,vue项目用) /// /// /// 值字段,默认id /// 默认值 /// 是否显示所有下级 /// 是否可以选择上级 /// public JArray GetArrayOptionsByID(string id, ValueField valueField = ValueField.Id, string value = "", bool isAllChild = true, bool isSelectParent = true); /// /// 根据ID得到所有下级(控件选项) /// /// 根节点字典id /// 值字段 /// 是否显示根节点 /// 标题语言 /// public JArray GetAllChildsArray(string id, ValueField valueField, bool isRoot = false, string lang = ""); /// /// 根据ID得到选项(返回jarray,vue项目用) /// /// /// 值字段,默认id /// 默认值 /// 是否显示所有下级 /// 是否可以选择上级 /// public JArray GetArrayComboxsByID(string id, ValueField valueField = ValueField.Id, string value = "", bool isAllChild = true, bool isSelectParent = true); /// /// 得到单选或复选按钮组选项 /// /// /// 值字段 /// public JArray GetRadioOrCheckboxItems(string id, ValueField valueField = ValueField.Id); /// /// 得到一个字典下级的最大排序号 /// /// /// public int GetMaxSort(string id); /// /// 检查唯一代码是否重复 /// /// /// /// true 没有重复 false 重复 public bool CheckCode(string id, string code); /// /// 得到字典根ID /// /// public string GetRootId(); /// /// 导入数据字典 /// /// /// 语言包 public string Import(string json, IStringLocalizer localizer = null); } }