diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/ITenantAppService.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/ITenantAppService.cs index e283277b29..637134abb3 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/ITenantAppService.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Application.Contracts/Volo/Abp/TenantManagement/ITenantAppService.cs @@ -8,9 +8,9 @@ namespace Volo.Abp.TenantManagement { Task GetDefaultConnectionStringAsync(Guid id); - Task SetDefaultConnectionStringAsync(Guid id, string defaultConnectionString); + Task UpdateDefaultConnectionStringAsync(Guid id, string defaultConnectionString); - Task RemoveDefaultConnectionStringAsync(Guid id); + Task DeleteDefaultConnectionStringAsync(Guid id); } } diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Application/Volo/Abp/TenantManagement/TenantAppService.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Application/Volo/Abp/TenantManagement/TenantAppService.cs index 961df4dcb7..fa1571a617 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Application/Volo/Abp/TenantManagement/TenantAppService.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Application/Volo/Abp/TenantManagement/TenantAppService.cs @@ -86,16 +86,18 @@ namespace Volo.Abp.TenantManagement return tenant?.FindDefaultConnectionString(); } - public async Task SetDefaultConnectionStringAsync(Guid id, string defaultConnectionString) + public async Task UpdateDefaultConnectionStringAsync(Guid id, string defaultConnectionString) { var tenant = await TenantRepository.GetAsync(id); tenant.SetDefaultConnectionString(defaultConnectionString); + await TenantRepository.UpdateAsync(tenant); } - public async Task RemoveDefaultConnectionStringAsync(Guid id) + public async Task DeleteDefaultConnectionStringAsync(Guid id) { var tenant = await TenantRepository.GetAsync(id); tenant.RemoveDefaultConnectionString(); + await TenantRepository.UpdateAsync(tenant); } } } diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/Tenant.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/Tenant.cs index 0f5a54171d..2184368784 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/Tenant.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Domain/Volo/Abp/TenantManagement/Tenant.cs @@ -32,37 +32,44 @@ namespace Volo.Abp.TenantManagement return FindConnectionString(Data.ConnectionStrings.DefaultConnectionStringName); } - public virtual void SetDefaultConnectionString(string defaultConnectionString) + [CanBeNull] + public virtual string FindConnectionString(string name) + { + return ConnectionStrings.FirstOrDefault(c => c.Name == name)?.Value; + } + + public virtual void SetDefaultConnectionString(string connectionString) + { + SetConnectionString(Data.ConnectionStrings.DefaultConnectionStringName, connectionString); + } + + public virtual void SetConnectionString(string name, string connectionString) { - var defaultConnectionStringName = - ConnectionStrings.FirstOrDefault(x => x.Name == Data.ConnectionStrings.DefaultConnectionStringName); + var tenantConnectionString = ConnectionStrings.FirstOrDefault(x => x.Name == name); - if (defaultConnectionStringName != null) + if (tenantConnectionString != null) { - defaultConnectionStringName.SetValue(defaultConnectionString); + tenantConnectionString.SetValue(connectionString); } else { - ConnectionStrings.Add(new TenantConnectionString(Id, Data.ConnectionStrings.DefaultConnectionStringName, - defaultConnectionString)); + ConnectionStrings.Add(new TenantConnectionString(Id, name, connectionString)); } } public virtual void RemoveDefaultConnectionString() { - var defaultConnectionStringName = - ConnectionStrings.FirstOrDefault(x => x.Name == Data.ConnectionStrings.DefaultConnectionStringName); - - if (defaultConnectionStringName != null) - { - ConnectionStrings.Remove(defaultConnectionStringName); - } + RemoveConnectionString(Data.ConnectionStrings.DefaultConnectionStringName); } - [CanBeNull] - public virtual string FindConnectionString(string name) + public virtual void RemoveConnectionString(string name) { - return ConnectionStrings.FirstOrDefault(c => c.Name == name)?.Value; + var tenantConnectionString = ConnectionStrings.FirstOrDefault(x => x.Name == name); + + if (tenantConnectionString != null) + { + ConnectionStrings.Remove(tenantConnectionString); + } } internal void SetName([NotNull] string name) diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.HttpApi/Volo/Abp/TenantManagement/TenantController.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.HttpApi/Volo/Abp/TenantManagement/TenantController.cs index a01779e2d2..e8df39d2fa 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.HttpApi/Volo/Abp/TenantManagement/TenantController.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.HttpApi/Volo/Abp/TenantManagement/TenantController.cs @@ -43,20 +43,19 @@ namespace Volo.Abp.TenantManagement return _service.DeleteAsync(id); } - [HttpPost] public Task GetDefaultConnectionStringAsync(Guid id) { return _service.GetDefaultConnectionStringAsync(id); } - public Task SetDefaultConnectionStringAsync(Guid id, string defaultConnectionString) + public Task UpdateDefaultConnectionStringAsync(Guid id, string defaultConnectionString) { - return _service.SetDefaultConnectionStringAsync(id, defaultConnectionString); + return _service.UpdateDefaultConnectionStringAsync(id, defaultConnectionString); } - public Task RemoveDefaultConnectionStringAsync(Guid id) + public Task DeleteDefaultConnectionStringAsync(Guid id) { - return _service.RemoveDefaultConnectionStringAsync(id); + return _service.DeleteDefaultConnectionStringAsync(id); } } } \ No newline at end of file diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Localization/Resources/AbpTenantManagement/Web/tr.json b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Localization/Resources/AbpTenantManagement/Web/tr.json index 98eb9b0547..a3d40067f7 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Localization/Resources/AbpTenantManagement/Web/tr.json +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Localization/Resources/AbpTenantManagement/Web/tr.json @@ -7,8 +7,8 @@ "TenantName": "Müşteri adı", "DisplayName:TenantName": "Müşteri adı", "TenantDeletionConfirmationMessage": "'{0}' isimli müşteri silinecektir. Onaylıyor musunuz?", - "ConnectionStrings": "Bağlantı dizeleri", - "DisplayName:DefaultConnectionString": "Varsayılan Bağlantı Dize", - "DisplayName:UseSharedDatabase": "Paylaşılan Veritabanını kullanın" + "ConnectionStrings": "Bağlantı cümlesi", + "DisplayName:DefaultConnectionString": "Varsayılan bağlantı cümlesi", + "DisplayName:UseSharedDatabase": "Paylaşılan veritabanını kullan" } } \ No newline at end of file diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml index fc1816fb34..6b6e33ed55 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml @@ -23,13 +23,4 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs index ac2f98ca0f..a2beeda27d 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.cshtml.cs @@ -21,7 +21,7 @@ namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants public async Task OnGetAsync(Guid id) { var defaultConnectionString = await _tenantAppService.GetDefaultConnectionStringAsync(id); - Tenant = new TenantInfoModel() + Tenant = new TenantInfoModel { Id = id, DefaultConnectionString = defaultConnectionString, @@ -35,12 +35,11 @@ namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants if (Tenant.UseSharedDatabase || Tenant.DefaultConnectionString.IsNullOrWhiteSpace()) { - await _tenantAppService.RemoveDefaultConnectionStringAsync(Tenant.Id); - + await _tenantAppService.DeleteDefaultConnectionStringAsync(Tenant.Id); } else { - await _tenantAppService.SetDefaultConnectionStringAsync(Tenant.Id, Tenant.DefaultConnectionString); + await _tenantAppService.UpdateDefaultConnectionStringAsync(Tenant.Id, Tenant.DefaultConnectionString); } return NoContent(); @@ -51,11 +50,9 @@ namespace Volo.Abp.TenantManagement.Web.Pages.TenantManagement.Tenants [HiddenInput] public Guid Id { get; set; } - [Display(Name = "DisplayName:UseSharedDatabase")] public bool UseSharedDatabase { get; set; } [StringLength(TenantConnectionStringConsts.MaxNameLength)] - [Display(Name = "DisplayName:DefaultConnectionString")] public string DefaultConnectionString { get; set; } } } diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.js b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.js new file mode 100644 index 0000000000..b72d2b3505 --- /dev/null +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/ConnectionStringsModal.js @@ -0,0 +1,20 @@ +(function ($) { + + abp.modals.TenantConnectionStringManagement = function() { + + var initModal = function (publicApi, args) { + publicApi.getModal() + .find('input[name="Tenant.UseSharedDatabase"]') + .change(function () { + var $this = $(this); + $("#Tenant_DefaultConnectionString_Wrap").toggleClass("d-none"); + $this.val($this.prop("checked")); + }); + }; + + return { + initModal: initModal + }; + }; + +})(jQuery); \ No newline at end of file diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml index 95cd3d8331..b5db7642ba 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.cshtml @@ -14,8 +14,9 @@ } @section scripts { - + + } diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/wwwroot/modules/multi-tenancy/views/tenants/index.js b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js similarity index 94% rename from modules/tenant-management/src/Volo.Abp.TenantManagement.Web/wwwroot/modules/multi-tenancy/views/tenants/index.js rename to modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js index e548c18aed..09a9cc90c5 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/wwwroot/modules/multi-tenancy/views/tenants/index.js +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Pages/TenantManagement/Tenants/Index.js @@ -4,9 +4,12 @@ var _tenantAppService = volo.abp.tenantManagement.tenant; var _editModal = new abp.ModalManager(abp.appPath + 'TenantManagement/Tenants/EditModal'); - var _connectionStringsModal = new abp.ModalManager(abp.appPath + 'TenantManagement/Tenants/ConnectionStringsModal'); var _createModal = new abp.ModalManager(abp.appPath + 'TenantManagement/Tenants/CreateModal'); var _featuresModal = new abp.ModalManager(abp.appPath + 'FeatureManagement/FeatureManagementModal'); + var _connectionStringsModal = new abp.ModalManager({ + viewUrl: abp.appPath + 'TenantManagement/Tenants/ConnectionStringsModal', + modalClass: 'TenantConnectionStringManagement' + }); $(function () { diff --git a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Volo.Abp.TenantManagement.Web.csproj b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Volo.Abp.TenantManagement.Web.csproj index c542768e8c..4572a8104c 100644 --- a/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Volo.Abp.TenantManagement.Web.csproj +++ b/modules/tenant-management/src/Volo.Abp.TenantManagement.Web/Volo.Abp.TenantManagement.Web.csproj @@ -12,18 +12,19 @@ - - + - + + +