aggiunte funzioni per creare nuova sessione +

delete sessione
This commit is contained in:
zaccaria.majid
2022-11-17 17:59:49 +01:00
parent 187cec032f
commit 81fe854964
2 changed files with 170 additions and 25 deletions
+109 -10
View File
@@ -4,10 +4,10 @@
<div class="card">
<div class="card-header d-flex justify-content-between">
<div class="col-6">
<div class="col-5">
<h3>Sessione</h3>
</div>
<div class="col-6">
<div class="col-2 align-content-center">
<div class="input-group input-group-sm">
<div class="input-group-text">
<span class="me-1">In corso</span>
@@ -18,6 +18,11 @@
</div>
</div>
</div>
<div class="col-5 d-flex flex-row-reverse">
<button class="btn btn-success" @onclick="()=>openNew()">
<i class="fa-regular fa-square-plus"></i> &nbsp; NUOVO
</button>
</div>
</div>
<div class="card-body">
@@ -27,16 +32,87 @@
}
else
{
@if (reqNew)
{
<div class="row">
<div class="col-12">
<div class="card mb-5">
<div class="card-header bg-primary text-light d-flex justify-content-between">
<div>
Avvia una nuova sessione
</div>
<div>
@*@if (isEditing)
{
<span class="text-light">PENDING CHANGES...</span>
}*@
</div>
</div>
<div class="card-body">
<div class="row">
<div class="col-4 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Magazzino</span>
<select class="form-select" @bind="@magazzino">
<option value="-1" selected>--Selezionare magazzino--</option>
@if (elencoMagazzini != null)
{
@foreach (var item in elencoMagazzini)
{
<option value="@item.MagID">@item.CodMag @item.CodCS | @item.DescMag</option>
}
}
</select>
</div>
</div>
<div class="col-8 pe-0">
<div class="input-group input-group-sm">
<span class="input-group-text" id="inputGroup-sizing-sm">Descrizione</span>
<input type="text" class="form-control" aria-label="Art search" aria-describedby="inputGroup-sizing-sm" @bind="@desc">
</div>
</div>
</div>
<div class="row pt-4" style="visibility:">
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
</div>
<div class="col-3 pe-0">
<div class="d-grid gap-2">
<button class="btn btn-warning" @onclick="closeNew">Annulla <i class="bi bi-x-circle"></i></button>
</div>
</div>
<div class="col-3 pe-0">
@if (magazzino != -1)
{
<div class="d-grid gap-2">
<button class="btn btn-success" @onclick="insertNewSession">Save <i class="bi bi-save"></i></button>
</div>
}
</div>
</div>
</div>
</div>
</div>
</div>
}
<table class="table">
<thead>
<tr>
<th scope="col">QR</th>
<th scope="col">Description</th>
@if (inCorso)
{
<th scope="col">QR</th>
}
<th scope="col">ID sessione</th>
<th scope="col">Magazzino</th>
<th scope="col">Operatore</th>
<th scope="col">Data inizio</th>
<th scope="col">Data fine</th>
<th scope="col">Description</th>
<th scope="col">Trasferita</th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@@ -45,15 +121,22 @@
@foreach (var item in elencoSessioni)
{
<tr>
@if (inCorso)
{
<td>
<!-- Button trigger modal -->
<button type="button" class="btn btn-dark" data-bs-toggle="modal" data-bs-target="#exampleModal" @onclick="()=> getCurrSess(item.InveSessID)" title="Apri qr per connettersi alla sessione">
<i class="fa-solid fa-qrcode"></i>
</button>
</td>
}
<td>
<!-- Button trigger modal -->
<button type="button" class="btn btn-dark" data-bs-toggle="modal" data-bs-target="#exampleModal" @onclick="()=> getCurrSess(item.InveSessID)" title="Apri qr per connettersi alla sessione">
<i class="fa-solid fa-qrcode"></i>
</button>
@item.InveSessID
</td>
<td>
@item.Description
@item.AnagMagNav.DescMag
</td>
<td>
@item.UserCrea
</td>
@@ -73,7 +156,23 @@
</td>
}
<td>
@item.Transferred
@item.Description
</td>
<td>
@if (item.Transferred)
{
<i class="fa-regular fa-square-check text-success"></i>
}
else
{
<i class="fa-regular fa-square text-dark"></i>
}
</td>
<td>
<button class="btn btn-danger btn-sm" @onclick="()=>deleteSession(item)">
<i class="fa-solid fa-trash-can"></i>
</button>
</td>
</tr>
+61 -15
View File
@@ -27,6 +27,8 @@ namespace MP.INVE.Pages
private MiDataService MIDataservice { get; set; } = null!;
private List<InventorySessionModel>? elencoSessioni;
private List<AnagOperatoriModel>? elencoOperatori;
private List<AnagMagModel>? elencoMagazzini;
protected override async Task OnInitializedAsync()
{
@@ -36,16 +38,6 @@ namespace MP.INVE.Pages
await reloadData();
}
#if false
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
}
}
#endif
private bool inCorso { get; set; } = true;
protected async Task toggle()
{
@@ -54,7 +46,7 @@ namespace MP.INVE.Pages
}
protected string BaseUrlTab { get => $"{Configuration["ServerConf:BaseUrlJumper"]}"; }
private int idOperatore { get; set; } = 0;
private string idOperatore { get; set; } = "";
private int currIdSess { get; set; } = 0;
private string authKey { get; set; } = "";
private DateTime dtStart { get; set; } = DateTime.Now.AddMonths(-1);
@@ -70,7 +62,62 @@ namespace MP.INVE.Pages
}
}
private bool reqNew { get; set; } = false;
private void openNew()
{
reqNew = true;
elencoOperatori = MIDataservice.ElencoOperatori(0, "");
elencoMagazzini = MIDataservice.ElencoMagazzini();
}
private void closeNew()
{
reqNew = false;
elencoOperatori = new List<AnagOperatoriModel>();
elencoMagazzini = new List<AnagMagModel>();
}
private async Task insertNewSession()
{
var alert = await JSRuntime.InvokeAsync<bool>("confirm", "Confermi di voler creare una nuova sessione per il magazzino selezionato?");
if (alert)
{
InventorySessionModel newSess = new InventorySessionModel()
{
UserCrea = idOperatore,
Description = desc,
DtStart = DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd HH:mm")),
DtEnd = null,
Transferred = false,
MagID = magazzino
};
await MIDataservice.InsertNewSessione(newSess);
NavManager.NavigateTo("Session", true);
await reloadData();
}
else
{
closeNew();
}
}
private async Task deleteSession(InventorySessionModel session)
{
var alert = await JSRuntime.InvokeAsync<bool>("confirm", "Confermi di voler creare una nuova sessione per il magazzino selezionato?");
if (alert)
{
await MIDataservice.deleteSessione(session);
NavManager.NavigateTo("Session", true);
await reloadData();
}
}
private bool isLoading { get; set; } = false;
private int magazzino { get; set; } = 0;
private string matrOpr { get; set; } = "";
private string desc { get; set; } = "";
private async Task reloadData()
{
@@ -108,12 +155,11 @@ namespace MP.INVE.Pages
{
OperatoreDTO local = new OperatoreDTO();
local = await localStorage.GetItemAsync<OperatoreDTO>("MatrOpr");
if(local != null)
if (local != null)
{
idOperatore = local.MatrOpr;
idOperatore = local.MatrOpr.ToString();
authKey = local.hashAuthKey;
}
}
}
}
}