diff --git a/WebDoorCreator.API/Controllers/QueueController.cs b/WebDoorCreator.API/Controllers/QueueController.cs
index 72c11c6..1335afa 100644
--- a/WebDoorCreator.API/Controllers/QueueController.cs
+++ b/WebDoorCreator.API/Controllers/QueueController.cs
@@ -11,11 +11,12 @@ namespace WebDoorCreator.API.Controllers
{
#region Public Constructors
- public QueueController(IConfiguration configuration, QueueDataService DataService)
+ public QueueController(IConfiguration configuration, QueueDataService DataService, WebDoorCreatorService _WDService)
{
Log.Info("Starting QueueController");
_configuration = configuration;
QDataServ = DataService;
+ WDService = _WDService;
Log.Info("Avviato QueueController");
}
@@ -93,9 +94,9 @@ namespace WebDoorCreator.API.Controllers
/* --------------
* da riscrivere
- * - server record x cancellazione logica delle porte
- * - il record (boolean, toDelete...) indica azione richeista
- * - si prendono TUTTE le prote da DB con toDelete == true
+ * - server record x cancellazione logica delle porte OK
+ * - il record (boolean, toDelete...) indica azione richiesta OK
+ * - si prendono TUTTE le porte da DB con toDelete == true ok
* - si eliminano su REDIS dalle 4 code (req, processing, error, done)
* - check delle code processing, SE ci sono record rimasti li cerco sul DB
* - se NON ci sono sul db --> li elimino da processing
@@ -104,6 +105,10 @@ namespace WebDoorCreator.API.Controllers
* - proseguo come ora (sposto tra code processing --> request)
*/
+ var doors2Del = await WDService.DoorGet2Del();
+
+
+
bool fatto = await QDataServ.ResetQueueProcessing();
answ = fatto ? "OK" : "NO";
return answ;
@@ -171,6 +176,7 @@ namespace WebDoorCreator.API.Controllers
#region Private Properties
private QueueDataService QDataServ { get; set; } = null!;
+ private WebDoorCreatorService WDService { get; set; } = null!;
#endregion Private Properties
}
diff --git a/WebDoorCreator.Data/Controllers/WebDoorCreatorController.cs b/WebDoorCreator.Data/Controllers/WebDoorCreatorController.cs
index adc84fa..c5ec902 100644
--- a/WebDoorCreator.Data/Controllers/WebDoorCreatorController.cs
+++ b/WebDoorCreator.Data/Controllers/WebDoorCreatorController.cs
@@ -226,6 +226,31 @@ namespace WebDoorCreator.Data.Controllers
}
return dbResult;
}
+ ///
+ /// Getting door list 2 delete
+ ///
+ ///
+ public List? DoorGet2Del()
+ {
+ List? dbResult = new List();
+ // retrieving data from db
+ using (WDCDataContext localDbCtx = new WDCDataContext(_configuration))
+ {
+ try
+ {
+ // extracting entire set
+ dbResult = localDbCtx.DbSetDoor
+ .Where(x => x.isLogicDel)
+ .AsNoTracking()
+ .ToList();
+ }
+ catch (Exception exc)
+ {
+ Log.Error($"Error in DoorGet2Del:{Environment.NewLine}{exc}");
+ }
+ }
+ return dbResult;
+ }
///
/// Adding a new door
diff --git a/WebDoorCreator.Data/Services/WebDoorCreatorService.cs b/WebDoorCreator.Data/Services/WebDoorCreatorService.cs
index 320e288..0d2294a 100644
--- a/WebDoorCreator.Data/Services/WebDoorCreatorService.cs
+++ b/WebDoorCreator.Data/Services/WebDoorCreatorService.cs
@@ -1110,6 +1110,27 @@ namespace WebDoorCreator.Data.Services
return dbResult;
}
+ ///
+ /// Doors key (DoorId)
+ ///
+ public async Task?> DoorGet2Del()
+ {
+ await Task.Delay(1);
+ string source = "DB";
+ List? dbResult = new List();
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ dbResult = dbController.DoorGet2Del();
+ if (dbResult == null)
+ {
+ dbResult = new List();
+ }
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Debug($"DoorGet2Del | {source} in: {ts.TotalMilliseconds} ms");
+ return dbResult;
+ }
+
///
/// Doors list by numRec
///