namespace IStation
{
///
/// 初始化辅助类
///
public class InitialHelper
{
///
/// 初始化缓存
///
public static void InitCache()
{
IStation.Settings.ParasHelper.DataBase.SQLite.AnalysisConnectString = "DataSource=" + IStation.Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\analysis.db";
IStation.Settings.ParasHelper.DataBase.SQLite.ScheduleConnectString = "DataSource=" + IStation.Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\schedule.db";
IStation.Settings.ParasHelper.DataBase.SQLite.HydraulicConnectString = "DataSource=" + IStation.Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\hydraulic.db";
IStation.Settings.ParasHelper.DataBase.SQLite.MonitorConnectString = "DataSource=" + IStation.Settings.ParasHelper.LocalFile.DataFolderDirectory + "\\monitor.db";
IStation.Settings.ParasHelper.Save();
IStation.Service.AnalysisPump.GetDictCache();
IStation.Service.AnalysisParameter.GetDictCache();
}
///
/// 初始化数据库
///
public static void InitAllDB()
{
InitAnalysisDB();
InitScheduleDB();
InitHydraulicDB();
InitMonitorDB();
}
///
/// 初始化 Analysis 数据库
///
public static void InitAnalysisDB(bool backup = false)
{
var sqlSugarClient = new SqlSugarClient(ConfigHelper.AnalysisConnectionConfig);
Type[] types = new Type[] {
//typeof(Entity.AnalysisDeviation),
//typeof(Entity.AnalysisFactor),
};
if (!types.Any()) { return; }
sqlSugarClient.DbMaintenance.CreateDatabase();
if (backup)
{
sqlSugarClient.CodeFirst.BackupTable().InitTables(types);
}
else
{
sqlSugarClient.CodeFirst.InitTables(types);
}
}
///
/// 初始化 Schedule 数据库
///
public static void InitScheduleDB(bool backup = false)
{
var sqlSugarClient = new SqlSugarClient(ConfigHelper.ScheduleConnectionConfig);
Type[] types = new Type[] {
typeof(Entity.ScheduleRequest),
typeof(Entity.ScheduleScada),
typeof(Entity.ScheduleRule),
typeof(Entity.SchedulePump),
typeof(Entity.ScheduleConclusion),
};
sqlSugarClient.DbMaintenance.CreateDatabase();
if (backup)
{
sqlSugarClient.CodeFirst.BackupTable().InitTables(types);
}
else
{
sqlSugarClient.CodeFirst.InitTables(types);
}
}
///
/// 初始化 Hydraulic 数据库
///
public static void InitHydraulicDB(bool backup = false)
{
var sqlSugarClient = new SqlSugarClient(ConfigHelper.HydraulicConnectionConfig);
Type[] types = new Type[] {
typeof(Entity.HydraulicValidation),
typeof(Entity.HydraulicScada),
typeof(Entity.HydraulicRecord)
};
sqlSugarClient.DbMaintenance.CreateDatabase();
if (backup)
{
sqlSugarClient.CodeFirst.BackupTable().InitTables(types);
}
else
{
sqlSugarClient.CodeFirst.InitTables(types);
}
}
///
/// 初始化 Monitor 数据库
///
public static void InitMonitorDB(bool backup = false)
{
var sqlSugarClient = new SqlSugarClient(ConfigHelper.MonitorConnectionConfig);
Type[] types = new Type[] {
typeof(Entity.MonitorRecord)
};
sqlSugarClient.DbMaintenance.CreateDatabase();
if (backup)
{
sqlSugarClient.CodeFirst.BackupTable().InitTables(types);
}
else
{
sqlSugarClient.CodeFirst.InitTables(types);
}
}
}
}