From 3873d468e7209d7da2dddd5cf07dea80f8ef381a Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 31 Jan 2024 18:44:37 +0100 Subject: [PATCH 1/2] Return int chiave post insert item magazzino --- .../Controllers/MaterialsController.cs | 16 ++++++++-------- .../Controllers/RawItemsController.cs | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs b/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs index 701c1fe8..9d97258a 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs @@ -204,13 +204,13 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// /// /// - public bool Upsert(Core.MaterialM coreItem) + public int Upsert(Core.MaterialM coreItem) { - bool fatto = false; + int newIdx = 0; // converto MaterialModel updItem = ConvToModel(coreItem); - fatto = Upsert(updItem); - return fatto; + newIdx = Upsert(updItem); + return newIdx; } /// @@ -218,9 +218,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// /// /// - public bool Upsert(MaterialModel updItem) + public int Upsert(MaterialModel updItem) { - bool fatto = false; + int newIdx = 0; using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING)) { try @@ -238,7 +238,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers localDbCtx.Entry(item2update).CurrentValues.SetValues(updItem); // Commit changes localDbCtx.SaveChanges(); - fatto = true; + newIdx = item2update.MatId; } else { @@ -250,7 +250,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers Log.Error($"EXCEPTION on Materials.Upsert: {Environment.NewLine}{exc}"); } } - return fatto; + return newIdx; } #endregion Public Methods diff --git a/EgtBEAMWALL.DataLayer/Controllers/RawItemsController.cs b/EgtBEAMWALL.DataLayer/Controllers/RawItemsController.cs index b25d8a1c..cf7722d8 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/RawItemsController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/RawItemsController.cs @@ -258,9 +258,9 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// /// /// - public bool Upsert(RawItemModel updItem) + public int Upsert(RawItemModel updItem) { - bool fatto = false; + int newIdx = 0; using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING)) { try @@ -277,7 +277,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers localDbCtx.Entry(item2update).CurrentValues.SetValues(updItem); // Commit changes localDbCtx.SaveChanges(); - fatto = true; + newIdx = item2update.RawItemId; } else { @@ -289,7 +289,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers Log.Error($"EXCEPTION on RawItems.Upsert: {Environment.NewLine}{exc}"); } } - return fatto; + return newIdx; } /// @@ -297,13 +297,13 @@ namespace EgtBEAMWALL.DataLayer.Controllers /// /// /// - public bool Upsert(Core.RawPartM coreItem) + public int Upsert(Core.RawPartM coreItem) { - bool fatto = false; + int newIdx = 0; // converto RawItemModel updItem = ConvToModel(coreItem); - fatto = Upsert(updItem); - return fatto; + newIdx = Upsert(updItem); + return newIdx; } #endregion Public Methods From be241f04d2d8ded22e8216f3200c21d9d0841cbc Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 31 Jan 2024 19:00:03 +0100 Subject: [PATCH 2/2] fix controllo valori > 0 in upsert mat e rawItem + save posticipato --- .../Controllers/MaterialsController.cs | 10 +++++----- .../Controllers/RawItemsController.cs | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs b/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs index 9d97258a..40e76a78 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs @@ -227,8 +227,8 @@ namespace EgtBEAMWALL.DataLayer.Controllers { var item2update = localDbCtx .MaterialsList - .Where(x => x.MatId == updItem.MatId - || x.MatCloudId == updItem.MatCloudId + .Where(x => (updItem.MatId > 0 && x.MatId == updItem.MatId) + || (updItem.MatCloudId > 0 && x.MatCloudId == updItem.MatCloudId) || (x.MatCode == updItem.MatCode && x.WMm == updItem.WMm && x.HMm == updItem.HMm && x.LMm == updItem.LMm)) .SingleOrDefault(); @@ -236,14 +236,14 @@ namespace EgtBEAMWALL.DataLayer.Controllers { // update, vers 1... localDbCtx.Entry(item2update).CurrentValues.SetValues(updItem); - // Commit changes - localDbCtx.SaveChanges(); - newIdx = item2update.MatId; } else { localDbCtx.MaterialsList.Add(updItem); } + // Commit changes + localDbCtx.SaveChanges(); + newIdx = item2update.MatId; } catch (Exception exc) { diff --git a/EgtBEAMWALL.DataLayer/Controllers/RawItemsController.cs b/EgtBEAMWALL.DataLayer/Controllers/RawItemsController.cs index cf7722d8..fe7b078d 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/RawItemsController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/RawItemsController.cs @@ -267,7 +267,7 @@ namespace EgtBEAMWALL.DataLayer.Controllers { var item2update = localDbCtx .RawItemList - .Where(x => x.RawItemId == updItem.RawItemId + .Where(x => (updItem.RawItemId>0 && x.RawItemId == updItem.RawItemId) || (x.MatId == updItem.MatId && x.WMm == updItem.WMm && x.HMm == updItem.HMm && x.LMm == updItem.LMm)) .SingleOrDefault(); @@ -275,14 +275,14 @@ namespace EgtBEAMWALL.DataLayer.Controllers { // update, vers 1... localDbCtx.Entry(item2update).CurrentValues.SetValues(updItem); - // Commit changes - localDbCtx.SaveChanges(); - newIdx = item2update.RawItemId; } else { localDbCtx.RawItemList.Add(updItem); } + // Commit changes + localDbCtx.SaveChanges(); + newIdx = item2update.RawItemId; } catch (Exception exc) {