Files
DMS/DMS.Infrastructure/Services/DatabaseInitializerService.cs

57 lines
2.2 KiB
C#
Raw Normal View History

2025-07-19 09:25:01 +08:00
using DMS.Config;
using DMS.Core.Enums;
2025-07-19 22:29:50 +08:00
using DMS.Core.Models;
2025-07-19 09:25:01 +08:00
using DMS.Infrastructure.Data;
using DMS.Infrastructure.Entities;
using SqlSugar;
using System;
2025-07-19 22:29:50 +08:00
using System.Linq;
2025-07-19 09:25:01 +08:00
using System.Threading.Tasks;
namespace DMS.Infrastructure.Services
{
2025-07-19 11:11:01 +08:00
public class DatabaseInitializerService : DMS.Infrastructure.Interfaces.IDatabaseService
2025-07-19 09:25:01 +08:00
{
private readonly SqlSugarClient _db;
public DatabaseInitializerService(SqlSugarDbContext dbContext)
{
2025-07-19 11:11:01 +08:00
_db = dbContext.GetInstance();
2025-07-19 09:25:01 +08:00
}
public void InitializeDataBase()
{
_db.DbMaintenance.CreateDatabase();
_db.CodeFirst.InitTables<DbNlog>();
_db.CodeFirst.InitTables<DbDevice>();
_db.CodeFirst.InitTables<DbVariableTable>();
_db.CodeFirst.InitTables<DbVariable>();
_db.CodeFirst.InitTables<DbVariableHistory>();
_db.CodeFirst.InitTables<DbUser>();
_db.CodeFirst.InitTables<DbMqtt>();
_db.CodeFirst.InitTables<DbVariableMqtt>();
_db.CodeFirst.InitTables<DbMenu>();
}
2025-07-19 22:29:50 +08:00
public Task InitializeMenu()
2025-07-19 09:25:01 +08:00
{
2025-07-19 22:29:50 +08:00
var settings = AppSettings.Load();
if (settings.Menus.Any())
2025-07-19 09:25:01 +08:00
{
2025-07-19 22:29:50 +08:00
return Task.CompletedTask;
}
2025-07-19 09:25:01 +08:00
2025-07-19 22:29:50 +08:00
settings.Menus.Add(new MenuBean() { Id=1, Name = "主页", Type = MenuType.MainMenu, Icon = "Home", ParentId = 0 });
settings.Menus.Add(new MenuBean() { Id = 2, Name = "设备", Type = MenuType.MainMenu, Icon = "Devices3", ParentId = 0 });
settings.Menus.Add(new MenuBean() { Id = 3, Name = "数据转换", Type = MenuType.MainMenu, Icon = "ChromeSwitch", ParentId = 0 });
settings.Menus.Add(new MenuBean() { Id = 4, Name = "Mqtt服务器", Type = MenuType.MainMenu, Icon = "Cloud", ParentId = 0 });
settings.Menus.Add(new MenuBean() { Id = 5, Name = "设置", Type = MenuType.MainMenu, Icon = "Settings", ParentId = 0 });
settings.Menus.Add(new MenuBean() { Id = 6, Name = "关于", Type = MenuType.MainMenu, Icon = "Info", ParentId = 0 });
2025-07-19 09:25:01 +08:00
2025-07-19 22:29:50 +08:00
settings.Save();
2025-07-19 09:25:01 +08:00
2025-07-19 22:29:50 +08:00
return Task.CompletedTask;
2025-07-19 09:25:01 +08:00
}
}
2025-07-19 22:29:50 +08:00
}