83 lines
2.7 KiB
C#
83 lines
2.7 KiB
C#
using HuanMeng.MiaoYu.Code.MultiTenantUtil;
|
|
using HuanMeng.MiaoYu.Code.SysDictionary.Contract;
|
|
using HuanMeng.MiaoYu.Code.SysDictionary.DictionaryNetwork;
|
|
using HuanMeng.MiaoYu.Model.Dto;
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace HuanMeng.MiaoYu.Code.SysDictionary
|
|
{
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public static class DictionaryInfoExtend
|
|
{
|
|
public static void AddDictionaryInfo(this IHostApplicationBuilder builder)
|
|
{
|
|
builder.Services.AddSingleton<IDictionaryInfoServer, DictionaryInfoServerNetwork>();
|
|
|
|
builder.Services.AddScoped<IDictionaryInfo, DictionaryInfoNetwork>();
|
|
//builder.Services.AddHostedService<DictionaryInfoExtendServer>();
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 获取当前对象下的所有集合
|
|
/// </summary>
|
|
/// <param name="dictionarie"></param>
|
|
/// <param name="dictionaries"></param>
|
|
/// <returns></returns>
|
|
public static List<T_Sys_Dictionary> GetChildDictionaries(this T_Sys_Dictionary dictionarie, List<T_Sys_Dictionary> dictionaries)
|
|
{
|
|
List<T_Sys_Dictionary> list = new List<T_Sys_Dictionary>();
|
|
dictionaries.Where(it => it.ParentId == dictionarie.Id).ToList()?.ForEach(it =>
|
|
{
|
|
list.Add(it);
|
|
var _list = it.GetChildDictionaries(list);
|
|
list.AddRange(_list);
|
|
});
|
|
return list;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取当前对象下的所有集合
|
|
/// </summary>
|
|
/// <param name="dictionarie"></param>
|
|
/// <param name="dictionaries"></param>
|
|
/// <returns></returns>
|
|
public static List<T_Sys_Dictionary> GetChildDictionariesFind(this T_Sys_Dictionary dictionarie, List<T_Sys_Dictionary> dictionaries)
|
|
{
|
|
List<T_Sys_Dictionary> list = new List<T_Sys_Dictionary>();
|
|
|
|
return dictionaries.Where(it => it.ParentId == dictionarie.Id).OrderBy(it=>it.Sort).ToList();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
///// <summary>
|
|
/////
|
|
///// </summary>
|
|
///// <param name="dictionaryInfoServer"></param>
|
|
//public class DictionaryInfoExtendServer(IDictionaryInfoServer dictionaryInfoServer) : IHostedService
|
|
//{
|
|
// public async Task StartAsync(CancellationToken cancellationToken)
|
|
// {
|
|
// await dictionaryInfoServer.Initialization();
|
|
|
|
// }
|
|
|
|
// public Task StopAsync(CancellationToken cancellationToken)
|
|
// {
|
|
// return Task.CompletedTask;
|
|
// }
|
|
//}
|
|
}
|