Completato INSERT + DELETE baskets

This commit is contained in:
Samuele Locatelli
2021-04-27 14:59:22 +02:00
parent 1c19d20403
commit 536f11dc0d
5 changed files with 98 additions and 7 deletions
+3 -1
View File
@@ -60,13 +60,15 @@
[Parameter]
public EventCallback<int> DataReset { get; set; }
[Parameter]
public EventCallback<int> DataUpdated { get; set; }
private async Task saveUpdate()
{
if (_basket != null)
{
BBMService.BasketsUpdate(_basket);
await DataReset.InvokeAsync(1);
await DataUpdated.InvokeAsync(1);
}
else
{
+7 -2
View File
@@ -39,11 +39,11 @@ namespace SHERPA.BBM.UI.Data
#region Public Methods
public void BasketsAdd(DatabaseModels.BasketsModel negotiation)
public void BasketsAdd(DatabaseModels.BasketsModel basket)
{
try
{
dbController.BaskAddNew(negotiation);
dbController.BaskAddNew(basket);
}
catch
{
@@ -78,6 +78,11 @@ namespace SHERPA.BBM.UI.Data
}
}
public string CounterGetNext(string CodCounter)
{
return dbController.CounterGetNext(CodCounter);
}
public void NegotiationAdd(DatabaseModels.NegotiationsModel negotiation)
{
try
+42 -2
View File
@@ -1,17 +1,27 @@
@page "/baskets"
@using SHERPA.BBM.UI.Data
@using SHERPA.BBM.UI.Components;
@inject IJSRuntime JSRuntime
@inject BBM_EFService BBMService
<div class="card">
<div class="card-header">
<h3><span class="oi oi-basket" aria-hidden="true"></span> Gestione Baskets</h3>
<div class="row">
<div class="col-6 col-lg-10">
<h3><span class="oi oi-basket" aria-hidden="true"></span> Gestione Baskets</h3>
</div>
<div class="col-6 col-lg-2">
<button class="btn btn-block btn-success" @onclick="CreateNew">NUOVO</button>
</div>
</div>
</div>
<div class="card-body">
@if (currBasket != null)
{
<BasketEditor Basket="@currBasket" DataReset="@ResetData"></BasketEditor>
<BasketEditor Basket="@currBasket" DataReset="ResetData" DataUpdated="UpdateData"></BasketEditor>
}
@if (baskets == null)
{
@@ -27,6 +37,7 @@
<th>Cli</th>
<th>Data ins</th>
<th>Descript</th>
<th></th>
</tr>
</thead>
<tbody>
@@ -38,6 +49,7 @@
<td>@record.CodClient </td>
<td>@record.DataIns</td>
<td>@record.Descript</td>
<td><button class="btn btn-sm btn-danger" @onclick="() => Delete(record)"><span class="oi oi-trash"></span></button></td>
</tr>
}
</tbody>
@@ -80,9 +92,37 @@
currBasket = null;
}
protected async Task UpdateData()
{
currBasket = null;
baskets = await BBMService.BasketsGetAsync(numRecord);
}
protected void CreateNew()
{
// recupero counter
string newCode = BBMService.CounterGetNext("EGW.B");
DatabaseModels.BasketsModel newBasket = new DatabaseModels.BasketsModel()
{
CodBasket = newCode,
DataIns = DateTime.Today,
CodClient = "",
Descript = "New Basket"
};
currBasket = newBasket;
}
protected void Edit(SHERPA.BBM.DatabaseModels.BasketsModel currRecord)
{
currBasket = currRecord;
}
protected async Task Delete(SHERPA.BBM.DatabaseModels.BasketsModel currRecord)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Sicuro di voler eliminare il Basket '{currRecord.CodBasket}'?"))
return;
BBMService.BasketsDelete(currRecord);
await UpdateData();
}
}
+45 -1
View File
@@ -109,7 +109,20 @@ namespace SHERPA.BBM.Controllers
bool done = false;
try
{
dbCtx.Entry(updItem).State = System.Data.Entity.EntityState.Modified;
var currData = dbCtx
.DbSetBaskets
.Where(x => x.CodBasket == updItem.CodBasket)
.FirstOrDefault();
if (currData != null)
{
dbCtx.Entry(updItem).State = System.Data.Entity.EntityState.Modified;
}
else
{
dbCtx
.DbSetBaskets
.Add(updItem);
}
dbCtx.SaveChanges();
done = true;
}
@@ -118,6 +131,37 @@ namespace SHERPA.BBM.Controllers
return done;
}
public string CounterGetNext(string CodCounter)
{
string answ = $"{CodCounter}.0000";
int nextId = 1;
var lastCount = dbCtx
.DbSetCounters
.Where(x => x.CodCounter == CodCounter)
.OrderByDescending(x => x.LastNum)
.FirstOrDefault();
if (lastCount != null)
{
lastCount.LastNum++;
nextId = lastCount.LastNum;
}
else
{
var newRecord = new DatabaseModels.CountersModel()
{
CodCounter = CodCounter,
LastNum = nextId
};
dbCtx
.DbSetCounters
.Add(newRecord);
}
answ = $"{CodCounter}.{nextId:000000}";
dbCtx.SaveChanges();
return answ;
}
public void Dispose()
{
// Clear database context
+1 -1
View File
@@ -35,7 +35,7 @@ namespace SHERPA.BBM.Migrations
context.DbSetBaskets.AddOrUpdate(
p => p.CodBasket,
new DatabaseModels.BasketsModel { CodBasket = "EGW.0000", CodClient = "", Descript = "Empty", DataIns = new DateTime(2021, 01, 01) }
new DatabaseModels.BasketsModel { CodBasket = "EGW.B.000001", CodClient = "", Descript = "Empty", DataIns = new DateTime(2021, 01, 01) }
);
context.DbSetNegotiations.AddOrUpdate(
p => p.CodNegotiation,