Files
magman/MagMan.UI/Components/SetupDiagnostics.razor
T
Samuele Locatelli 983586552b Completo riorganizzazione progetti:
- Core
- Data.Admin
2024-01-10 17:55:06 +01:00

97 lines
3.0 KiB
Plaintext

@using System.ComponentModel.DataAnnotations
@using Microsoft.Extensions.Diagnostics.HealthChecks
@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 (!(DbUserAdmAuth))
{
<div class="col-3 text-right">
Admin Passcode
</div>
<div class="col-9">
<EditForm Model="@model">
<DataAnnotationsValidator />
@*<ValidationSummary />*@
<InputText type="password" placeholder="Password" @bind-Value="@model.Password" />
</EditForm>
</div>
}
else if (!(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 DbUserAdmAuth
{
get
{
return model.Password == "f@mmiEntrare!";
}
}
protected bool DbLogOk { get; set; } = false;
protected bool DbAllOk { get; set; } = false;
protected bool DbIdentity { get; set; } = false;
protected bool processRunning { get; set; } = false;
class Login
{
[Required]
public string Password { get; set; } = "";
}
private Login model = new Login();
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 resultIden = await Health.Checks.DbIdentity(MagMan.Data.Admin.DbConfig.DATABASE_NAME);
var resultLog = await Health.Checks.DbPlantTable(MagMan.Data.Tenant.DbConfig.DATABASE_NAME);
DbIdentity = (resultIden.Status == HealthStatus.Healthy);
DbLogOk = (resultLog.Status == HealthStatus.Healthy);
DbAllOk = (DbLogOk && DbIdentity);
}
}