Files
Samuele Locatelli 5d72d21fb1 Stat installazioni:
Update gestione paginazione (visibile solo dove serve) + fix calcolo di alcuni intems male filtrati
2025-04-03 17:47:31 +02:00

285 lines
19 KiB
Plaintext

@if (isLoading)
{
<LoadingData></LoadingData>
}
else if (SelRecord != null)
{
<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 modal-xl shadow">
<div class="modal-content">
<div class="modal-header d-flex justify-content-between py-2">
<div class="px-2">
<h4>Gestione / Assegnazione Licenza</h4>
</div>
<div class="px-2">
<button class="btn my-2 btn-outline-dark w-100" @onclick="ResetSel" title="Torna ad elenco">Chiudi <i class="fa-solid fa-xmark"></i></button>
</div>
</div>
<div class="modal-body p-0">
<div class="row mx-0">
<div class="col-8">
<div class="card shadow shadow-lg my-1 mx-0">
<div class="card-header text-center p-1">
<h4 class="mb-0 fw-bold">@($"{SelRecord.Passcode:00 00 00 00}")</h4>
</div>
<div class="card-body p-1">
<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-4">
<div class="card shadow shadow-lg my-1 mx-0">
<div class="card-header text-center p-1">
<h4 class="mb-0">Azioni Ammesse</h4>
</div>
<div class="card-body">
@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>
}
@if (SelRecord.IdxLic == 0)
{
<button class="btn btn-sm my-2 btn-success w-100" @onclick="ToggleAddNew" title="Aggiunta nuova licenza Cliente (Installazione)">Add New Inst <i class="fa-solid fa-plus"></i></button>
}
<button class="btn btn-sm btn-primary w-100" @onclick="ToggleEditLic" title="incrementa numero Attivazioni permesse per Licenza Cliente (Installazione) già attiva">Incrementa # Attivazioni permesse <i class="fa-solid fa-edit"></i></button>
<div class="row my-3">
<div class="col-12">
@if (SelRecord.IdxLic == 0)
{
<div>
<b>Assegnazione a Cliente/Installazione</b>
</div>
<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
{
<ul class="list-group my-3">
<li class="list-group-item d-flex justify-content-between">
<div class="px-1">Licenza assegnata: </div>
<div class="px-1"><b>@SelRecord.IdxLic</b></div>
</li>
<li class="list-group-item d-flex justify-content-between">
<div class="px-1">Approvatore: </div>
<div class="px-1"><b>@SelRecord.UserAppr</b></div>
</li>
</ul>
}
</div>
</div>
@if (!string.IsNullOrEmpty(SelRecord.UserAppr))
{
<button class="btn btn-sm btn-danger w-100" @onclick="DoDelete" title="Elimina Enroll ed attivazione dalla Licenza collegata">Elimina Enroll + Attivazione <i class="fa-solid fa-trash"></i></button>
}
</div>
</div>
</div>
</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 px-1">
<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 p-1">
<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">
@if (totalCount > numRecord)
{
<DataPager PageSize="numRecord" currPage="currPage" numRecordChanged="setNumRec" numPageChanged="setNumPage" totalCount="totalCount" showLoading="isLoading" PageSizeList="PageList" />
}
</div>
</div>
</div>
}