init commit

This commit is contained in:
路 范
2022-03-30 17:54:33 +08:00
parent df01841625
commit 904bdd16cd
500 changed files with 217251 additions and 0 deletions

View File

@@ -0,0 +1,158 @@
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<RoadFlow.Model.rf_dictionary>
{
/// <summary>
/// 得到所有下级ID
/// </summary>
/// <param name="id"></param>
/// <param name="isMe">是包含自己</param>
/// <returns></returns>
List<string> GetAllChildsId(string id, bool isMe = true);
/// <summary>
/// 根据ID得到所有下级
/// </summary>
/// <param name="id"></param>
/// <param name="isMe">是否包含自己</param>
/// <returns></returns>
List<RoadFlow.Model.rf_dictionary> GetAllChilds(string id, bool isMe = false);
/// <summary>
/// 根据ID得到下级
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
List<RoadFlow.Model.rf_dictionary> GetChilds(string id);
/// <summary>
/// 根据唯一代码得到ID
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
string GetIdByCode(string code);
/// <summary>
/// 得到字典根
/// </summary>
/// <returns></returns>
RoadFlow.Model.rf_dictionary GetRoot();
/// <summary>
/// 判断一个字典是否有下级字典
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
bool HasChilds(string id);
/// <summary>
/// 得到多语言标题
/// </summary>
/// <param name="dictionary">字典实体</param>
/// <param name="language">语言</param>
/// <returns></returns>
string GetLanguageTitle(RoadFlow.Model.rf_dictionary dictionary, string language = "");
/// <summary>
/// 根据ID查询字典标题
/// </summary>
/// <param name="id"></param>
/// <param name="language">语言</param>
/// <returns></returns>
string GetTitle(string id, string language = "");
/// <summary>
/// 按code获取字典项
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
RoadFlow.Model.rf_dictionary GetOneByCode(string code);
/// <summary>
/// 根据字符串得到ValueField
/// </summary>
/// <param name="valueField"></param>
/// <returns></returns>
public ValueField GetValueField(string valueField);
/// <summary>
/// 根据ID得到选项(返回jarrayvue项目用)
/// </summary>
/// <param name="id"></param>
/// <param name="valueField">值字段默认id</param>
/// <param name="value">默认值</param>
/// <param name="isAllChild">是否显示所有下级</param>
/// <param name="isSelectParent">是否可以选择上级</param>
/// <returns></returns>
public JArray GetArrayOptionsByID(string id, ValueField valueField = ValueField.Id, string value = "", bool isAllChild = true, bool isSelectParent = true);
/// <summary>
/// 根据ID得到所有下级(控件选项)
/// </summary>
/// <param name="id">根节点字典id</param>
/// <param name="valueField">值字段</param>
/// <param name="isRoot">是否显示根节点</param>
/// <param name="lang">标题语言</param>
/// <returns></returns>
public JArray GetAllChildsArray(string id, ValueField valueField, bool isRoot = false, string lang = "");
/// <summary>
/// 根据ID得到选项(返回jarrayvue项目用)
/// </summary>
/// <param name="id"></param>
/// <param name="valueField">值字段默认id</param>
/// <param name="value">默认值</param>
/// <param name="isAllChild">是否显示所有下级</param>
/// <param name="isSelectParent">是否可以选择上级</param>
/// <returns></returns>
public JArray GetArrayComboxsByID(string id, ValueField valueField = ValueField.Id, string value = "", bool isAllChild = true, bool isSelectParent = true);
/// <summary>
/// 得到单选或复选按钮组选项
/// </summary>
/// <param name="id"></param>
/// <param name="valueField">值字段</param>
/// <returns></returns>
public JArray GetRadioOrCheckboxItems(string id, ValueField valueField = ValueField.Id);
/// <summary>
/// 得到一个字典下级的最大排序号
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public int GetMaxSort(string id);
/// <summary>
/// 检查唯一代码是否重复
/// </summary>
/// <param name="id"></param>
/// <param name="code"></param>
/// <returns>true 没有重复 false 重复</returns>
public bool CheckCode(string id, string code);
/// <summary>
/// 得到字典根ID
/// </summary>
/// <returns></returns>
public string GetRootId();
/// <summary>
/// 导入数据字典
/// </summary>
/// <param name="json"></param>
/// <param name="localizer">语言包</param>
public string Import(string json, IStringLocalizer localizer = null);
}
}