89 lines
2.4 KiB
Plaintext
89 lines
2.4 KiB
Plaintext
@* @using MagMan.Data
|
|
@using MagMan.UI.Data
|
|
@using MagMan.UI.Components *@
|
|
|
|
@* @inject GWMSDataService DataService *@
|
|
@inject MessageService AppMService
|
|
@inject IJSRuntime JSRuntime
|
|
|
|
@if (!DbAllOk)
|
|
{
|
|
<div class="row">
|
|
<div class="col-3 text-right">
|
|
<h3>DB Init</h3>
|
|
</div>
|
|
@if (!DbUserOk)
|
|
{
|
|
<div class="col-3">
|
|
<button id="btnReset" class="btn btn-danger btn-block" @onclick="initDb">
|
|
<i class="fas fa-database"></i> Init Main DB
|
|
</button>
|
|
</div>
|
|
}
|
|
else if (!DbIdentity)
|
|
{
|
|
<div class="col-3">
|
|
<button id="btnReset" class="btn btn-warning btn-block" @onclick="initIdent">
|
|
<i class="fas fa-user-shield"></i> Init Ident DB
|
|
</button>
|
|
</div>
|
|
}
|
|
</div>
|
|
}
|
|
|
|
@code {
|
|
|
|
[Parameter]
|
|
public EventCallback<int> evRefresh { get; set; }
|
|
[Parameter]
|
|
public EventCallback<int> evProcessing { get; set; }
|
|
|
|
protected async Task initDb()
|
|
{
|
|
if (!await JSRuntime.InvokeAsync<bool>("confirm", "Sicuro di voler effettuare inizializzazione/migrazione DB?"))
|
|
return;
|
|
|
|
reportProcess();
|
|
await MagMan.Data.Tenant.DbAdmin.migrateDbMain();
|
|
await ReloadData();
|
|
reportChange();
|
|
}
|
|
|
|
protected async Task initIdent()
|
|
{
|
|
if (!await JSRuntime.InvokeAsync<bool>("confirm", "Sicuro di voler effettuare inizializzazione/migrazione servizi Identity?"))
|
|
return;
|
|
|
|
reportProcess();
|
|
await MagMan.Data.Admin.DbAdmin.MigrateDbIdentity();
|
|
await ReloadData();
|
|
reportChange();
|
|
}
|
|
|
|
protected bool DbUserOk { get; set; } = false;
|
|
protected bool DbIdentity { get; set; } = false;
|
|
protected bool DbAllOk { get; set; } = false;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
await ReloadData();
|
|
}
|
|
|
|
protected async Task ReloadData()
|
|
{
|
|
var resultIden = await Health.Checks.DbIdentity(MagMan.Data.Admin.DbConfig.DATABASE_NAME);
|
|
DbIdentity = (resultIden.Status == Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy);
|
|
DbAllOk = (DbIdentity);
|
|
}
|
|
|
|
private void reportChange()
|
|
{
|
|
evRefresh.InvokeAsync(1);
|
|
}
|
|
|
|
private void reportProcess()
|
|
{
|
|
evProcessing.InvokeAsync(1);
|
|
}
|
|
|
|
} |