BootstrapAdmin/Bootstrap.DataAccess/Dict.cs

112 lines
4.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using Bootstrap.Security;
using Longbow;
using Longbow.Cache;
using System;
using System.Collections.Generic;
using System.Data;
namespace Bootstrap.DataAccess
{
/// <summary>
///
/// </summary>
public class Dict : BootstrapDict
{
/// <summary>
///
/// </summary>
public const string RetrieveCategoryDataKey = "DictHelper-RetrieveDictsCategory";
/// <summary>
/// 缓存索引BootstrapAdmin后台清理缓存时使用
/// </summary>
public const string RetrieveDictsDataKey = "BootstrapDict-RetrieveDicts";
/// <summary>
///
/// </summary>
/// <returns></returns>
public virtual IEnumerable<KeyValuePair<string, string>> RetrieveApps() => throw new NotImplementedException();
/// <summary>
/// 删除字典中的数据
/// </summary>
/// <param name="value">需要删除的IDs</param>
/// <returns></returns>
public virtual bool DeleteDict(IEnumerable<int> value) => throw new NotImplementedException();
/// <summary>
/// 保存新建/更新的字典信息
/// </summary>
/// <param name="dict"></param>
/// <returns></returns>
public virtual bool SaveDict(BootstrapDict dict) => throw new NotImplementedException();
/// <summary>
/// 保存网站个性化设置
/// </summary>
/// <param name="name"></param>
/// <param name="code"></param>
/// <param name="category"></param>
/// <returns></returns>
public virtual bool SaveSettings(BootstrapDict dict) => throw new NotImplementedException();
/// <summary>
/// 获取字典分类名称
/// </summary>
/// <returns></returns>
public virtual IEnumerable<string> RetrieveCategories() => throw new NotImplementedException();
/// <summary>
///
/// </summary>
/// <returns></returns>
public virtual string RetrieveWebTitle() => throw new NotImplementedException();
/// <summary>
///
/// </summary>
/// <returns></returns>
public virtual string RetrieveWebFooter() => throw new NotImplementedException();
/// <summary>
/// 获得系统中配置的可以使用的网站样式
/// </summary>
/// <returns></returns>
public virtual IEnumerable<BootstrapDict> RetrieveThemes() => throw new NotImplementedException();
/// <summary>
/// 获得网站设置中的当前样式
/// </summary>
/// <returns></returns>
public virtual string RetrieveActiveTheme() => throw new NotImplementedException();
/// <summary>
/// 获取头像路径
/// </summary>
/// <returns></returns>
public virtual BootstrapDict RetrieveIconFolderPath() => throw new NotImplementedException();
/// <summary>
/// 获得默认的前台首页地址,默认为~/Home/Index
/// </summary>
/// <returns></returns>
public virtual string RetrieveHomeUrl() => throw new NotImplementedException();
/// <summary>
/// 通过数据库获得所有字典表配置信息缓存Key=DictHelper-RetrieveDicts
/// </summary>
/// <param name="db">数据库连接实例</param>
/// <returns></returns>
public virtual IEnumerable<BootstrapDict> RetrieveDicts() => CacheManager.GetOrAdd(RetrieveDictsDataKey, key =>
{
string sql = "select ID, Category, Name, Code, Define from Dicts";
var Dicts = new List<BootstrapDict>();
var db = DBAccessManager.DBAccess;
var cmd = db.CreateCommand(CommandType.Text, sql);
using (var reader = db.ExecuteReader(cmd))
{
while (reader.Read())
{
Dicts.Add(new BootstrapDict
{
Id = LgbConvert.ReadValue(reader[0], 0),
Category = (string)reader[1],
Name = (string)reader[2],
Code = (string)reader[3],
Define = LgbConvert.ReadValue(reader[4], 0)
});
}
}
return Dicts;
});
}
}