Gestione eliminazione/riattivazione record negativi articoli RawItem
This commit is contained in:
@@ -51,7 +51,7 @@ namespace MagMan.Data.Admin
|
||||
// commentato x test su cluster in ufficio
|
||||
#if DEBUG
|
||||
//connString = "Server=localhost;port=3306;database=MagMan_Admin;uid=MagMan_DbUser;pwd=viad@nte16!;sslmode=None;";
|
||||
connString = "Server=mdb03.ufficio;port=3306;database=MagMan_000470;uid=MagMan_DbUser;pwd=viad@nte16!;sslmode=None;";
|
||||
connString = "Server=mdb03.ufficio;port=3306;database=MagMan_Admin;uid=MagMan_DbUser;pwd=viad@nte16!;sslmode=None;";
|
||||
#endif
|
||||
var serverVersion = ServerVersion.AutoDetect(connString);
|
||||
optionsBuilder.UseMySql(connString, serverVersion);
|
||||
|
||||
@@ -234,6 +234,44 @@ namespace MagMan.Data.Tenant.Controllers
|
||||
return done;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Riattiva Item da magazzino
|
||||
/// </summary>
|
||||
/// <param name="connString">Stringa connessione (variabile x cliente)</param>
|
||||
/// <param name="rec2del">Item da riattivare</param>
|
||||
/// <returns></returns>
|
||||
public bool ItemReactiv(string connString, RawItemModel rec2del)
|
||||
{
|
||||
bool done = false;
|
||||
using (MagManContext dbCtx = new MagManContext(connString))
|
||||
{
|
||||
try
|
||||
{
|
||||
var currData = dbCtx
|
||||
.DbSetItems
|
||||
.Where(x => x.RawItemId == rec2del.RawItemId)
|
||||
.FirstOrDefault();
|
||||
if (currData != null)
|
||||
{
|
||||
// riattivazione logica...
|
||||
currData.IsActive = true;
|
||||
// registro modifica RawItem
|
||||
dbCtx.Entry(currData).State = EntityState.Modified;
|
||||
|
||||
dbCtx.SaveChanges();
|
||||
done = true;
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Eccezione in ItemReactiv{Environment.NewLine}{exc}");
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Converte il DTO in ItemModel
|
||||
/// </summary>
|
||||
|
||||
@@ -233,6 +233,33 @@ namespace MagMan.Data.Tenant.Services
|
||||
return fatto;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Riattiva Item da magazzino + refresh cache
|
||||
/// </summary>
|
||||
/// <param name="nKey">Key di riferimento</param>
|
||||
/// <param name="rec2react">Item da riattivare</param>
|
||||
/// <returns></returns>
|
||||
public async Task<bool> ItemReactiv(int nKey, RawItemModel rec2react)
|
||||
{
|
||||
bool fatto = false;
|
||||
string cString = ConnString(nKey);
|
||||
try
|
||||
{
|
||||
fatto = dbController.ItemReactiv(cString, rec2react);
|
||||
if (fatto)
|
||||
{
|
||||
await FlushRedisCache();
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Log.Error($"Error during ItemReactiv:{Environment.NewLine}{exc}");
|
||||
}
|
||||
return fatto;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Converte il DTO in ItemModel, colmando eventuale mancante nelle note dell'item
|
||||
/// </summary>
|
||||
|
||||
@@ -76,7 +76,14 @@
|
||||
<tr class="align-middle @CheckSel(item) @cssRow">
|
||||
<td>
|
||||
<button class="btn btn-info btn-sm" @onclick="() => DoSelect(item)"><i class="fa-solid fa-search"></i></button>
|
||||
<button class="btn btn-primary btn-sm" @onclick="() => DoEdit(item)"><i class="fa-solid fa-edit"></i></button>
|
||||
@if (item.IsActive)
|
||||
{
|
||||
<button class="btn btn-primary btn-sm" @onclick="() => DoEdit(item)"><i class="fa-solid fa-edit"></i></button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<button class="btn btn-warning btn-sm" @onclick="() => ReactivRecord(item)" title="Riattivazione Record"><i class="fa-regular fa-thumbs-up"></i></button>
|
||||
}
|
||||
</td>
|
||||
<td class="text-end fs-5">
|
||||
<b>@item.QtyAvail</b>
|
||||
@@ -114,7 +121,7 @@
|
||||
<AuthorizeView Roles="SuperAdmin, Admin">
|
||||
<Authorized>
|
||||
<td class="text-end">
|
||||
@if (item.QtyAvail == 0 && item.IsActive)
|
||||
@if (item.QtyAvail <= 0 && item.IsActive)
|
||||
{
|
||||
<button class="btn btn-danger btn-sm" @onclick="() => DeleteRecord(item)"><i class="fa-solid fa-trash"></i></button>
|
||||
}
|
||||
|
||||
@@ -145,6 +145,15 @@ namespace MagMan.UI.Components
|
||||
await ReloadData();
|
||||
}
|
||||
|
||||
|
||||
protected async Task ReactivRecord(RawItemModel selItem)
|
||||
{
|
||||
if (!await JSRuntime.InvokeAsync<bool>("confirm", "Sicuro di voler riattivare il record?"))
|
||||
return;
|
||||
await TService.ItemReactiv(KeyNum, selItem);
|
||||
await ReloadData();
|
||||
}
|
||||
|
||||
protected void DoEdit(RawItemModel? selItem)
|
||||
{
|
||||
CurrItem = selItem;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Version>1.0.2405.0219</Version>
|
||||
<Version>1.0.2405.0717</Version>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<EnableNETAnalyzers>true</EnableNETAnalyzers>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<body>
|
||||
<i>MagMan - Wood Warehouse Management System</i>
|
||||
<h4>Versione: 1.0.2405.0219</h4>
|
||||
<h4>Versione: 1.0.2405.0717</h4>
|
||||
<br /> Note di rilascio:
|
||||
<ul>
|
||||
<li>
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.0.2405.0219
|
||||
1.0.2405.0717
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<item>
|
||||
<version>1.0.2405.0219</version>
|
||||
<version>1.0.2405.0717</version>
|
||||
<url>http://nexus.steamware.net/repository/SWS/MagMan/stable/0/MagMan.UI.zip</url>
|
||||
<changelog>http://nexus.steamware.net/repository/SWS/MagMan/stable/0/ChangeLog.html</changelog>
|
||||
<mandatory>false</mandatory>
|
||||
|
||||
Reference in New Issue
Block a user