From bf2644768ec045bccffcf622d6240c8baeaf5b94 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Fri, 15 Mar 2024 11:43:21 +0100 Subject: [PATCH] Aggiunta metodi get/set dell'ultimo RawItem usato --- .../Controllers/MaterialsController.cs | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs b/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs index b73c30be..79660944 100644 --- a/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs +++ b/EgtBEAMWALL.DataLayer/Controllers/MaterialsController.cs @@ -253,6 +253,71 @@ namespace EgtBEAMWALL.DataLayer.Controllers return newIdx; } + /// + /// Get Last RawItem used for Material + /// + /// + /// Returns 0 if not found + public int LastRawItemGet(int MatId) + { + int RawItemIdLast = 0; + using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING)) + { + try + { + var item2update = localDbCtx + .MaterialsList + .Where(x => (MatId > 0 && x.MatId == MatId)) + .SingleOrDefault(); + + if (item2update != null) + { + RawItemIdLast = item2update.RawItemIdLast; + } + } + catch (Exception exc) + { + Log.Error($"EXCEPTION on Materials.LastRawItemGet: {Environment.NewLine}{exc}"); + } + } + return RawItemIdLast; + } + + /// + /// Update Last RawItem used for Material record + /// + /// Id locale materiale + /// Id del RawItem + /// Returns true if updated + public bool LastRawItemSet(int MatId, int RawItemIdLast) + { + bool done = false; + using (DatabaseContext localDbCtx = new DatabaseContext(DbConfig.CONNECTION_STRING)) + { + try + { + var item2update = localDbCtx + .MaterialsList + .Where(x => (MatId > 0 && x.MatId == MatId)) + .SingleOrDefault(); + + if (item2update != null) + { + item2update.RawItemIdLast = RawItemIdLast; + localDbCtx.Entry(item2update).State = System.Data.Entity.EntityState.Modified; + // Commit changes + localDbCtx.SaveChanges(); + done = true; + } + } + catch (Exception exc) + { + Log.Error($"EXCEPTION on Materials.LastRawItemSet: {Environment.NewLine}{exc}"); + } + } + return done; + } + /// /// Restituisce il primo materiale (se esiste) per MatCode (diretto o tramite Alias) ///