diff --git a/EgwControlCenter.App/Properties/PublishProfiles/ClickOnceProfile.pubxml.user b/EgwControlCenter.App/Properties/PublishProfiles/ClickOnceProfile.pubxml.user
index 5e87bb5..a11b33e 100644
--- a/EgwControlCenter.App/Properties/PublishProfiles/ClickOnceProfile.pubxml.user
+++ b/EgwControlCenter.App/Properties/PublishProfiles/ClickOnceProfile.pubxml.user
@@ -4,7 +4,7 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
-->
- True|2024-09-26T09:41:57.7840547Z||;True|2024-09-26T11:04:11.1945474+02:00||;True|2024-09-26T10:59:21.6944321+02:00||;True|2024-09-26T08:47:21.6588993+02:00||;True|2024-09-24T16:54:23.4735539+02:00||;True|2024-09-24T16:39:32.2152525+02:00||;True|2024-09-24T15:16:02.4976236+02:00||;True|2024-09-24T15:06:15.3728331+02:00||;
+ True|2024-09-26T13:24:10.3619492Z||;True|2024-09-26T11:41:57.7840547+02:00||;True|2024-09-26T11:04:11.1945474+02:00||;True|2024-09-26T10:59:21.6944321+02:00||;True|2024-09-26T08:47:21.6588993+02:00||;True|2024-09-24T16:54:23.4735539+02:00||;True|2024-09-24T16:39:32.2152525+02:00||;True|2024-09-24T15:16:02.4976236+02:00||;True|2024-09-24T15:06:15.3728331+02:00||;
\ No newline at end of file
diff --git a/InsomniaRest/TestCall.json b/InsomniaRest/TestCall.json
index 53d8865..f8394ff 100644
--- a/InsomniaRest/TestCall.json
+++ b/InsomniaRest/TestCall.json
@@ -1 +1 @@
-{"_type":"export","__export_format":4,"__export_date":"2024-09-18T05:43:22.001Z","__export_source":"insomnia.desktop.app:v2023.5.8","resources":[{"_id":"req_76eaf9e0c7b94e1597f8ce0404094dfc","parentId":"fld_5077c9deffee497084770311892c4a1b","modified":1650637798103,"created":1650637196552,"url":"{{ _.BASE_URL }}/api/health","name":"Status app","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1627351578942.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_5077c9deffee497084770311892c4a1b","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1650637782424,"created":1650637057533,"name":"Health","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368176387,"_type":"request_group"},{"_id":"wrk_3a09551ac721482a8d6d6c3f49779247","parentId":null,"modified":1634829468996,"created":1634829468996,"name":"LicMan.Api","description":"","scope":"collection","_type":"workspace"},{"_id":"req_94c94c42242a4b86bb683ddb6e725c1b","parentId":"fld_c1433425ebce4a75b3ba11ed9f08f8b7","modified":1636368193729,"created":1634829469020,"url":"{{ _.BASE_URL }}/api/installazioni/steamware","name":"Installazioni SteamWare","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1627351578955,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_c1433425ebce4a75b3ba11ed9f08f8b7","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1636368188402,"created":1636368176337,"name":"Installazioni","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368176337,"_type":"request_group"},{"_id":"req_2899c4fabc9f48c6a30bce59954c3cfa","parentId":"fld_c1433425ebce4a75b3ba11ed9f08f8b7","modified":1636368196015,"created":1634829560846,"url":"{{ _.BASE_URL }}/api/installazioni/ets","name":"Installazioni ETS","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1627351578905,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_b14c304cb28c4e5f9f007cb25a622ae1","parentId":"fld_482ee06fd04a455f9bdfd63e6d42beae","modified":1636368237149,"created":1634829469026,"url":"{{ _.BASE_URL }}/api/applicazione/steamware?CodApp=GPW","name":"Applicazione SteamWare/GPW","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626751501333,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_482ee06fd04a455f9bdfd63e6d42beae","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1636368234020,"created":1636368225320,"name":"Applicazioni","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368171824.5,"_type":"request_group"},{"_id":"req_4d5c0d20ba14481786b8371405435e21","parentId":"fld_482ee06fd04a455f9bdfd63e6d42beae","modified":1636368246723,"created":1634829655164,"url":"{{ _.BASE_URL }}/api/applicazione/steamware?CodApp=MAPO","name":"Applicazione SteamWare/MAPO","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626751501283,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_c9a692486b514617aaf8d2c1f892be6f","parentId":"fld_3d57099a4b81439b8c5e92b150bfa539","modified":1719225183801,"created":1634829684473,"url":"{{ _.BASE_URL }}/api/licenza/SteamWare?CodApp=GPW&Chiave=wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMG3jbQhCb64JLs/Cuo1MaZ","name":"Licenza SteamWare/GPW","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626301443116.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_3d57099a4b81439b8c5e92b150bfa539","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1636368167312,"created":1636368167312,"name":"Licenze","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368167312,"_type":"request_group"},{"_id":"req_2e02d48eda2c4b47bbec77e9eff1fd49","parentId":"fld_3d57099a4b81439b8c5e92b150bfa539","modified":1652711723314,"created":1652711697046,"url":"{{ _.BASE_URL }}/api/licenza/CheckScadenze","name":"Verifica Scadenze","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626263938271.375,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_4780b4e213544c3c90db5ed6d65fc3b1","parentId":"fld_3d57099a4b81439b8c5e92b150bfa539","modified":1650963414014,"created":1650963105672,"url":"{{ _.BASE_URL }}/api/licenza/steamware?CodApp=MAPO&Chiave=ybP3AuaGUYGhsrQmQjLW9IxtCFUAaB+ysjKXS1My3XJ9JsPsUQhl7WjitYFJ8pa/","name":"Licenza SteamWare/MAPO","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626226433426.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_d1be41b38bef478aadb079f4314da4f3","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1719235806578,"created":1719235574305,"url":"{{ _.BASE_URL }}/api/attivazioni?chiave=wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMG3jbQhCb64JLs/Cuo1MaZ","name":"GetCurrent","description":"","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"}],"authentication":{},"metaSortKey":-1636368676649,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_f402c65d1a884ee9bcc50d26f72634f3","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1636368159634,"created":1636368159634,"name":"Attivazioni","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368159634,"_type":"request_group"},{"_id":"req_17c90dc4dbce45638ba74ac8c3e49403","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1640104623780,"created":1636371347886,"url":"{{ _.BASE_URL }}/api/attivazioni","name":"TryAdd","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"masterKey\": \"wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMGFsaExT+LBZLs/Cuo1MaZ\",\n \"paramDict\": {\n \"67cd028c209e240708c91b633db592b9\": \"9Y7rfqRTKB4xVVxk\",\n \"50458f523270eb9d2979cf3e3057abe2\": \"Et7kL0ed8WY=\",\n \"53ef5b634acf2de971572a90f2e351e9\": \"AZf4YaYHYZDcuUsh\"\n }\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"}],"authentication":{},"metaSortKey":-1636368676549,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_be8323c2647e471c8d3ae1824a939865","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1678790254091,"created":1678785720723,"url":"{{ _.BASE_URL }}/api/attivazioni/removeKey","name":"RemoveKey","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"masterKey\": \"wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcPj4vGZJmXj3ZLs/Cuo1MaZ\",\n \"paramDict\": {\n \"3b826f43eec9e603a892fa49020b9a9b\": \"19F4F894-F1AE-491F-AF74-1EE257260834\"\n }\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"}],"authentication":{},"metaSortKey":-1636368676530.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_7d066009687247ef89f198fafcf30cb5","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1636371488666,"created":1636368676499,"url":"{{ _.BASE_URL }}/api/attivazioni","name":"Delete SubLic","description":"","method":"DELETE","body":{"mimeType":"application/json","text":"{\n \"masterKey\": \"wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMGFsaExT+LBZLs/Cuo1MaZ\",\n \"paramDict\": {\n \"67cd028c209e240708c91b633db592b9\": \"9Y7rfqRTKB4xVVxk\",\n \"50458f523270eb9d2979cf3e3057abe2\": \"Et7kL0ed8WY=\",\n \"53ef5b634acf2de971572a90f2e351e9\": \"AZf4YaYHYZDcuUsh\"\n }\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_af7596fa3a174c6f9e4fec738fa7fb07"}],"authentication":{},"metaSortKey":-1636368676499,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_bc76628fb2214b0f87ac41f876c0b7ae","parentId":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","modified":1644389168848,"created":1643962591421,"url":"{{ _.BASE_URL }}/api/filesave/list/12","name":"list","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"codApp\": \"MAPO-IOB-WIN-NEXT\",\n \"codImp\": \"\",\n \"codInst\": \"SteamWare\",\n \"contactEmail\": \"samuele@steamware.net\",\n \"contactName\": \"Samuele\",\n \"contactPhone\": \"035-460560\",\n \"idxSubLic\": 0,\n \"masterKey\": \"a3BRQz/1B34uvvcDoE/D38ssH/c/KSsjpn39wZsxOVsck9rGnBkF3xfUnj3edYIl\",\n \"reqBody\": \"Insomnia (file upload)\",\n\t\"tipo\": 2\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"},{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1636368676561.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1643962542199,"created":1640021680129,"name":"Files","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1626151423686,"_type":"request_group"},{"_id":"req_681a6a5336664d6e9120026f50667183","parentId":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","modified":1644388785640,"created":1644388125523,"url":"{{ _.BASE_URL }}/api/filesave/T000000012/4lohp04u.b4i/LogFiles.zip","name":"download","description":"","method":"GET","body":{},"parameters":[],"headers":[{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1636368676555.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_0d09cffd954d47f385279e990386b0d8","parentId":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","modified":1643986763390,"created":1640168946681,"url":"{{ _.BASE_URL }}/api/filesave/single","name":"FileSaveSingle","description":"","method":"POST","body":{"mimeType":"multipart/form-data","params":[{"id":"pair_eb8cb2a89c3a4a90af9ec163cc00b654","name":"TicketId","value":"10","description":"","type":"text","multiline":false},{"id":"pair_ee247b7b1abe4a2eb835a43a8fbd871a","name":"file","value":"","description":"","type":"file","fileName":"C:\\Users\\samuele.steamw\\Downloads\\SCAMBIO DATI MES _ v2021.pdf"}]},"parameters":[],"headers":[{"name":"Content-Type","value":"multipart/form-data","id":"pair_ed76bfea595e4917be2ce6797185529e"},{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1636368676511.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_2ab30a505449413a9b412d25fea43c32","parentId":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","modified":1643986766826,"created":1640021703467,"url":"{{ _.BASE_URL }}/api/filesave","name":"FileSaveMulti","description":"","method":"POST","body":{"mimeType":"multipart/form-data","params":[{"id":"pair_eb8cb2a89c3a4a90af9ec163cc00b654","name":"TicketId","value":"11","description":"","type":"text","multiline":false},{"id":"pair_ee247b7b1abe4a2eb835a43a8fbd871a","name":"files","value":"","description":"","type":"file","fileName":"C:\\Users\\samuele.steamw\\Downloads\\SCAMBIO DATI MES _ v2021.pdf"},{"id":"pair_bac89d30d9a448c18713efbc243697e8","name":"files","value":"","description":"","type":"file","fileName":"C:\\Users\\samuele.steamw\\Downloads\\Ewon_teleservice_T2MFree+_PRO_IT.pdf"}]},"parameters":[],"headers":[{"name":"Content-Type","value":"multipart/form-data","id":"pair_ed76bfea595e4917be2ce6797185529e"},{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1636368676461.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_5c84e0cacc794daf8ee86af985a40f83","parentId":"fld_c43de7cc200f4af7821a220d46323898","modified":1643962587103,"created":1640082304061,"url":"{{ _.BASE_URL }}/api/ticket/sendReq","name":"sendReq","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"codApp\": \"MAPO-IOB-WIN-NEXT\",\n \"codImp\": \"\",\n \"codInst\": \"SteamWare\",\n \"contactEmail\": \"samuele@steamware.net\",\n \"contactName\": \"Samuele\",\n \"contactPhone\": \"035-460560\",\n \"idxSubLic\": 0,\n \"masterKey\": \"a3BRQz/1B34uvvcDoE/D38ssH/c/KSsjpn39wZsxOVsck9rGnBkF3xfUnj3edYIl\",\n \"reqBody\": \"Insomnia (file upload)\",\n\t\"tipo\": 2\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"},{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1626151423736,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_c43de7cc200f4af7821a220d46323898","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1722956221120,"created":1637220066948,"name":"Ticket","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1626151423684.4375,"_type":"request_group"},{"_id":"req_b0f61658a8f14ab7bd24c21d9c2e0f8f","parentId":"fld_c43de7cc200f4af7821a220d46323898","modified":1637220362640,"created":1637220082741,"url":"{{ _.BASE_URL }}/api/ticket/SteamWare?CodApp=GPW&Chiave=wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMGFsaExT%2BLBZLs%2FCuo1MaZ","name":"Ticket SteamWare/GPW","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626151423686,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_e8868f080ba1430eb8d4cf9541ab89c1","parentId":"fld_c43de7cc200f4af7821a220d46323898","modified":1643899705502,"created":1643899685335,"url":"{{ _.BASE_URL }}/api/ticket/SteamWare?CodApp=MAPO-IOB-WIN-NEXT&Chiave=a3BRQz/1B34uvvcDoE/D38ssH/c/KSsjpn39wZsxOVsck9rGnBkF3xfUnj3edYIl","name":"Ticket SteamWare/MAPO-IOB-WIN","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1625551346076.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_ac9419176b87422387de3e0e8efdaa0e","parentId":"fld_df18577611e84208b55d8920daded17d","modified":1721315470573,"created":1721315445993,"url":"{{ _.BASE_URL }}/api/dbsync/anagkeyval/steamware?CodApp=MAPO","name":"Std MAPO - AnagKeyVal","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1721313520479,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_df18577611e84208b55d8920daded17d","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1722956211204,"created":1721313496423,"name":"DbSync","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1626151423682.875,"_type":"request_group"},{"_id":"req_6ec4c17700e14016823ecf418c492557","parentId":"fld_df18577611e84208b55d8920daded17d","modified":1721315454779,"created":1721313515685,"url":"{{ _.BASE_URL }}/api/dbsync/conf/steamware?CodApp=MAPO","name":"Std MAPO - Config","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1721313520379,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_b00194cf5d4049409af0ead5a4ce5eef","parentId":"fld_df18577611e84208b55d8920daded17d","modified":1721315487910,"created":1721315463457,"url":"{{ _.BASE_URL }}/api/dbsync/vocabolario/steamware?CodApp=MAPO","name":"Std MAPO - Vocabolario","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1719542732250.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_9256ef17dafe41b6a731a7ee66b4118d","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1722956401340,"created":1722956245758,"url":"{{ _.BASE_URL }}/api/Release/EgtBeamWall","name":"GetAllReleases - EgtBW","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1722956258981,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_ae961b8d701246eb8a7554f2226804ed","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1722956219215,"created":1722956206328,"name":"ReleasesVers","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1626151423681.3125,"_type":"request_group"},{"_id":"req_83435a2bc3bb4cfdb55320c6dca501b5","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1723129392076,"created":1722961845497,"url":"{{ _.BASE_URL }}/api/Release/filt/EgtBeamWall?VersMin=2.5.12.1","name":"GetFiltVers - EgtBeamWall","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1722134889730,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_24deb5bf1b4d4946a342fc00bec23c0a","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1723132673938,"created":1723131343753,"url":"{{ _.BASE_URL }}/api/Release/filtLimit/EgtBeamWall?VersMin=2.5.6.1&VersMax=2.5.7.3","name":"GetFiltLimit - EgtBeamWall","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1721724205104.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_a33ac9fff35844adb1e895dec530ab64","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1726638135276,"created":1726638069515,"url":"{{ _.BASE_URL }}/api/release/save","name":"Save Release","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"codInst\": \"EgalWare\",\n \"uplAppId\": \"UpdateManager\",\n \"masterKey\": \"PMmdzvCDsQ8tf3NKRTtXnKSI50/b1iFFjrAfwQlvgK/1o/30sxf+jUUqGYsdQ/Q3\",\n \"codApp\": \"TestMachine\",\n \"tipo\": \"Machine\",\n \"versNum\": \"0.1.2.6\",\n \"versText\": \"0.1B6\",\n \"releaseDate\": \"2024-09-18T07:15:04.288Z\",\n \"relTags\": \"DEMO\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"}],"authentication":{},"metaSortKey":-1721518862791.75,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"env_2657f17ecf8c4490a11d21e7f4f1a77a","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1651571591838,"created":1634829468999,"name":"Base Environment","data":{},"dataPropertyOrder":{},"color":null,"isPrivate":false,"metaSortKey":1634552379782,"_type":"environment"},{"_id":"jar_f8077d7b5f8342d597a63cc01ce049e1","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1634829469014,"created":1634829469014,"name":"Default Jar","cookies":[],"_type":"cookie_jar"},{"_id":"spc_263d564c1fcd4e1f9e48fee3edc41fbb","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1634829469048,"created":1634829469017,"fileName":"LicMan.Api","contents":"","contentType":"yaml","_type":"api_spec"},{"_id":"env_8eaa28856e844ec8939391448724bccb","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1719224811499,"created":1634829469002,"name":"DEV","data":{"BASE_URL":"https://localhost:5003"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1634552420009,"_type":"environment"},{"_id":"env_75f794443c404d1abbf9193e3a9b46b9","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1637220300521,"created":1634829469007,"name":"IIS01","data":{"BASE_URL":"https://iis01.egalware.com/ELM.API"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1634552444561,"_type":"environment"},{"_id":"env_081ef8a80a154c6e81a160dc9df50590","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1643965878926,"created":1634829469009,"name":"IIS02","data":{"BASE_URL":"https://iis02.egalware.com/ELM.API"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1634552456998,"_type":"environment"},{"_id":"env_bd838edc3ce34c71a60425bd8312db37","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1726568032172,"created":1643965894623,"name":"liman.egalware.com","data":{"BASE_URL":"https://liman.egalware.com/ELM.API"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1641093809517.25,"_type":"environment"},{"_id":"env_ec507cb8d8384aab9e95112edb357d79","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1650635491485,"created":1650635388818,"name":"UbuCoreLiman","data":{"BASE_URL":"http://10.74.82.211"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1642184034937.125,"_type":"environment"}]}
\ No newline at end of file
+{"_type":"export","__export_format":4,"__export_date":"2024-09-26T13:50:11.707Z","__export_source":"insomnia.desktop.app:v2023.5.8","resources":[{"_id":"req_76eaf9e0c7b94e1597f8ce0404094dfc","parentId":"fld_5077c9deffee497084770311892c4a1b","modified":1650637798103,"created":1650637196552,"url":"{{ _.BASE_URL }}/api/health","name":"Status app","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1627351578942.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_5077c9deffee497084770311892c4a1b","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1650637782424,"created":1650637057533,"name":"Health","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368176387,"_type":"request_group"},{"_id":"wrk_3a09551ac721482a8d6d6c3f49779247","parentId":null,"modified":1634829468996,"created":1634829468996,"name":"LicMan.Api","description":"","scope":"collection","_type":"workspace"},{"_id":"req_94c94c42242a4b86bb683ddb6e725c1b","parentId":"fld_c1433425ebce4a75b3ba11ed9f08f8b7","modified":1636368193729,"created":1634829469020,"url":"{{ _.BASE_URL }}/api/installazioni/steamware","name":"Installazioni SteamWare","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1627351578955,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_c1433425ebce4a75b3ba11ed9f08f8b7","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1636368188402,"created":1636368176337,"name":"Installazioni","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368176337,"_type":"request_group"},{"_id":"req_2899c4fabc9f48c6a30bce59954c3cfa","parentId":"fld_c1433425ebce4a75b3ba11ed9f08f8b7","modified":1636368196015,"created":1634829560846,"url":"{{ _.BASE_URL }}/api/installazioni/ets","name":"Installazioni ETS","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1627351578905,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_b14c304cb28c4e5f9f007cb25a622ae1","parentId":"fld_482ee06fd04a455f9bdfd63e6d42beae","modified":1636368237149,"created":1634829469026,"url":"{{ _.BASE_URL }}/api/applicazione/steamware?CodApp=GPW","name":"Applicazione SteamWare/GPW","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626751501333,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_482ee06fd04a455f9bdfd63e6d42beae","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1636368234020,"created":1636368225320,"name":"Applicazioni","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368171824.5,"_type":"request_group"},{"_id":"req_4d5c0d20ba14481786b8371405435e21","parentId":"fld_482ee06fd04a455f9bdfd63e6d42beae","modified":1636368246723,"created":1634829655164,"url":"{{ _.BASE_URL }}/api/applicazione/steamware?CodApp=MAPO","name":"Applicazione SteamWare/MAPO","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626751501283,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_c9a692486b514617aaf8d2c1f892be6f","parentId":"fld_3d57099a4b81439b8c5e92b150bfa539","modified":1719225183801,"created":1634829684473,"url":"{{ _.BASE_URL }}/api/licenza/SteamWare?CodApp=GPW&Chiave=wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMG3jbQhCb64JLs/Cuo1MaZ","name":"Licenza SteamWare/GPW","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626301443116.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_3d57099a4b81439b8c5e92b150bfa539","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1636368167312,"created":1636368167312,"name":"Licenze","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368167312,"_type":"request_group"},{"_id":"req_2e02d48eda2c4b47bbec77e9eff1fd49","parentId":"fld_3d57099a4b81439b8c5e92b150bfa539","modified":1652711723314,"created":1652711697046,"url":"{{ _.BASE_URL }}/api/licenza/CheckScadenze","name":"Verifica Scadenze","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626263938271.375,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_4780b4e213544c3c90db5ed6d65fc3b1","parentId":"fld_3d57099a4b81439b8c5e92b150bfa539","modified":1650963414014,"created":1650963105672,"url":"{{ _.BASE_URL }}/api/licenza/steamware?CodApp=MAPO&Chiave=ybP3AuaGUYGhsrQmQjLW9IxtCFUAaB+ysjKXS1My3XJ9JsPsUQhl7WjitYFJ8pa/","name":"Licenza SteamWare/MAPO","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626226433426.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_d1be41b38bef478aadb079f4314da4f3","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1719235806578,"created":1719235574305,"url":"{{ _.BASE_URL }}/api/attivazioni?chiave=wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMG3jbQhCb64JLs/Cuo1MaZ","name":"GetCurrent","description":"","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"}],"authentication":{},"metaSortKey":-1636368676649,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_f402c65d1a884ee9bcc50d26f72634f3","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1636368159634,"created":1636368159634,"name":"Attivazioni","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1636368159634,"_type":"request_group"},{"_id":"req_17c90dc4dbce45638ba74ac8c3e49403","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1640104623780,"created":1636371347886,"url":"{{ _.BASE_URL }}/api/attivazioni","name":"TryAdd","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"masterKey\": \"wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMGFsaExT+LBZLs/Cuo1MaZ\",\n \"paramDict\": {\n \"67cd028c209e240708c91b633db592b9\": \"9Y7rfqRTKB4xVVxk\",\n \"50458f523270eb9d2979cf3e3057abe2\": \"Et7kL0ed8WY=\",\n \"53ef5b634acf2de971572a90f2e351e9\": \"AZf4YaYHYZDcuUsh\"\n }\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"}],"authentication":{},"metaSortKey":-1636368676549,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_da2e95dcb30f40f09bf0fc47e9a9142c","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1727284261476,"created":1727284202083,"url":"{{ _.BASE_URL }}/api/attivazioni","name":"TryAdd AppControlCenter","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"masterKey\": \"PMmdzvCDsQ8tf3NKRTtXnKSI50/b1iFFjrAfwQlvgK/1o/30sxf+jUUqGYsdQ/Q3\",\n \"paramDict\": {\n \"6SP883X30MJEJGHZ8BGAA119BXF8AWVE9FS0B6VE1X7V4P9W2TKG\": \"b1TVid8sWnk4+rgyOZebSgrcIK8bzJXQrX17pV1Bz7Vpv2STAxTz2w==\"\n }\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"}],"authentication":{},"metaSortKey":-1636368676539.625,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_be8323c2647e471c8d3ae1824a939865","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1678790254091,"created":1678785720723,"url":"{{ _.BASE_URL }}/api/attivazioni/removeKey","name":"RemoveKey","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"masterKey\": \"wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcPj4vGZJmXj3ZLs/Cuo1MaZ\",\n \"paramDict\": {\n \"3b826f43eec9e603a892fa49020b9a9b\": \"19F4F894-F1AE-491F-AF74-1EE257260834\"\n }\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"}],"authentication":{},"metaSortKey":-1636368676530.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_7d066009687247ef89f198fafcf30cb5","parentId":"fld_f402c65d1a884ee9bcc50d26f72634f3","modified":1636371488666,"created":1636368676499,"url":"{{ _.BASE_URL }}/api/attivazioni","name":"Delete SubLic","description":"","method":"DELETE","body":{"mimeType":"application/json","text":"{\n \"masterKey\": \"wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMGFsaExT+LBZLs/Cuo1MaZ\",\n \"paramDict\": {\n \"67cd028c209e240708c91b633db592b9\": \"9Y7rfqRTKB4xVVxk\",\n \"50458f523270eb9d2979cf3e3057abe2\": \"Et7kL0ed8WY=\",\n \"53ef5b634acf2de971572a90f2e351e9\": \"AZf4YaYHYZDcuUsh\"\n }\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_af7596fa3a174c6f9e4fec738fa7fb07"}],"authentication":{},"metaSortKey":-1636368676499,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_bc76628fb2214b0f87ac41f876c0b7ae","parentId":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","modified":1644389168848,"created":1643962591421,"url":"{{ _.BASE_URL }}/api/filesave/list/12","name":"list","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"codApp\": \"MAPO-IOB-WIN-NEXT\",\n \"codImp\": \"\",\n \"codInst\": \"SteamWare\",\n \"contactEmail\": \"samuele@steamware.net\",\n \"contactName\": \"Samuele\",\n \"contactPhone\": \"035-460560\",\n \"idxSubLic\": 0,\n \"masterKey\": \"a3BRQz/1B34uvvcDoE/D38ssH/c/KSsjpn39wZsxOVsck9rGnBkF3xfUnj3edYIl\",\n \"reqBody\": \"Insomnia (file upload)\",\n\t\"tipo\": 2\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"},{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1636368676561.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1643962542199,"created":1640021680129,"name":"Files","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1626151423686,"_type":"request_group"},{"_id":"req_681a6a5336664d6e9120026f50667183","parentId":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","modified":1644388785640,"created":1644388125523,"url":"{{ _.BASE_URL }}/api/filesave/T000000012/4lohp04u.b4i/LogFiles.zip","name":"download","description":"","method":"GET","body":{},"parameters":[],"headers":[{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1636368676555.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_0d09cffd954d47f385279e990386b0d8","parentId":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","modified":1643986763390,"created":1640168946681,"url":"{{ _.BASE_URL }}/api/filesave/single","name":"FileSaveSingle","description":"","method":"POST","body":{"mimeType":"multipart/form-data","params":[{"id":"pair_eb8cb2a89c3a4a90af9ec163cc00b654","name":"TicketId","value":"10","description":"","type":"text","multiline":false},{"id":"pair_ee247b7b1abe4a2eb835a43a8fbd871a","name":"file","value":"","description":"","type":"file","fileName":"C:\\Users\\samuele.steamw\\Downloads\\SCAMBIO DATI MES _ v2021.pdf"}]},"parameters":[],"headers":[{"name":"Content-Type","value":"multipart/form-data","id":"pair_ed76bfea595e4917be2ce6797185529e"},{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1636368676511.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_2ab30a505449413a9b412d25fea43c32","parentId":"fld_23d6ab2fed7c4c4e9845ac5a04dbf811","modified":1643986766826,"created":1640021703467,"url":"{{ _.BASE_URL }}/api/filesave","name":"FileSaveMulti","description":"","method":"POST","body":{"mimeType":"multipart/form-data","params":[{"id":"pair_eb8cb2a89c3a4a90af9ec163cc00b654","name":"TicketId","value":"11","description":"","type":"text","multiline":false},{"id":"pair_ee247b7b1abe4a2eb835a43a8fbd871a","name":"files","value":"","description":"","type":"file","fileName":"C:\\Users\\samuele.steamw\\Downloads\\SCAMBIO DATI MES _ v2021.pdf"},{"id":"pair_bac89d30d9a448c18713efbc243697e8","name":"files","value":"","description":"","type":"file","fileName":"C:\\Users\\samuele.steamw\\Downloads\\Ewon_teleservice_T2MFree+_PRO_IT.pdf"}]},"parameters":[],"headers":[{"name":"Content-Type","value":"multipart/form-data","id":"pair_ed76bfea595e4917be2ce6797185529e"},{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1636368676461.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_5c84e0cacc794daf8ee86af985a40f83","parentId":"fld_c43de7cc200f4af7821a220d46323898","modified":1643962587103,"created":1640082304061,"url":"{{ _.BASE_URL }}/api/ticket/sendReq","name":"sendReq","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"codApp\": \"MAPO-IOB-WIN-NEXT\",\n \"codImp\": \"\",\n \"codInst\": \"SteamWare\",\n \"contactEmail\": \"samuele@steamware.net\",\n \"contactName\": \"Samuele\",\n \"contactPhone\": \"035-460560\",\n \"idxSubLic\": 0,\n \"masterKey\": \"a3BRQz/1B34uvvcDoE/D38ssH/c/KSsjpn39wZsxOVsck9rGnBkF3xfUnj3edYIl\",\n \"reqBody\": \"Insomnia (file upload)\",\n\t\"tipo\": 2\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_ed76bfea595e4917be2ce6797185529e"},{"id":"pair_1725d037122840abb3c3fccbafbc4275","name":"","value":"","description":""}],"authentication":{},"metaSortKey":-1626151423736,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_c43de7cc200f4af7821a220d46323898","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1722956221120,"created":1637220066948,"name":"Ticket","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1626151423684.4375,"_type":"request_group"},{"_id":"req_b0f61658a8f14ab7bd24c21d9c2e0f8f","parentId":"fld_c43de7cc200f4af7821a220d46323898","modified":1637220362640,"created":1637220082741,"url":"{{ _.BASE_URL }}/api/ticket/SteamWare?CodApp=GPW&Chiave=wAjUzZ4ZS10tEWul58J9lbPLhgdmC1W8BCru3vFJrcMGFsaExT%2BLBZLs%2FCuo1MaZ","name":"Ticket SteamWare/GPW","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1626151423686,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_e8868f080ba1430eb8d4cf9541ab89c1","parentId":"fld_c43de7cc200f4af7821a220d46323898","modified":1643899705502,"created":1643899685335,"url":"{{ _.BASE_URL }}/api/ticket/SteamWare?CodApp=MAPO-IOB-WIN-NEXT&Chiave=a3BRQz/1B34uvvcDoE/D38ssH/c/KSsjpn39wZsxOVsck9rGnBkF3xfUnj3edYIl","name":"Ticket SteamWare/MAPO-IOB-WIN","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1625551346076.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_ac9419176b87422387de3e0e8efdaa0e","parentId":"fld_df18577611e84208b55d8920daded17d","modified":1721315470573,"created":1721315445993,"url":"{{ _.BASE_URL }}/api/dbsync/anagkeyval/steamware?CodApp=MAPO","name":"Std MAPO - AnagKeyVal","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1721313520479,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_df18577611e84208b55d8920daded17d","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1722956211204,"created":1721313496423,"name":"DbSync","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1626151423682.875,"_type":"request_group"},{"_id":"req_6ec4c17700e14016823ecf418c492557","parentId":"fld_df18577611e84208b55d8920daded17d","modified":1721315454779,"created":1721313515685,"url":"{{ _.BASE_URL }}/api/dbsync/conf/steamware?CodApp=MAPO","name":"Std MAPO - Config","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1721313520379,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_b00194cf5d4049409af0ead5a4ce5eef","parentId":"fld_df18577611e84208b55d8920daded17d","modified":1721315487910,"created":1721315463457,"url":"{{ _.BASE_URL }}/api/dbsync/vocabolario/steamware?CodApp=MAPO","name":"Std MAPO - Vocabolario","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1719542732250.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_9256ef17dafe41b6a731a7ee66b4118d","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1722956401340,"created":1722956245758,"url":"{{ _.BASE_URL }}/api/Release/EgtBeamWall","name":"GetAllReleases - EgtBW","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1722956258981,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_ae961b8d701246eb8a7554f2226804ed","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1722956219215,"created":1722956206328,"name":"ReleasesVers","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1626151423681.3125,"_type":"request_group"},{"_id":"req_cdffa7b2deb044d5ba4eb60b8ee5a225","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1726653350897,"created":1726653285315,"url":"{{ _.BASE_URL }}/api/Release/TestMachine","name":"GetAllReleases - TestMachine","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1722545574355.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_83435a2bc3bb4cfdb55320c6dca501b5","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1723129392076,"created":1722961845497,"url":"{{ _.BASE_URL }}/api/Release/filt/EgtBeamWall?VersMin=2.5.12.1","name":"GetFiltVers - EgtBeamWall","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1722134889730,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_425c413bb78e443fb45dc59db91a935a","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1727109848253,"created":1726653343624,"url":"{{ _.BASE_URL }}/api/Release/filt/TestMachine?VersMin=1.1.0.0","name":"GetFiltVers - TestMachine","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1721929547417.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_24deb5bf1b4d4946a342fc00bec23c0a","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1723132673938,"created":1723131343753,"url":"{{ _.BASE_URL }}/api/Release/filtLimit/EgtBeamWall?VersMin=2.5.6.1&VersMax=2.5.7.3","name":"GetFiltLimit - EgtBeamWall","description":"","method":"GET","body":{},"parameters":[],"headers":[],"authentication":{},"metaSortKey":-1721724205104.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_a33ac9fff35844adb1e895dec530ab64","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1727273524964,"created":1726638069515,"url":"{{ _.BASE_URL }}/api/release/save","name":"Save Release","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"codInst\": \"EgalWare\",\n \"uplAppId\": \"UpdateManager\",\n \"masterKey\": \"PMmdzvCDsQ8tf3NKRTtXnKSI50/b1iFFjrAfwQlvgK/1o/30sxf+jUUqGYsdQ/Q3\",\n \"codApp\": \"TestMachine\",\n \"tipo\": \"Machine\",\n \"versNum\": \"2.6.9.9\",\n \"versText\": \"2.6i9\",\n \"releaseDate\": \"2024-09-25T16:05:04.288Z\",\n \"relTags\": \"DEMO2\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"}],"authentication":{},"metaSortKey":-1721518862791.75,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_81def17a7f874e4d89870f5d9bc60f9b","parentId":"fld_ae961b8d701246eb8a7554f2226804ed","modified":1727279124271,"created":1727279033880,"url":"{{ _.BASE_URL }}/api/release/save","name":"Save Release (PROD)","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"codInst\": \"EgalWare\",\n \"uplAppId\": \"UpdateManager\",\n \"masterKey\": \"PMmdzvCDsQ8tf3NKRTtXnKSI50/b1iFFjrAfwQlvgK/1o/30sxf+jUUqGYsdQ/Q3\",\n \"tipo\": \"Machine\",\n \"versText\": \"2.6i7\",\n \"versNum\": \"2.6.9.7\",\n \"codApp\": \"Essetre-FASTrl\",\n \"releaseDate\": \"2024-09-28T13:34:33.870Z\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"}],"authentication":{},"metaSortKey":-1721416191635.375,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"env_2657f17ecf8c4490a11d21e7f4f1a77a","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1651571591838,"created":1634829468999,"name":"Base Environment","data":{},"dataPropertyOrder":{},"color":null,"isPrivate":false,"metaSortKey":1634552379782,"_type":"environment"},{"_id":"jar_f8077d7b5f8342d597a63cc01ce049e1","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1634829469014,"created":1634829469014,"name":"Default Jar","cookies":[],"_type":"cookie_jar"},{"_id":"spc_263d564c1fcd4e1f9e48fee3edc41fbb","parentId":"wrk_3a09551ac721482a8d6d6c3f49779247","modified":1634829469048,"created":1634829469017,"fileName":"LicMan.Api","contents":"","contentType":"yaml","_type":"api_spec"},{"_id":"env_8eaa28856e844ec8939391448724bccb","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1719224811499,"created":1634829469002,"name":"DEV","data":{"BASE_URL":"https://localhost:5003"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1634552420009,"_type":"environment"},{"_id":"env_75f794443c404d1abbf9193e3a9b46b9","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1637220300521,"created":1634829469007,"name":"IIS01","data":{"BASE_URL":"https://iis01.egalware.com/ELM.API"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1634552444561,"_type":"environment"},{"_id":"env_081ef8a80a154c6e81a160dc9df50590","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1643965878926,"created":1634829469009,"name":"IIS02","data":{"BASE_URL":"https://iis02.egalware.com/ELM.API"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1634552456998,"_type":"environment"},{"_id":"env_bd838edc3ce34c71a60425bd8312db37","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1726568032172,"created":1643965894623,"name":"liman.egalware.com","data":{"BASE_URL":"https://liman.egalware.com/ELM.API"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1641093809517.25,"_type":"environment"},{"_id":"env_ec507cb8d8384aab9e95112edb357d79","parentId":"env_2657f17ecf8c4490a11d21e7f4f1a77a","modified":1650635491485,"created":1650635388818,"name":"UbuCoreLiman","data":{"BASE_URL":"http://10.74.82.211"},"dataPropertyOrder":{"&":["BASE_URL"]},"color":null,"isPrivate":false,"metaSortKey":1642184034937.125,"_type":"environment"}]}
\ No newline at end of file
diff --git a/LiMan.Api/Controllers/ReleaseController.cs b/LiMan.Api/Controllers/ReleaseController.cs
index 2cd27c4..f169f5a 100644
--- a/LiMan.Api/Controllers/ReleaseController.cs
+++ b/LiMan.Api/Controllers/ReleaseController.cs
@@ -44,6 +44,7 @@ namespace LiMan.APi.Controllers
/// Codice Applicazione
///
[HttpGet("{id}")]
+ [Obsolete("Please use POST with api/release/getall instead.", false)]
public async Task> Get(string id)
{
var result = await dataService.ReleaseGetByApp(id);
@@ -52,12 +53,13 @@ namespace LiMan.APi.Controllers
}
///
- /// Recupera elenco dati Release (rilasciate) data versione minima GET api/release/EgtBW
+ /// Recupera elenco dati Release (rilasciate) data versione minima GET api/release/filt/EgtBW
///
/// Codice Applicazione
/// Versione minima richiesta (attuale)
///
[HttpGet("filt/{id}")]
+ [Obsolete("Please use POST with api/release/getfilt instead.", false)]
public async Task> GetFilt(string id, string VersMin)
{
var result = await dataService.ReleaseGetByAppVers(id, VersMin);
@@ -66,14 +68,14 @@ namespace LiMan.APi.Controllers
}
///
- /// Recupera elenco dati Release (rilasciate) data versione minima e massima
- /// GET api/release/EgtBW
+ /// Recupera elenco dati Release (rilasciate) data versione minima e massima GET api/release/filtLimit/EgtBW
///
/// Codice Applicazione
/// Versione minima richiesta (attuale)
/// Versione massima consentita
///
[HttpGet("filtLimit/{id}")]
+ [Obsolete("Please use POST with api/release/getlimit instead.", false)]
public async Task> GetFiltLimit(string id, string VersMin, string VersMax)
{
var result = await dataService.ReleaseGetByAppVersLimit(id, VersMin, VersMax);
@@ -82,8 +84,7 @@ namespace LiMan.APi.Controllers
}
///
- /// Recupera elenco dati Release (rilasciate)
- /// POST api/release/getall
+ /// Recupera elenco dati Release (rilasciate) POST api/release/getall
///
/// Obj ReleaseReqDTO con chiavi (master o app)
[HttpPost("getall")]
@@ -100,8 +101,25 @@ namespace LiMan.APi.Controllers
}
///
- /// Recupera elenco dati Release (rilasciate) data versione minima
- /// POST api/release/getfilt
+ /// Recupera elenco dati Release CRITICHE rilasciate (se sono ultima per singola CodApp)
+ /// POST api/release/get-critical
+ ///
+ /// Obj ReleaseReqDTO con chiavi (master o app)
+ [HttpPost("getcritical")]
+ public async Task> GetReleasesCritical([FromBody] ReleaseReqDTO CurrRequest)
+ {
+ Dictionary result = new Dictionary();
+ // verifica validità richiesta...
+ if (CheckReqKeys(CurrRequest))
+ {
+ result = await dataService.ReleaseGetCritical();
+ await dataService.recordCall(CurrRequest.CodApp, CurrRequest.CodApp, $"POST:api/release/getcritical/ | {CurrRequest.MastKey} | {CurrRequest.CodImp} | {CurrRequest.CodApp}");
+ }
+ return result;
+ }
+
+ ///
+ /// Recupera elenco dati Release (rilasciate) data versione minima POST api/release/getfilt
///
/// Obj ReleaseReqDTO con chiavi (master o app)
[HttpPost("getfilt")]
@@ -118,8 +136,7 @@ namespace LiMan.APi.Controllers
}
///
- /// Recupera elenco dati Release (rilasciate) data versione minima e massima
- /// POST api/release/getlimit
+ /// Recupera elenco dati Release (rilasciate) data versione minima e massima POST api/release/getlimit
///
/// Obj ReleaseReqDTO con chiavi (master o app)
[HttpPost("getlimit")]
diff --git a/LiMan.Api/Data/ApiDataService.cs b/LiMan.Api/Data/ApiDataService.cs
index 0f0e384..db2db66 100644
--- a/LiMan.Api/Data/ApiDataService.cs
+++ b/LiMan.Api/Data/ApiDataService.cs
@@ -34,17 +34,6 @@ namespace LiMan.APi.Data
#endregion Public Fields
-
- ///
- /// Oggetto per connessione a REDIS
- ///
- protected IConnectionMultiplexer redisConn = null!;
-
- ///
- /// Oggetto DB redis da impiegare x chiamate R/W
- ///
- protected IDatabase redisDb = null!;
- protected static JsonSerializerSettings? JSSettings;
#region Public Constructors
///
@@ -89,6 +78,20 @@ namespace LiMan.APi.Data
#region Public Methods
+ /// Elenco Applicativi (all)
+ public async Task> ApplicativiGetAll()
+ {
+ List dbResult = new List();
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ dbResult = dbController.GetApplicazioni();
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuata lettura da DB per ApplicativiGetAll: {ts.TotalMilliseconds} ms");
+
+ return await Task.FromResult(dbResult);
+ }
+
///
/// Elenco licenze dato cliente
///
@@ -109,21 +112,6 @@ namespace LiMan.APi.Data
return await Task.FromResult(dbResult);
}
- ///
- /// Elenco Applicativi (all)
- ///
- public async Task> ApplicativiGetAll()
- {
- List dbResult = new List();
- Stopwatch stopWatch = new Stopwatch();
- stopWatch.Start();
- dbResult = dbController.GetApplicazioni();
- stopWatch.Stop();
- TimeSpan ts = stopWatch.Elapsed;
- Log.Trace($"Effettuata lettura da DB per ApplicativiGetAll: {ts.TotalMilliseconds} ms");
-
- return await Task.FromResult(dbResult);
- }
///
/// Aggiornameto/Inserimento record applicativo
///
@@ -142,126 +130,6 @@ namespace LiMan.APi.Data
Log.Trace($"Effettuato upsert su DB per ApplicativoUpsert | {newRec.CodApp} | {ts.TotalMilliseconds} ms");
return fatto;
}
- ///
- /// Aggiornameto/Inserimento record release
- ///
- /// record Release
- ///
- public async Task ReleaseUpsert(ReleaseModel newRec)
- {
- await Task.Delay(1);
- bool fatto = false;
- Stopwatch stopWatch = new Stopwatch();
- stopWatch.Start();
- // inserisco
- fatto = await dbController.ReleaseUpsert(newRec);
- await InvalidateAllCache();
- await FlushRedisCache();
- stopWatch.Stop();
- TimeSpan ts = stopWatch.Elapsed;
- Log.Trace($"Effettuato upsert su DB per ReleaseUpsert | {newRec.CodApp} | {newRec.VersNum} | {ts.TotalMilliseconds} ms");
- return fatto;
- }
-
- ///
- /// Refresh globale cache redis
- ///
- ///
- public async Task FlushRedisCache()
- {
- Stopwatch stopWatch = new Stopwatch();
- stopWatch.Start();
- await Task.Delay(1);
- RedisValue pattern = new RedisValue($"{Const.rKeyConfig}:*");
- bool answ = await ExecFlushRedisPattern(pattern);
- stopWatch.Stop();
- Log.Debug($"FlushRedisCache in {stopWatch.Elapsed.TotalMilliseconds} ms");
- return answ;
- }
-
- ///
- /// Esegue flush memoria redis dato pattern
- ///
- ///
- ///
- protected async Task ExecFlushRedisPattern(RedisValue pattern)
- {
- bool answ = false;
- var listEndpoints = redisConn.GetEndPoints();
- foreach (var endPoint in listEndpoints)
- {
- //var server = redisConnAdmin.GetServer(listEndpoints[0]);
- var server = redisConn.GetServer(endPoint);
- if (server != null)
- {
- var keyList = server.Keys(redisDb.Database, pattern);
- foreach (var item in keyList)
- {
- await redisDb.KeyDeleteAsync(item);
- }
- answ = true;
- }
- }
-
- return answ;
- }
-
- ///
- /// Elenco Release dato Applicativo
- ///
- /// Codice Applicazione
- ///
- public async Task> ReleaseGetByApp(string CodApp)
- {
- await Task.Delay(1);
- List dbResult = new List();
- Stopwatch stopWatch = new Stopwatch();
- stopWatch.Start();
- dbResult = dbController.ReleaseDtoGetByApp(CodApp);
- stopWatch.Stop();
- TimeSpan ts = stopWatch.Elapsed;
- Log.Trace($"Effettuata lettura da DB per ReleaseDtoGetByApp | {CodApp} | {ts.TotalMilliseconds} ms");
- return dbResult;
- }
- ///
- /// Elenco Release dato Applicativo + versione minima
- ///
- /// Codice Applicazione
- /// Versione minima richiesta
- ///
- public async Task> ReleaseGetByAppVers(string CodApp, string VersMin)
- {
- await Task.Delay(1);
- List dbResult = new List();
- Stopwatch stopWatch = new Stopwatch();
- stopWatch.Start();
- dbResult = dbController.ReleaseDtoGetByAppVers(CodApp, VersMin);
- stopWatch.Stop();
- TimeSpan ts = stopWatch.Elapsed;
- Log.Trace($"Effettuata lettura da DB per ReleaseDtoGetByAppVers | {CodApp} | vers >= {VersMin} | {ts.TotalMilliseconds} ms");
- return dbResult;
- }
- ///
- /// Elenco Release dato Applicativo + versione minima
- ///
- /// Codice Applicazione
- /// Versione minima richiesta
- /// Versione massima consentita
- ///
- public async Task> ReleaseGetByAppVersLimit(string CodApp, string VersMin, string VersMax)
- {
- await Task.Delay(1);
- List dbResult = new List();
- Stopwatch stopWatch = new Stopwatch();
- stopWatch.Start();
- dbResult = dbController.ReleaseDtoGetByAppVersLimit(CodApp, VersMin, VersMax);
- stopWatch.Stop();
- TimeSpan ts = stopWatch.Elapsed;
- Log.Trace($"Effettuata lettura da DB per ReleaseDtoGetByAppVersLimit | {CodApp} | vers >= {VersMin} | {ts.TotalMilliseconds} ms");
- return dbResult;
- }
-
-
///
/// Elenco licenze dato cliente
@@ -487,6 +355,22 @@ namespace LiMan.APi.Data
return await Task.FromResult(dbResult);
}
+ ///
+ /// Refresh globale cache redis
+ ///
+ ///
+ public async Task FlushRedisCache()
+ {
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ await Task.Delay(1);
+ RedisValue pattern = new RedisValue($"{Const.rKeyConfig}:*");
+ bool answ = await ExecFlushRedisPattern(pattern);
+ stopWatch.Stop();
+ Log.Debug($"FlushRedisCache in {stopWatch.Elapsed.TotalMilliseconds} ms");
+ return answ;
+ }
+
///
/// invalida tutta la cache in caso di update
///
@@ -533,48 +417,6 @@ namespace LiMan.APi.Data
return await Task.FromResult(dbResult);
}
- ///
- /// Statistiche del LOG chiamate all'API dato filtro
- ///
- /// Data minima
- /// DataMax
- /// Valore cercato, se "" è tutti
- ///
- public async Task> StatsLogCallGetFilt(DateTime DateFrom, DateTime DateTo, string SearchVal = "")
- {
- List dbResult = new List();
- string cacheKey = $"{rKeyStatslogCall}:{DateFrom:yyyyMMdd}:{DateTo:yyyyMMdd}";
- if(!string.IsNullOrEmpty(SearchVal))
- {
- cacheKey += $":{SearchVal}";
- }
- trackCache(cacheKey);
- string rawData = await getRSV(cacheKey);
- if (!string.IsNullOrEmpty(rawData))
- {
- dbResult = JsonConvert.DeserializeObject>(rawData);
- }
- else
- {
- Stopwatch stopWatch = new Stopwatch();
- stopWatch.Start();
- var rawResult = dbController.StatsLogCallGetFilt(DateFrom, DateTo, SearchVal);
- dbResult = rawResult
- .OrderByDescending(x => x.YearRef)
- .ThenByDescending(x => x.TotCall)
- .ToList();
- if (dbResult != null)
- {
- rawData = JsonConvert.SerializeObject(dbResult);
- await setRSV(cacheKey, rawData, shortTTL);
- }
- stopWatch.Stop();
- TimeSpan ts = stopWatch.Elapsed;
- Log.Trace($"Effettuata lettura da DB per StatsLogCallGetFilt: {ts.TotalMilliseconds} ms");
- }
- return await Task.FromResult(dbResult);
- }
-
///
/// Effettua refresh del payload della licenza dato info + enigma generato dal client
///
@@ -693,6 +535,113 @@ namespace LiMan.APi.Data
return fatto;
}
+ ///
+ /// Elenco Release dato Applicativo
+ ///
+ /// Codice Applicazione
+ ///
+ public async Task> ReleaseGetByApp(string CodApp)
+ {
+ await Task.Delay(1);
+ List dbResult = new List();
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ dbResult = dbController.ReleaseDtoGetByApp(CodApp);
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuata lettura da DB per ReleaseDtoGetByApp | {CodApp} | {ts.TotalMilliseconds} ms");
+ return dbResult;
+ }
+
+ ///
+ /// Elenco Release dato Applicativo + versione minima
+ ///
+ /// Codice Applicazione
+ /// Versione minima richiesta
+ ///
+ public async Task> ReleaseGetByAppVers(string CodApp, string VersMin)
+ {
+ await Task.Delay(1);
+ List dbResult = new List();
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ dbResult = dbController.ReleaseDtoGetByAppVers(CodApp, VersMin);
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuata lettura da DB per ReleaseDtoGetByAppVers | {CodApp} | vers >= {VersMin} | {ts.TotalMilliseconds} ms");
+ return dbResult;
+ }
+
+ ///
+ /// Elenco Release dato Applicativo + versione minima
+ ///
+ /// Codice Applicazione
+ /// Versione minima richiesta
+ /// Versione massima consentita
+ ///
+ public async Task> ReleaseGetByAppVersLimit(string CodApp, string VersMin, string VersMax)
+ {
+ await Task.Delay(1);
+ List dbResult = new List();
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ dbResult = dbController.ReleaseDtoGetByAppVersLimit(CodApp, VersMin, VersMax);
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuata lettura da DB per ReleaseDtoGetByAppVersLimit | {CodApp} | vers >= {VersMin} | {ts.TotalMilliseconds} ms");
+ return dbResult;
+ }
+
+ ///
+ /// Elenco di TUTTE le release CRITICAL come dizionario CodApp - release
+ ///
+ ///
+ public async Task> ReleaseGetCritical()
+ {
+ Dictionary dbResult = new Dictionary();
+ Stopwatch sw = new Stopwatch();
+ sw.Start();
+ string cacheKey = $"{rKeyAttivByLic}:AppReleases:CRITICAL";
+ string source = "REDIS";
+ trackCache(cacheKey);
+ string rawData = await getRSV(cacheKey);
+ if (!string.IsNullOrEmpty(rawData))
+ {
+ dbResult = JsonConvert.DeserializeObject>(rawData);
+ }
+ else
+ {
+ source = "DB";
+ dbResult = dbController.ReleaseGetCritical();
+ rawData = JsonConvert.SerializeObject(dbResult);
+ await setRSV(cacheKey, rawData, shortTTL);
+ }
+ sw.Stop();
+ Log.Trace($"Effettuata lettura da DB per ReleaseGetCritical | {source} | # found: {dbResult.Count} | {sw.ElapsedMilliseconds} ms");
+ return dbResult;
+ }
+
+ ///
+ /// Aggiornameto/Inserimento record release
+ ///
+ /// record Release
+ ///
+ public async Task ReleaseUpsert(ReleaseModel newRec)
+ {
+ await Task.Delay(1);
+ bool fatto = false;
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ // inserisco
+ fatto = await dbController.ReleaseUpsert(newRec);
+ await InvalidateAllCache();
+ await FlushRedisCache();
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuato upsert su DB per ReleaseUpsert | {newRec.CodApp} | {newRec.VersNum} | {ts.TotalMilliseconds} ms");
+ return fatto;
+ }
+
///
/// Registro su DB le statistiche delle chiavi in elenco, resettando i vari contatori quando fatto
///
@@ -748,6 +697,48 @@ namespace LiMan.APi.Data
return answ;
}
+ ///
+ /// Statistiche del LOG chiamate all'API dato filtro
+ ///
+ /// Data minima
+ /// DataMax
+ /// Valore cercato, se "" è tutti
+ ///
+ public async Task> StatsLogCallGetFilt(DateTime DateFrom, DateTime DateTo, string SearchVal = "")
+ {
+ List dbResult = new List();
+ string cacheKey = $"{rKeyStatslogCall}:{DateFrom:yyyyMMdd}:{DateTo:yyyyMMdd}";
+ if (!string.IsNullOrEmpty(SearchVal))
+ {
+ cacheKey += $":{SearchVal}";
+ }
+ trackCache(cacheKey);
+ string rawData = await getRSV(cacheKey);
+ if (!string.IsNullOrEmpty(rawData))
+ {
+ dbResult = JsonConvert.DeserializeObject>(rawData);
+ }
+ else
+ {
+ Stopwatch stopWatch = new Stopwatch();
+ stopWatch.Start();
+ var rawResult = dbController.StatsLogCallGetFilt(DateFrom, DateTo, SearchVal);
+ dbResult = rawResult
+ .OrderByDescending(x => x.YearRef)
+ .ThenByDescending(x => x.TotCall)
+ .ToList();
+ if (dbResult != null)
+ {
+ rawData = JsonConvert.SerializeObject(dbResult);
+ await setRSV(cacheKey, rawData, shortTTL);
+ }
+ stopWatch.Stop();
+ TimeSpan ts = stopWatch.Elapsed;
+ Log.Trace($"Effettuata lettura da DB per StatsLogCallGetFilt: {ts.TotalMilliseconds} ms");
+ }
+ return await Task.FromResult(dbResult);
+ }
+
///
/// Esegue aggiunta Ticket richiesto + restitusice aperti x cliente
///
@@ -851,10 +842,49 @@ namespace LiMan.APi.Data
///
protected const int shortTTL = 60 * 5;
+ protected static JsonSerializerSettings? JSSettings;
+
+ ///
+ /// Oggetto per connessione a REDIS
+ ///
+ protected IConnectionMultiplexer redisConn = null!;
+
+ ///
+ /// Oggetto DB redis da impiegare x chiamate R/W
+ ///
+ protected IDatabase redisDb = null!;
+
#endregion Protected Fields
#region Protected Methods
+ ///
+ /// Esegue flush memoria redis dato pattern
+ ///
+ ///
+ ///
+ protected async Task ExecFlushRedisPattern(RedisValue pattern)
+ {
+ bool answ = false;
+ var listEndpoints = redisConn.GetEndPoints();
+ foreach (var endPoint in listEndpoints)
+ {
+ //var server = redisConnAdmin.GetServer(listEndpoints[0]);
+ var server = redisConn.GetServer(endPoint);
+ if (server != null)
+ {
+ var keyList = server.Keys(redisDb.Database, pattern);
+ foreach (var item in keyList)
+ {
+ await redisDb.KeyDeleteAsync(item);
+ }
+ answ = true;
+ }
+ }
+
+ return answ;
+ }
+
///
/// Recupera statistiche correnti
///
diff --git a/LiMan.DB/Controllers/DbController.cs b/LiMan.DB/Controllers/DbController.cs
index 81e4e06..4bf8fdc 100644
--- a/LiMan.DB/Controllers/DbController.cs
+++ b/LiMan.DB/Controllers/DbController.cs
@@ -72,6 +72,7 @@ namespace LiMan.DB.Controllers
}
return fatto;
}
+
///
/// Verifica se una applcazione abbia record correlati...
///
@@ -348,7 +349,8 @@ namespace LiMan.DB.Controllers
{
try
{
- // cerco eventuali licenze preesistenti (per CodImp) e le elimino SE sono libere...
+ // cerco eventuali licenze preesistenti (per CodImp) e le elimino SE
+ // sono libere...
List list2rem = new List();
foreach (var item in ParamDict)
{
@@ -356,13 +358,13 @@ namespace LiMan.DB.Controllers
.DbSetSubLicenze
.Where(x => x.CodImpiego == item.Key && x.VetoUnlock <= oggi)
.FirstOrDefault();
- if(rec2del!=null)
+ if (rec2del != null)
{
list2rem.Add(rec2del);
}
}
// se ce ne sono rimuovo e salvo...
- if(list2rem!=null && list2rem.Count>0)
+ if (list2rem != null && list2rem.Count > 0)
{
dbCtx
.DbSetSubLicenze
@@ -1510,6 +1512,47 @@ namespace LiMan.DB.Controllers
return dbResult;
}
+ ///
+ /// Elenco di TUTTE le release CRITICAL come dizionario CodApp - release
+ ///
+ /// Codice applicativo
+ ///
+ public Dictionary ReleaseGetCritical()
+ {
+ Dictionary dbResult = new Dictionary();
+ using (LMDbContext localDbCtx = new LMDbContext(_configuration))
+ {
+ DateTime adesso = DateTime.Now;
+ // primo step: seleziono le ULTIME release x ogni app...
+ var rawList = localDbCtx
+ .DbSetReleases
+ .Where(x => x.ReleaseDate <= adesso)
+ //.OrderByDescending(x => x.VersNum)
+ .GroupBy(x => x.CodApp)
+ .Select(g => new
+ {
+ key = g.Key,
+ val = g.Where(x => x.ReleaseDate <= adesso).OrderByDescending(x => x.VersNum).FirstOrDefault()
+ })
+ .ToList();
+ foreach (var item in rawList)
+ {
+ if (!dbResult.ContainsKey(item.key) && item.val.RelTags == "CRITICAL")
+ {
+ dbResult.Add(item.key, new ReleaseDTO()
+ {
+ CodApp = item.val.CodApp,
+ ReleaseDate = item.val.ReleaseDate,
+ VersNum = item.val.VersNum,
+ VersText = item.val.VersText,
+ VersVal = item.val.VersVal
+ });
+ }
+ }
+ }
+ return dbResult;
+ }
+
///
/// Upsert Record Release
///