using Microsoft.AspNetCore.DataProtection.KeyManagement; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_ISystemRepository; using WIDESEAWCS_Model.Models; namespace WIDESEAWCS_SystemRepository { public class Sys_DictionaryRepository : RepositoryBase, ISys_DictionaryRepository { public Sys_DictionaryRepository(IUnitOfWorkManage unitOfWorkManage) : base(unitOfWorkManage) { } /// /// /// /// /// 是否执行自定义sql /// public IEnumerable GetDictionaries(IEnumerable dicNos, bool executeSql = false) { List Dictionaries = GetAllDictionary(dicNos); //foreach (var item in Dictionaries.Where(x => dicNos.Contains(x.DicNo))) //{ // if (executeSql) // { // // 2020.05.01增加根据用户信息加载字典数据源sql // string sql = item.DBSql; // if (!string.IsNullOrEmpty(sql)) // { // item.DicList = Query(sql); // } // } //} return Dictionaries; } List Query(string sql) { try { return base.QueryDynamicDataBySql(sql, null).Select(s => new Sys_DictionaryList() { DicName = s.Value, DicValue = s.Key.ToString() }).ToList(); } catch (Exception ex) { throw ex; } } private List GetAllDictionary(IEnumerable dicNos) { //base.QueryData().ToList(); List _dictionaries = Db.Queryable().Includes(x => x.DicList).Where(x => x.Enable == 1 && dicNos.Contains(x.DicNo)).ToList(); return _dictionaries; } } public class SourceKeyVaule { public object Key { get; set; } public string Value { get; set; } } }