using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Yi.Framework.Model.Models; using Yi.Framework.Model.SeedData; namespace Yi.Framework.WebCore.DbExtend { public static class DbSeedExtend { public static void UseDbSeedInitService(this IApplicationBuilder app) { if (Appsettings.appBool("DbSeed_Enabled")) { var _Db = app.ApplicationServices.GetService(); var users = SeedFactory.GetUserSeed(); var roles = SeedFactory.GetRoleSeed(); var menus = SeedFactory.GetMenuSeed(); var dicts= SeedFactory.GetDictionarySeed(); var posts = SeedFactory.GetPostSeed(); var dictinfos= SeedFactory.GetDictionaryInfoSeed(); var depts = SeedFactory.GetDeptSeed(); if (!_Db.Queryable().Any()) { _Db.Insertable(users).ExecuteCommand(); } if (!_Db.Queryable().Any()) { _Db.Insertable(roles).ExecuteCommand(); } if (!_Db.Queryable().Any()) { _Db.Insertable(menus).ExecuteCommand(); } if (!_Db.Queryable().Any()) { _Db.Insertable(dicts).ExecuteCommand(); } if (!_Db.Queryable().Any()) { _Db.Insertable(posts).ExecuteCommand(); } if (!_Db.Queryable().Any()) { _Db.Insertable(dictinfos).ExecuteCommand(); } if (!_Db.Queryable().Any()) { _Db.Insertable(depts).ExecuteCommand(); } if (!_Db.Queryable().Any()) { _Db.Insertable(SeedFactory.GetUserRoleSeed(users, roles)).ExecuteCommand(); } if (!_Db.Queryable().Any()) { _Db.Insertable(SeedFactory.GetRoleMenuSeed(roles, menus)).ExecuteCommand(); } } } } }