diff --git a/MP-TAB-SERV/Shared/MainLayout.razor.cs b/MP-TAB-SERV/Shared/MainLayout.razor.cs
index c20d5162..0dc08eec 100644
--- a/MP-TAB-SERV/Shared/MainLayout.razor.cs
+++ b/MP-TAB-SERV/Shared/MainLayout.razor.cs
@@ -55,31 +55,6 @@ namespace MP_TAB_SERV.Shared
#region Protected Methods
- protected async Task ForceReload()
- {
- Stopwatch sw = new Stopwatch();
- sw.Start();
- Log.Info("Start ForceReload");
- ResetClass = "btn-warning";
- await InvokeAsync(StateHasChanged);
- // reset cache varie
- await MServ.ClearLocalStor();
- await MServ.ClearSessionStor();
- await MDataService.FlushCache();
- // reload MStor
- await ReloadMemStor();
- // calcolo tempo esecuzione
- sw.Stop();
- int delta = 500 - (int)sw.ElapsedMilliseconds;
- delta = delta > 0 ? delta : 50;
- await Task.Delay(delta);
- ResetClass = "btn-primary";
- // await InvokeAsync(StateHasChanged);
- Log.Info($"ForceReload completed in {sw.ElapsedMilliseconds}ms");
- // ricarica pagina!
- NavMan.NavigateTo("/", true);
- }
-
///
/// Init struttura dati
///
diff --git a/MP-TAB-SERV/Shared/MainLayout.razor.css b/MP-TAB-SERV/Shared/MainLayout.razor.css
index 20fe1add..a80c3036 100644
--- a/MP-TAB-SERV/Shared/MainLayout.razor.css
+++ b/MP-TAB-SERV/Shared/MainLayout.razor.css
@@ -13,29 +13,7 @@ main {
padding: 0 10px 0 0;
}
-.top-row {
- background-color: #05173d;
- /*border-bottom: 1px solid #d6d5d5;*/
- justify-content: flex-end;
- height: 3.5rem;
- display: flex;
- align-items: center;
-}
- .top-row ::deep a, .top-row ::deep .btn-link {
- white-space: nowrap;
- /*margin-left: 1.5rem;*/
- text-decoration: none;
- }
-
- .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
- text-decoration: underline;
- }
-
- .top-row ::deep a:first-child {
- overflow: hidden;
- text-overflow: ellipsis;
- }
@media (min-width: 640.98px) {
.slideMen:not(.auth) {
@@ -48,26 +26,6 @@ main {
}
-
-
-@media (max-width: 640.98px) {
- .top-row:not(.auth) {
- display: none;
- }
-
- #mainBody {
- width: 100%;
- }
-
- .top-row.auth {
- justify-content: space-between;
- }
-
- .top-row ::deep a, .top-row ::deep .btn-link {
- margin-left: 0;
- }
-}
-
@media (min-width: 641px) {
.page {
flex-direction: row;
@@ -82,22 +40,6 @@ main {
}
}
-.top-row {
- position: sticky;
- top: 0;
- z-index: 1;
-}
-
- .top-row.auth ::deep a:first-child {
- flex: 1;
- text-align: right;
- width: 0;
- }
-
-.top-row, article {
- padding-left: 1rem !important;
- padding-right: .5rem !important;
-}
#blazor-error-ui {
background: lightyellow;
diff --git a/MP-TAB-SERV/wwwroot/css/site.css b/MP-TAB-SERV/wwwroot/css/site.css
index 924a71e9..508a0b26 100644
--- a/MP-TAB-SERV/wwwroot/css/site.css
+++ b/MP-TAB-SERV/wwwroot/css/site.css
@@ -101,4 +101,56 @@ a,
}
.blazor-error-boundary::after {
content: "An error has occurred.";
+}
+.top-row {
+ background-color: #05173d;
+ /*border-bottom: 1px solid #d6d5d5;*/
+ justify-content: flex-end;
+ height: 3.5rem;
+ display: flex;
+ align-items: center;
+}
+.top-row ::deep a,
+.top-row ::deep .btn-link {
+ white-space: nowrap;
+ /*margin-left: 1.5rem;*/
+ text-decoration: none;
+}
+.top-row ::deep a:hover,
+.top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+}
+.top-row ::deep a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+@media (max-width: 640.98px) {
+ .top-row:not(.auth) {
+ display: none;
+ }
+ #mainBody {
+ width: 100%;
+ }
+ .top-row.auth {
+ justify-content: space-between;
+ }
+ .top-row ::deep a,
+ .top-row ::deep .btn-link {
+ margin-left: 0;
+ }
+}
+.top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+}
+.top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+}
+.top-row,
+article {
+ padding-left: 1rem !important;
+ padding-right: 0.5rem !important;
}
\ No newline at end of file
diff --git a/MP-TAB-SERV/wwwroot/css/site.less b/MP-TAB-SERV/wwwroot/css/site.less
index f1f08aa8..3623ea46 100644
--- a/MP-TAB-SERV/wwwroot/css/site.less
+++ b/MP-TAB-SERV/wwwroot/css/site.less
@@ -114,3 +114,63 @@ html, body {
.blazor-error-boundary::after {
content: "An error has occurred."
}
+
+.top-row {
+ background-color: #05173d;
+ /*border-bottom: 1px solid #d6d5d5;*/
+ justify-content: flex-end;
+ height: 3.5rem;
+ display: flex;
+ align-items: center;
+}
+
+.top-row ::deep a, .top-row ::deep .btn-link {
+ white-space: nowrap;
+ /*margin-left: 1.5rem;*/
+ text-decoration: none;
+}
+
+.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
+ text-decoration: underline;
+}
+
+.top-row ::deep a:first-child {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+
+@media (max-width: 640.98px) {
+ .top-row:not(.auth) {
+ display: none;
+ }
+
+ #mainBody {
+ width: 100%;
+ }
+
+ .top-row.auth {
+ justify-content: space-between;
+ }
+
+ .top-row ::deep a, .top-row ::deep .btn-link {
+ margin-left: 0;
+ }
+}
+
+.top-row {
+ position: sticky;
+ top: 0;
+ z-index: 1;
+}
+
+.top-row.auth ::deep a:first-child {
+ flex: 1;
+ text-align: right;
+ width: 0;
+}
+
+.top-row, article {
+ padding-left: 1rem !important;
+ padding-right: .5rem !important;
+}
\ No newline at end of file
diff --git a/MP-TAB-SERV/wwwroot/css/site.min.css b/MP-TAB-SERV/wwwroot/css/site.min.css
index 9ec2a048..c429c6c5 100644
--- a/MP-TAB-SERV/wwwroot/css/site.min.css
+++ b/MP-TAB-SERV/wwwroot/css/site.min.css
@@ -1 +1 @@
-@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');html,body{font-family:'Open Sans Condensed',sans-serif;background-color:#151321;color:#ededed;}.cardObj{border-radius:.375rem;background:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);box-shadow:0 4px 24px -1px rgba(0,0,0,.25);flex-shrink:0;}.cardObjNoBL{border-radius:.375rem 0 0 .375rem;background:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);box-shadow:0 4px 24px -1px rgba(0,0,0,.25);flex-shrink:0;}.cardFullHeight{border-radius:.375rem;background:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);box-shadow:0 4px 24px -1px rgba(0,0,0,.25);flex-shrink:0;height:100%;}.longStopListNotes{height:100%;}@media(max-width:640.98px){.longStopListNotes{max-height:120px;}}.borderStd{border-radius:.375rem;}.table-dark{--bs-table-color:#fff;--bs-table-bg:transparent;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color);}h1:focus{outline:0;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";}
\ No newline at end of file
+@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');html,body{font-family:'Open Sans Condensed',sans-serif;background-color:#151321;color:#ededed;}.cardObj{border-radius:.375rem;background:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);box-shadow:0 4px 24px -1px rgba(0,0,0,.25);flex-shrink:0;}.cardObjNoBL{border-radius:.375rem 0 0 .375rem;background:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);box-shadow:0 4px 24px -1px rgba(0,0,0,.25);flex-shrink:0;}.cardFullHeight{border-radius:.375rem;background:linear-gradient(121deg,rgba(255,255,255,.2) -.71%,rgba(255,255,255,.05) 97.66%);box-shadow:0 4px 24px -1px rgba(0,0,0,.25);flex-shrink:0;height:100%;}.longStopListNotes{height:100%;}@media(max-width:640.98px){.longStopListNotes{max-height:120px;}}.borderStd{border-radius:.375rem;}.table-dark{--bs-table-color:#fff;--bs-table-bg:transparent;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color);}h1:focus{outline:0;}a,.btn-link{color:#0071c1;}.btn-primary{color:#fff;background-color:#1b6ec2;border-color:#1861ac;}.content{padding-top:1.1rem;}.valid.modified:not([type=checkbox]){outline:1px solid #26b050;}.invalid{outline:1px solid #f00;}.validation-message{color:#f00;}#blazor-error-ui{background:#ffffe0;bottom:0;box-shadow:0 -1px 2px rgba(0,0,0,.2);display:none;left:0;padding:.6rem 1.25rem .7rem 1.25rem;position:fixed;width:100%;z-index:1000;}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem;}.blazor-error-boundary{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem,#b32121;padding:1rem 1rem 1rem 3.7rem;color:#fff;}.blazor-error-boundary::after{content:"An error has occurred.";}.top-row{background-color:#05173d;justify-content:flex-end;height:3.5rem;display:flex;align-items:center;}.top-row ::deep a,.top-row ::deep .btn-link{white-space:nowrap;text-decoration:none;}.top-row ::deep a:hover,.top-row ::deep .btn-link:hover{text-decoration:underline;}.top-row ::deep a:first-child{overflow:hidden;text-overflow:ellipsis;}@media(max-width:640.98px){.top-row:not(.auth){display:none;}#mainBody{width:100%;}.top-row.auth{justify-content:space-between;}.top-row ::deep a,.top-row ::deep .btn-link{margin-left:0;}}.top-row{position:sticky;top:0;z-index:1;}.top-row.auth ::deep a:first-child{flex:1;text-align:right;width:0;}.top-row,article{padding-left:1rem!important;padding-right:.5rem!important;}
\ No newline at end of file
diff --git a/MP.Data/Controllers/MpTabController.cs b/MP.Data/Controllers/MpTabController.cs
index bee0b466..af3a4a36 100644
--- a/MP.Data/Controllers/MpTabController.cs
+++ b/MP.Data/Controllers/MpTabController.cs
@@ -54,6 +54,51 @@ namespace MP.Data.Controllers
return dbResult;
}
+
+ ///
+ /// Elenco operatori
+ ///
+ ///
+ public List ElencoOperatori()
+ {
+ List dbResult = new List();
+ using (var dbCtx = new MoonProContext(_configuration))
+ {
+ dbResult = dbCtx
+ .DbOperatori
+ .Where(s => s.MatrOpr > 0)
+ .AsNoTracking()
+ .OrderBy(x => x.MatrOpr)
+ .ToList();
+ }
+ return dbResult;
+ }
+
+ ///
+ /// login operatori
+ ///
+ /// ///
+ /// ///
+ ///
+ public AnagOperatoriModel LoginOperatore(int matrOpr, string authKey)
+ {
+ AnagOperatoriModel dbResult = null;
+ AnagOperatoriModel answ = new AnagOperatoriModel();
+ using (var dbCtx = new MoonProContext(_configuration))
+ {
+ dbResult = dbCtx
+ .DbOperatori
+ .Where(s => (s.MatrOpr > 0) && (s.MatrOpr == matrOpr) && (s.authKey == authKey))
+ .AsNoTracking()
+ .FirstOrDefault();
+ if (dbResult != null)
+ {
+ answ = dbResult;
+ }
+ }
+ return answ;
+ }
+
///
/// Registrato ACK allarme
///
diff --git a/MP.Data/DTO/userTknDTO.cs b/MP.Data/DTO/userTknDTO.cs
new file mode 100644
index 00000000..bc9a8db5
--- /dev/null
+++ b/MP.Data/DTO/userTknDTO.cs
@@ -0,0 +1,15 @@
+using MP.Data.DatabaseModels;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace MP.Data.DTO
+{
+ public class userTknDTO
+ {
+ public AnagOperatoriModel currOpr { get; set; } = null;
+ public DateTime expTime { get; set; } = DateTime.Now;
+ }
+}
diff --git a/MP.Data/Services/MessageService.cs b/MP.Data/Services/MessageService.cs
index 6d751191..faeb93c4 100644
--- a/MP.Data/Services/MessageService.cs
+++ b/MP.Data/Services/MessageService.cs
@@ -2,6 +2,7 @@
using Blazored.SessionStorage;
using Microsoft.Extensions.Configuration;
using MP.Data.DatabaseModels;
+using MP.Data.DTO;
using Newtonsoft.Json;
using NLog;
using StackExchange.Redis;
@@ -339,6 +340,7 @@ namespace MP.Data.Services
return answ;
}
+
///
/// Recupero singola preferenza utente
///
@@ -482,6 +484,35 @@ namespace MP.Data.Services
return fatto;
}
+
+ ///
+ /// Restituisce il record OperatoreDTO da localstorage
+ ///
+ ///
+ public async Task getCurrOperDtoAsync()
+ {
+ string answ = "";
+ var result = await localStorage.GetItemAsync("currTkn");
+ if (result != null)
+ {
+ //var data = JsonConvert.DeserializeObject(result);
+ answ = result;
+ }
+ return answ;
+ }
+
+ ///
+ /// scrive il record OperatoreDTO nel localstorage
+ ///
+ ///
+ public async Task setCurrOperDtoAsync(string currTkn)
+ {
+ bool answ = false;
+ await localStorage.SetItemAsync("currTkn", currTkn);
+ answ = true;
+ return answ;
+ }
+
#endregion Private Methods
#if false
diff --git a/MP.Data/Services/TabDataService.cs b/MP.Data/Services/TabDataService.cs
index 27ef61d0..f13db5d4 100644
--- a/MP.Data/Services/TabDataService.cs
+++ b/MP.Data/Services/TabDataService.cs
@@ -1,4 +1,5 @@
-using Microsoft.EntityFrameworkCore;
+using EgwCoreLib.Utils;
+using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using MP.Data.DatabaseModels;
using MP.Data.DTO;
@@ -175,6 +176,41 @@ namespace MP.Data.Services
return result;
}
+
+ ///
+ /// Elenco operatori
+ ///
+ ///
+ public async Task
- > ElencoOperatori()
+ {
+ string source = "DB";
+ Stopwatch sw = new Stopwatch();
+ sw.Start();
+ List
- >($"{rawData}");
+ source = "REDIS";
+ }
+ else
+ {
+ result = dbTabController.ElencoOperatori();
+ // serializzo e salvo...
+ rawData = JsonConvert.SerializeObject(result);
+ await redisDb.StringSetAsync(currKey, rawData, UltraLongCache);
+ }
+ if (result == null)
+ {
+ result = new List
+