Files
gwms/GWMS.UI/Components/Diagnostics.razor
T
Samuele Locatelli 46ff019d23 Fix gestione init DB!
2021-06-25 16:01:08 +02:00

72 lines
2.3 KiB
Plaintext

@using GWMS.Data
@using GWMS.UI.Data
@if (!DbAllOk)
{
<div class="card">
<div class="card-header bg-warning text-light">
<h1>Diagnostica <i class="fas fa-exclamation-triangle"></i></h1>
</div>
<div class="card-body my-5">
<div class="row h3">
@if (!(DbUserOk && DbIdentity))
{
<div class="col-12">
<MigrationManager evRefresh="()=> Done()" evProcessing="()=> Processing()" />
</div>
}
else if (!DbLogOk)
{
<div class="col-12">
<SetupSim evRefresh="()=> Done()" evProcessing="()=> Processing()" />
</div>
}
@if (processRunning)
{
<div class="col-12 text-center">
<div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated" style="width:75%"></div>
</div>
</div>
}
</div>
</div>
</div>
}
@code {
protected bool DbUserOk { get; set; } = false;
protected bool DbLogOk { get; set; } = false;
protected bool DbAllOk { get; set; } = false;
protected bool DbIdentity { get; set; } = false;
protected bool processRunning { get; set; } = false;
protected override async Task OnInitializedAsync()
{
processRunning = false;
await ReloadData();
}
protected async Task Processing()
{
processRunning = true;
await ReloadData();
}
protected async Task Done()
{
processRunning = false;
await ReloadData();
}
protected async Task ReloadData()
{
var resultUser = await Health.Checks.DbUserApp(DbConfig.DATABASE_NAME);
var resultLog = await Health.Checks.DbPlantLogTable(DbConfig.DATABASE_NAME);
var resultIden = await Health.Checks.DbIdentity(DbConfig.DATABASE_NAME);
DbUserOk = (resultUser.Status == HealthStatus.Healthy);
DbLogOk = (resultLog.Status == HealthStatus.Healthy);
DbIdentity = (resultIden.Status == HealthStatus.Healthy);
DbAllOk = (DbUserOk && DbLogOk && DbIdentity);
}
}