Files
limanapp/LiMan.UI/Components/EnrollList.razor
T
2025-01-13 09:53:25 +01:00

251 lines
13 KiB
Plaintext

@if (isLoading)
{
<LoadingData></LoadingData>
}
else if (SelRecord != null)
{
<div class="row mx-1">
<div class="col-7">
<div class="card shadow shadow-lg m-2">
<div class="card-header text-center">
<h3>@($"{SelRecord.Passcode:00 00 00 00}")</h3>
</div>
<div class="card-body px-2">
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between active">
<div class="px-0">
Richiesta:
</div>
<div class="px-0">
@($"{SelRecord.DtReq:ddd yyyy-MM-dd, HH:MM:ss}")
</div>
</li>
@foreach (var kvp in SelRecord.DictAttrib)
{
<li class="list-group-item d-flex justify-content-between">
<div class="px-0 small">@kvp.Key:</div>
<div class="px-0"><b>@kvp.Value</b></div>
</li>
}
</ul>
</div>
</div>
</div>
<div class="col-5">
@if (ShowAddLic)
{
<div class="modal fade show" tabindex="-1" style="display:block; background-color: rgba(10,10,10,.6);" aria-modal="true" role="dialog" data-keyboard="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header d-flex justify-content-between">
<div class="px-0">
<b>Nuova Licenza Updater</b>
</div>
<div class="px-0">
<button type="button" class="btn btn-dark" data-dismiss="modal" @onclick="ToggleAddNew">Chiudi <i class="fa-solid fa-xmark"></i></button>
</div>
</div>
<div class="modal-body">
<div class="form-floating">
<select id="floatingSelect" @bind="@SelCodInst" class="form-select">
<option value="">--- Nessuna selezione ---</option>
@if (ListInstall != null)
{
foreach (var item in ListInstall)
{
<option value="@item.CodInst">@item.Cliente | @item.CodInst</option>
}
}
</select>
<label for="floatingSelect">Selezione Cliente/Installazione</label>
</div>
</div>
<div class="modal-footer">
<button class="btn btn-success btn-lg w-100" @onclick="() => AddLicense()"><i class="fa-solid fa-circle-plus"></i> Crea Nuova Licenza</button>
</div>
</div>
</div>
</div>
}
else if (ShowEditLic)
{
<div class="modal fade show" tabindex="-1" style="display:block; background-color: rgba(10,10,10,.6);" aria-modal="true" role="dialog" data-keyboard="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header d-flex justify-content-between">
<div class="px-0">
<b>Edit Licenza Updater</b>
</div>
<div class="px-0">
<button type="button" class="btn btn-dark" data-dismiss="modal" @onclick="ToggleEditLic">Chiudi <i class="fa-solid fa-xmark"></i></button>
</div>
</div>
<div class="modal-body">
<div class="form-floating">
<select id="floatingSelect" @bind="@SelIdxLic" class="form-select">
<option value="0">--- Nessuna selezione ---</option>
@if (ListLicenze != null)
{
foreach (var item in ListLicenze)
{
if (item.Attivazioni.Count < item.NumLicenze)
{
<option value="@item.IdxLic">@item.CodApp | @item.CodInst | @item.Attivazioni.Count / @item.NumLicenze</option>
}
else
{
<option value="@item.IdxLic" disabled>@item.CodApp | @item.CodInst | @item.Attivazioni.Count / @item.NumLicenze | Esaurito</option>
}
}
}
</select>
<label for="floatingSelect">Selezione Licenza Esistente</label>
</div>
</div>
<div class="modal-footer">
@if (SelIdxLic > 0)
{
<button class="btn btn-success btn-lg w-100" @onclick="() => AddActivations()" title="Aggiunta attivazioni a licenza selezionata"><i class="fa-solid fa-circle-plus"></i> 10 Attivazioni Licenza</button>
}
else
{
<button class="btn btn-secondary btn-lg w-100" disabled><i class="fa-solid fa-circle-plus"></i> 10 Attivazioni Licenza</button>
}
</div>
</div>
</div>
</div>
}
<div class="d-flex justify-content-between py-2">
<div class="px-2">
<h3>Assegnazione licenza</h3>
</div>
<div class="px-2">
@if (SelRecord.IdxLic == 0)
{
<button class="btn btn-sm my-2 btn-success" @onclick="ToggleAddNew" title="Aggiunta nuova licenza CLiente/Installazione">Add New Inst <i class="fa-solid fa-plus"></i></button>
}
<button class="btn btn-sm m-2 btn-primary" @onclick="ToggleEditLic" title="Modifica Licenza Esistente">Edit Inst <i class="fa-solid fa-edit"></i></button>
<button class="btn btn-sm my-2 btn-dark" @onclick="ResetSel" title="Torna ad elenco">Chiudi <i class="fa-solid fa-xmark"></i></button>
</div>
</div>
<div class="row">
<div class="col-12">
@if (SelRecord.IdxLic == 0)
{
<div class="form-floating">
<select id="floatingSelect" @bind="@SelIdxLic" class="form-select">
<option value="0">--- Nessuna selezione ---</option>
@if (ListLicenze != null)
{
foreach (var item in ListLicenze)
{
if (item.Attivazioni.Count < item.NumLicenze)
{
<option value="@item.IdxLic">@item.CodApp | @item.CodInst | @item.Attivazioni.Count / @item.NumLicenze</option>
}
else
{
<option value="@item.IdxLic" disabled>@item.CodApp | @item.CodInst | @item.Attivazioni.Count / @item.NumLicenze | Esaurito</option>
}
}
}
</select>
<label for="floatingSelect">Selezione Licenza Esistente</label>
</div>
@if (string.IsNullOrEmpty(SelRecord.UserAppr) && SelIdxLic > 0)
{
<button class="btn btn-success btn-lg w-100 my-2" @onclick="() => DoApprove()"><i class="fa-regular fa-thumbs-up"></i> Approva + Assegna Licenza</button>
}
}
else
{
<div class="">
Licenza asegnata: <b>@SelIdxLic</b>
</div>
}
</div>
</div>
</div>
</div>
}
else if (SearchRecords == null || SearchRecords.Count == 0)
{
<div class="alert alert-warning p-2 m-2 text-center">No record Found</div>
}
else
{
<div class="row">
@foreach (var item in ListRecords)
{
<div class="col-3">
<div class="card shadow shadow-lg m-2">
<div class="card-header text-center">
<h3>@($"{item.Passcode:00 00 00 00}")</h3>
</div>
<div class="card-body px-2">
<ul class="list-group">
<li class="list-group-item d-flex justify-content-between active">
<div class="px-0">
Richiesta:
</div>
<div class="px-0">
@($"{item.DtReq:ddd yyyy-MM-dd, HH:MM:ss}")
</div>
</li>
@if (item.DictNumKVP() > nShort)
{
@foreach (var kvp in item.DictAttribShort(nShort))
{
<li class="list-group-item d-flex justify-content-between">
<div class="px-0 small">@kvp.Key:</div>
<div class="px-0"><b>@kvp.Value</b></div>
</li>
}
<li class="list-group-item d-flex justify-content-between">
<div class="px-0">
@if (string.IsNullOrEmpty(item.UserAppr))
{
<button class="btn btn-success btn-sm" @onclick="() => DoSelect(item)">Select</button>
}
else
{
<button class="btn btn-secondary btn-sm" @onclick="() => DoSelect(item)">ShowDetail</button>
}
</div>
<div class="px-0"><i>...@(item.DictNumKVP() - nShort) more</i></div>
</li>
}
else
{
@foreach (var kvp in item.DictAttrib)
{
<li class="list-group-item d-flex justify-content-between">
<div class="px-0">@kvp.Key:</div>
<div class="px-0"> <b>@kvp.Value</b> </div>
</li>
}
}
</ul>
</div>
<div class="card-footer">
<div class="d-flex justify-content-between small">
<div class="px-1">UpdateManager</div>
<div class="px-1 fw-bold">@(DescrLic(item.IdxLic))</div>
</div>
</div>
</div>
</div>
}
</div>
<div class="row">
<div class="col-12">
<div class="card-footer">
<DataPager PageSize="numRecord" currPage="currPage" numRecordChanged="setNumRec" numPageChanged="setNumPage" totalCount="totalCount" showLoading="isLoading" PageSizeList="PageList" />
</div>
</div>
</div>
}