using SqlSugar;
namespace ServiceCenter
{
///
/// 服务中心
///
public static class ServiceHub
{
#region 配置中心
///
/// 数据库连接字符串集合
///
public static List? DbConnectionStrings { get; set; } = null!;
///
/// Redis连接字符串集合
///
public static List? RedisConnectionStrings { get; set; } = null!;
///
/// 设备IP集合
///
public static List DeviceIPList { get; set; } = null!;
///
/// 仓库名称
///
private static string _WarehouseName { get; set; } = null!;
///
/// Http请求超时时间
///
private static int _HttpTimeout { get; set; }
///
/// Http请求超时时间
///
public static int HttpTimeout
{
get
{
return _HttpTimeout;
}
}
///
/// 仓库名称
///
public static string WarehouseName
{
get
{
return _WarehouseName;
}
}
///
/// 设置仓库名称
///
///
public static void SetWarehouseName(string warehouseName)
{
_WarehouseName = warehouseName;
}
///
/// 设置Http请求超时时间
///
///
public static void SetHttpTimeout(int timeout)
{
_HttpTimeout = timeout;
}
#endregion 配置中心
#region 系统运行模式
///
/// 系统运行模式
///
private static List SystemModes { get; set; } = new List();
///
/// 添加一种模式
///
/// 系统模式
public static void AddSystemMode(SystemMode mode)
{
if (SystemModes.Contains(mode)) return;
SystemModes.Add(mode);
}
///
/// 是否包含传入模式
///
/// 系统模式
///
public static bool Any(SystemMode mode)
{
return SystemModes.Contains(mode);
}
#endregion 系统运行模式
}
///
/// 系统模式
///
public enum SystemMode
{
///
/// 虚拟plc,启用该模式后,将在Redis中建立一个虚拟PLC用于流程测试
///
虚拟plc = 1,
}
///
/// 数据库连接
///
public class DataBaseConnectionString
{
///
/// 构造函数
///
/// 连接对应的Key
/// 连接字符串
/// 数据库类型
/// 是否为默认数据库连接
public DataBaseConnectionString(string key, string connectionString, DbType dbType, bool isDefault)
{
Key = key;
ConnectionString = connectionString;
DbType = dbType;
IsDefault = isDefault;
}
///
/// 连接对应的Key
///
public string Key { get; set; }
///
/// 连接字符串
///
public string ConnectionString { get; set; }
///
/// 数据库类型
///
public DbType DbType { get; set; }
///
/// 是否为默认数据库连接
///
public bool IsDefault { get; set; }
}
}