HuanMengProject/src/0-core/HuanMeng.MiaoYu.Code/SysDictionary/DictionaryInfoExtend.cs
2024-08-24 11:25:08 +08:00

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;
// }
//}
}