对比新文件 |
| | |
| | | 锘縰sing SqlSugar; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.AOP; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.BaseServices; |
| | | using WIDESEA_Core.Const; |
| | | using WIDESEA_Core.Helper; |
| | | using WIDESEA_Core.Seed; |
| | | using WIDESEA_ISystemRepository; |
| | | using WIDESEA_ISystemService; |
| | | using WIDESEA_Model.Models; |
| | | |
| | | namespace WIDESEA_SystemService |
| | | { |
| | | public class Sys_TenantService : ServiceBase<Sys_Tenant, ISys_TenantRepository>, ISys_TenantService |
| | | { |
| | | private IUnitOfWorkManage _unitOfWorkManage; |
| | | |
| | | public ISys_TenantRepository Repository => BaseDal; |
| | | |
| | | public Sys_TenantService(ISys_TenantRepository BaseDal, IUnitOfWorkManage unitOfWorkManage) : base(BaseDal) |
| | | { |
| | | _unitOfWorkManage = unitOfWorkManage; |
| | | } |
| | | |
| | | public WebResponseContent InitTenantInfo(string tenantName, int tenantType) |
| | | { |
| | | WebResponseContent content = new WebResponseContent(); |
| | | try |
| | | { |
| | | Sys_Tenant tenant = new Sys_Tenant() |
| | | { |
| | | ConnectionString = TenantConst.DBConStr, |
| | | DbType = 1, |
| | | Status = 1, |
| | | TenantName = tenantName, |
| | | TenantType = tenantType, |
| | | CreateDate = DateTime.Now, |
| | | Creater = "1111" |
| | | }; |
| | | |
| | | int tenantId = BaseDal.Db.Insertable(tenant).ExecuteReturnIdentity(); |
| | | |
| | | tenant = BaseDal.QueryFirst(x => x.TenantId == tenantId); |
| | | |
| | | tenant.ConnectionString = string.Format(TenantConst.DBConStr, ".", "Tenant_WMSDB_" + tenantId, "sa", "P@ssw0rd").EncryptDES(AppSecret.DB); |
| | | |
| | | BaseDal.UpdateData(tenant); |
| | | |
| | | InitTenantDb(tenant); |
| | | content = WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | content = WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | return content; |
| | | } |
| | | |
| | | public void InitTenantDb(Sys_Tenant tenant) |
| | | { |
| | | string conStr = tenant.ConnectionString.DecryptDES(AppSecret.DB); |
| | | |
| | | ConnectionConfig connectionConfig = new ConnectionConfig() |
| | | { |
| | | ConfigId = tenant.TenantId, |
| | | ConnectionString = conStr, |
| | | DbType = (DbType)tenant.DbType, |
| | | IsAutoCloseConnection = true, |
| | | AopEvents = new AopEvents() |
| | | { |
| | | DataExecuting = SqlSugarAop.DataExecuting |
| | | } |
| | | }; |
| | | DBSeed.InitTenantSeedAsync(Db.AsTenant(), connectionConfig); |
| | | } |
| | | } |
| | | } |