100 lines
3.0 KiB
Plaintext
100 lines
3.0 KiB
Plaintext
@using GWMS.Data
|
|
@using GWMS.UI.Data
|
|
@using System.ComponentModel.DataAnnotations
|
|
|
|
@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;
|
|
DbConfig.ExecMigrationMain();
|
|
DbConfig.ExecMigrationIdentity();
|
|
await ReloadData();
|
|
}
|
|
|
|
protected async Task Done()
|
|
{
|
|
processRunning = false;
|
|
await ReloadData();
|
|
}
|
|
protected async Task ReloadData()
|
|
{
|
|
var resultLog = await Health.Checks.DbPlantTable(DbConfig.DATABASE_NAME);
|
|
var resultIden = await Health.Checks.DbIdentity(DbConfig.DATABASE_NAME);
|
|
DbLogOk = (resultLog.Status == HealthStatus.Healthy);
|
|
DbIdentity = (resultIden.Status == HealthStatus.Healthy);
|
|
DbAllOk = (DbLogOk && DbIdentity);
|
|
}
|
|
|
|
} |