638 Commits

Author SHA1 Message Date
Samuele Locatelli 2cae5693e7 Update display x mostrare buttons x import ordini (solo segnaposto) 2025-05-13 16:30:00 +02:00
Samuele Locatelli ea1e37055b Update conf redis sentinel 2025-05-13 16:28:52 +02:00
Samuele Locatelli 221f7c03fd Merge commit '37986b0bcba62ef5e87e21438892c8fc21e15c07' into develop 2024-08-05 16:23:38 +02:00
Samuele Locatelli 885b4b78b2 fix commento 2024-08-05 16:23:23 +02:00
Emmanuele Sassi 37986b0bcb - eliminato controllo chiave
- aggiunto try su cancellazione file
2024-08-05 16:22:17 +02:00
Samuele Locatelli 670b71841d inserito riferimento x dove restituire tipo elaborazione svg/3dm... 2024-06-27 16:33:00 +02:00
Samuele Locatelli 225ee35143 Aggiunta commentata in CameraSrv x recuperare DDF fisso... 2024-06-27 16:30:39 +02:00
Samuele Locatelli 93906b747e Update struttura display btn/preview 2024-06-27 16:11:27 +02:00
Samuele Locatelli 4cde37cd5f Inserita gestione tipo richiesta (svg/3dm)
Rimesso bottone x export 3d con timeout x risposta calcolo
2024-06-27 15:34:15 +02:00
Samuele Locatelli 1ed9ab4af9 Merge tag 'Add3dPreview02' into develop
Fix icone HW
2024-06-20 16:23:29 +02:00
Samuele Locatelli f612613977 Merge branch 'release/Add3dPreview02' 2024-06-20 16:23:19 +02:00
Samuele Locatelli 96366e26e7 Fix icone HW 2024-06-20 16:22:36 +02:00
Samuele Locatelli 2ac91927dc Merge tag 'Add3dPreview01' into develop
Aggiunta disabilitazione pulsante 3D viewer
2024-06-20 15:35:54 +02:00
Samuele Locatelli 6400e37944 Merge branch 'release/Add3dPreview01' 2024-06-20 15:35:36 +02:00
Samuele Locatelli 1d9f550a02 Fix btn visibility x 3D 2024-06-20 15:35:15 +02:00
Samuele Locatelli db7d0466f2 Merge tag 'AddCompoMgmtDelete05' into develop
Fix selezione generic + fix gestione pulizia folder
2024-06-20 13:15:41 +02:00
Samuele Locatelli 3fd9ef8383 Merge branch 'release/AddCompoMgmtDelete05' 2024-06-20 13:15:31 +02:00
Samuele Locatelli 795b60ee86 Fix pulizia folder + fix selezione cartelle generic 2024-06-20 13:15:12 +02:00
Samuele Locatelli f7182715e5 Merge tag 'AddCompoMgmtDelete04' into develop
Aggiunto svuotamento cache dopo rilettura componenti x evitare
riscrittura dati eliminati
2024-06-20 12:04:29 +02:00
Samuele Locatelli 7547cc7035 Merge branch 'release/AddCompoMgmtDelete04' 2024-06-20 12:02:58 +02:00
Samuele Locatelli 99ee856340 Forza svuotamento cache dopo update componenti 2024-06-20 12:02:43 +02:00
Samuele Locatelli b02b9ccbf7 Merge tag 'AddCompoMgmtDelete03' into develop
Aggiunto caso gestione dir inesistente in file missing
2024-06-20 09:37:30 +02:00
Samuele Locatelli 71e5fa0674 Merge branch 'release/AddCompoMgmtDelete03' 2024-06-20 09:37:16 +02:00
Samuele Locatelli ad772b8160 Aggiunta verifica e creazione directory non esistente alla creazione missing files 2024-06-20 09:37:01 +02:00
Samuele Locatelli 8737eefd31 Merge tag 'AddCompoMgmtDelete02' into develop
Completata gestione Compo: missing, delete, log
2024-06-20 09:12:29 +02:00
Samuele Locatelli 9d0c29358d Merge branch 'release/AddCompoMgmtDelete02' 2024-06-20 09:12:09 +02:00
Samuele Locatelli 49f6114b67 Clean & update compo completed 2024-06-20 09:11:51 +02:00
Samuele Locatelli b723109f4e update gestione dizionario (da completare) 2024-06-19 18:29:18 +02:00
Samuele Locatelli 852d17ed0e Preparata procedura fix missing (da testare) 2024-06-19 18:24:04 +02:00
Samuele Locatelli 4329ab8552 Merge tag 'AddCompoMgmtDelete01' into develop
Primo step gestione componenti in modalità delete
2024-06-19 16:57:50 +02:00
Samuele Locatelli ecb40ab66f Merge branch 'release/AddCompoMgmtDelete01' 2024-06-19 16:57:39 +02:00
Samuele Locatelli 1d82e2ba05 Aggiunto conteggio componenti missing tra DB e FS 2024-06-19 16:57:18 +02:00
Samuele Locatelli e1dc3215a1 Merge tag 'AddDebugMode' into develop
Aggiunta debug mode + check delete componenti
2024-06-19 09:26:17 +02:00
Samuele Locatelli e7665ff1e0 Merge branch 'release/AddDebugMode' 2024-06-19 09:26:00 +02:00
Samuele Locatelli e1addcf11b Aggiunta possibilità "autoapprovazione" pdf SE
- superadmin
-url con ?config=debug
2024-06-19 09:25:24 +02:00
Samuele Locatelli 85259f334c Fix gfestione eliminazione componenti 2024-06-19 09:24:51 +02:00
Samuele Locatelli 7bda460b7b Update conf in prod x WDC su aree nextcloud 2024-05-10 18:10:09 +02:00
Samuele Locatelli 56aea1cc2c Merge tag 'FixHealthCheckIIs01' into develop
Update gestione check health
2024-05-09 19:07:04 +02:00
Samuele Locatelli 716cdc4a61 Merge branch 'release/FixHealthCheckIIs01' 2024-05-09 19:06:33 +02:00
Samuele Locatelli 69c02fdb8a typo 2024-05-09 19:06:02 +02:00
Samuele Locatelli 613339b662 nota auth check health 2024-05-09 19:05:50 +02:00
Samuele Locatelli 4f4a0ec2b4 Test commento sezione startup.cs 2024-05-09 17:22:10 +02:00
Samuele Locatelli f273aaaf5a Update conf start HealthCheck serv 2024-05-09 16:41:57 +02:00
Samuele Locatelli a0bbf356a9 Merge tag 'FixTypoHeathSrvName' into develop
Sistemazione nomi servizi health
2024-05-09 13:10:44 +02:00
Samuele Locatelli facd44c6f5 Merge branch 'release/FixTypoHeathSrvName' 2024-05-09 13:10:34 +02:00
Samuele Locatelli e534651bf3 Fix nome servizi healthcheck 2024-05-09 13:10:06 +02:00
Samuele Locatelli 74b08ceefc Merge tag 'FixPdfReviewAndClose01' into develop
Fix auto close + messaggi
2024-04-26 12:08:21 +02:00
Samuele Locatelli e798a764de Merge branch 'release/FixPdfReviewAndClose01' 2024-04-26 12:08:15 +02:00
Samuele Locatelli 30529d0825 Fix chiusura preview PDF + colore pdf preview 2024-04-26 12:07:28 +02:00
Samuele Locatelli 7bebc6e8ea Fix confirm solo ove necessario 2024-04-26 10:00:25 +02:00
Samuele Locatelli 6b82975b9d Fix auto-close on confirm 2024-04-26 09:54:07 +02:00
Samuele Locatelli f5298172e6 Merge tag 'AddHealthCheck04' into develop
Update con aggiunta health x SRV/API
2024-04-24 18:21:52 +02:00
Samuele Locatelli 2a9a1f4882 Merge branch 'release/AddHealthCheck04' 2024-04-24 18:21:42 +02:00
Samuele Locatelli 6f513809de Add API health services 2024-04-24 18:21:13 +02:00
Samuele Locatelli 9ef952de54 Merge tag 'AddHealthCheck03' into develop
Completato check su DB x num rec tabelle
2024-04-23 17:06:33 +02:00
Samuele Locatelli 67b8464c5f Merge branch 'release/AddHealthCheck03' 2024-04-23 17:06:23 +02:00
Samuele Locatelli fbdddc0eee Completato check conteggio record DB 2024-04-23 17:06:09 +02:00
Samuele Locatelli 88b4e8686d Merge tag 'AddHealthCheck02' into develop
Fix ping a DB con instance + fix SqlSelect
2024-04-23 16:13:03 +02:00
Samuele Locatelli cedbd9931e Merge branch 'release/AddHealthCheck02' 2024-04-23 16:12:51 +02:00
Samuele Locatelli 43187d8d29 Update x stato healthy con ping a db con instance 2024-04-23 16:12:35 +02:00
Samuele Locatelli d0f8a94d36 Merge tag 'AddHealthCheck01' into develop
Test aggiunta health check page (base, incompleta)
2024-04-23 15:52:27 +02:00
Samuele Locatelli fd91e8fe19 Merge branch 'release/AddHealthCheck01' 2024-04-23 15:52:05 +02:00
Samuele Locatelli df73a17126 Prima bozza pagina health check x WDC 2024-04-23 15:50:16 +02:00
Samuele Locatelli a38b0aa9cb Update pèer pubblicazione WebAPI su IIS01/02 2024-04-23 11:36:30 +02:00
Samuele Locatelli 316c028c86 Merge tag 'FixDeployIIS01-IIS02' into develop
Update per test deploy IIS01/IIS02
2024-04-23 11:32:13 +02:00
Samuele Locatelli dcb51b7763 Merge branch 'release/FixDeployIIS01-IIS02' 2024-04-23 11:31:24 +02:00
Samuele Locatelli aeb52a3576 Update conf x deploy IIS01 + IIS02 in OVH 2024-04-23 11:29:43 +02:00
Samuele Locatelli 452e316851 Fix update e delete door in display 2024-04-23 11:19:03 +02:00
Samuele Locatelli a45a7390c3 Refresh 2024-04-23 09:24:22 +02:00
Samuele Locatelli c020e5fff3 Aggiunta gestione file statici esterni x PDF (ccon folders!) 2024-04-23 09:23:59 +02:00
Samuele Locatelli 366ed08fb4 Aggiunto componente view PDF viewer con doc calcolato 2024-04-23 09:23:30 +02:00
Samuele Locatelli 9465c859f9 - Aggiunta apertura PDF anche quando approvato
- fix colori pdf in less file
2024-04-23 09:23:02 +02:00
Samuele Locatelli f4b6112a77 aggiunto deploy test su prod WDC 2024-04-23 09:20:53 +02:00
Samuele Locatelli 474f480198 Merge tag 'FixDcaAdminAuth02' into develop
Fix gestione loadDataSmall --> nuovo componente
2024-04-19 09:39:16 +02:00
Samuele Locatelli 931abece6f Merge branch 'release/FixDcaAdminAuth02' 2024-04-19 09:39:01 +02:00
Samuele Locatelli 5b5d04cd5f Fix riferimenti loadData (vecchio) 2024-04-19 09:38:36 +02:00
Samuele Locatelli c202b7d387 Merge tag 'FixDcaAdminAuth' into develop
Fix auth x DcaAdmin in prod
2024-04-19 09:32:57 +02:00
Samuele Locatelli 69179e4af0 Merge branch 'release/FixDcaAdminAuth' 2024-04-19 09:32:48 +02:00
Samuele Locatelli 7b28b543e8 Update permessi DcaAdmin x mostrare componenti UI 2024-04-19 09:32:05 +02:00
Samuele Locatelli 71f1cb1246 Merge tag 'FixSentinelLocalhost' into develop
Fix release sentinel on localhost
2024-03-16 12:15:43 +01:00
Samuele Locatelli 01a50dbfec Merge branch 'release/FixSentinelLocalhost' 2024-03-16 12:15:31 +01:00
Samuele Locatelli bff4251fbe Sentinel on localhost 2024-03-16 12:14:10 +01:00
Samuele Locatelli 7b6443e4d4 fix conf x API su nuovo redis sentinel 2024-03-15 15:37:08 +01:00
Samuele Locatelli ce122ba296 Test conf IIS01 x nuovo cluster redis 2024-03-15 15:29:03 +01:00
Samuele Locatelli 101429cf11 Merge tag 'FixPagination03' into develop
Fix reset numero pagina in cambio numrec 2 displ
2024-03-11 14:32:05 +01:00
Samuele Locatelli 7cad7d00e7 Merge branch 'release/FixPagination03' 2024-03-11 14:31:54 +01:00
Samuele Locatelli ba447558d4 Fix reset numPage 2024-03-11 14:31:40 +01:00
Samuele Locatelli 337a4252f9 Merge tag 'FixPagination02' into develop
Fix favicon
2024-03-11 14:27:18 +01:00
Samuele Locatelli c8098edb97 Merge branch 'release/FixPagination02' 2024-03-11 14:27:13 +01:00
Samuele Locatelli cc9a1a8342 Fix favicon 2024-03-11 14:26:53 +01:00
Samuele Locatelli d860bbbed5 Merge tag 'FixPagination01' into develop
Fix paginazione
2024-03-11 14:16:03 +01:00
Samuele Locatelli a5b134e32b Merge branch 'release/FixPagination01' 2024-03-11 14:15:57 +01:00
Samuele Locatelli da742620b0 Fix paginazione 2024-03-11 14:15:38 +01:00
Samuele Locatelli 7bc955365f Merge tag 'FixRecalcOnMissing03' into develop
Update e fix x ricalcolo
2024-03-11 12:51:32 +01:00
Samuele Locatelli 706a9bce17 Merge branch 'release/FixRecalcOnMissing03' 2024-03-11 12:51:23 +01:00
Samuele Locatelli ab5757d0bd Completo fix x reload e calcolo corretto DDF in caso di sovrapposizione richieste 2024-03-11 12:51:04 +01:00
Samuele Locatelli 2fa5a0df16 Update serializzatore DDF x evitare race conditions 2024-03-11 10:47:39 +01:00
Samuele Locatelli cba8ceb688 Merge tag 'FixRecalcOnMissing02' into develop
Fix ricalcolo immagini (sperabilmente)
2024-03-09 11:55:33 +01:00
Samuele Locatelli 7b007f6ca5 Merge branch 'release/FixRecalcOnMissing02' 2024-03-09 11:55:21 +01:00
Samuele Locatelli a67691278b Update gestione filtraggio x ricalcolo SVG 2024-03-09 11:54:32 +01:00
Samuele Locatelli 7d3e1533fd Merge tag 'FixRecalcOnMissing01' into develop
Fix recalc su missing svg con semaforo
2024-03-09 09:27:31 +01:00
Samuele Locatelli 084973df66 Merge branch 'release/FixRecalcOnMissing01' 2024-03-09 09:27:13 +01:00
Samuele Locatelli 179565d47d fix staging conf 2024-03-09 09:26:38 +01:00
Samuele Locatelli c35eb00002 Semaforo (maybe) x evitare doppio ricalcolo 2024-03-08 19:10:19 +01:00
Samuele Locatelli 16248e2346 update conf x ricalcolo SVG 2024-03-08 19:01:18 +01:00
Samuele Locatelli 9bf93c4996 reorg config vari 2024-03-04 11:34:13 +01:00
Samuele Locatelli 82248f1068 fix calcolo url logout 2024-03-04 11:34:06 +01:00
Samuele Locatelli b0c37aa79f Merge tag 'BasePathIdentityFix02' into develop
Fix logout (spero...)
2024-03-04 11:22:31 +01:00
Samuele Locatelli 967a4e0e2f Merge branch 'release/BasePathIdentityFix02' 2024-03-04 11:22:23 +01:00
Samuele Locatelli 361854f5b5 Try fix action x logout 2024-03-04 11:22:10 +01:00
Samuele Locatelli 52d65add22 Update x login partial 2024-03-04 11:16:41 +01:00
Samuele Locatelli b868660ed9 Merge tag 'BasePathIdentityFix01' into develop
Fix base path (da testare)
2024-03-04 11:08:41 +01:00
Samuele Locatelli 2bbfa4b6bf Merge branch 'release/BasePathIdentityFix01' 2024-03-04 11:08:32 +01:00
Samuele Locatelli 118e43f0c2 Fix base URL 2024-03-04 11:07:54 +01:00
Samuele Locatelli 726df4d36c Merge branch 'main' into develop 2024-03-04 10:56:38 +01:00
Samuele Locatelli 68204acddd Merge branch 'develop' 2024-03-04 10:56:24 +01:00
Samuele Locatelli 2b2e258020 Update nuget EFCore a 6.0.27 2024-03-04 10:51:52 +01:00
Samuele Locatelli 17bbaf2136 Update login page 2024-03-04 10:48:46 +01:00
Samuele Locatelli b2fd3a39fa Update email settings 2024-03-04 10:47:16 +01:00
Samuele Locatelli f843aff337 Fix user menu nav 2024-03-04 10:44:38 +01:00
Samuele Locatelli 13afc6464f Merge branch 'release/UpdateLoginLogoutPage01' 2024-02-21 11:30:03 +01:00
Samuele Locatelli eb64db41da Update pagine login/logout 2024-02-21 11:29:15 +01:00
Samuele Locatelli 65e54aefbe Merge tag 'FixreloadLayout01' into develop
Fix modifiche reload page x javascript di base blazor
2024-02-19 19:29:11 +01:00
Samuele Locatelli e44d1e04a2 Merge branch 'release/FixreloadLayout01' 2024-02-19 19:28:40 +01:00
Samuele Locatelli fa948fd5d0 Fix gestione reload page 2024-02-19 19:28:11 +01:00
Samuele Locatelli 30fa3b8444 Merge tag 'TestForceRecalcSvg01' into develop
Gestione ricalcolo porte quando missing: inserita, testata
2024-02-16 18:07:15 +01:00
Samuele Locatelli 35815c3a56 Merge branch 'release/TestForceRecalcSvg01' 2024-02-16 18:06:56 +01:00
Samuele Locatelli 4585ac4bf8 Aggiunta e testata rilettura DDF + SVG da missing 2024-02-16 18:05:43 +01:00
Samuele Locatelli 70cd621f80 Bozza modifiche x richeista ricalcolo porta (se missing) 2024-02-16 17:09:58 +01:00
Samuele Locatelli 145a0f5c7e Merge tag 'FixLogVerboseSrv01' into develop
Fix log verboso su SRV
2024-02-16 16:03:19 +01:00
Samuele Locatelli 9bac691032 Merge branch 'release/FixLogVerboseSrv01' 2024-02-16 16:03:03 +01:00
Samuele Locatelli ba7d395d20 Review livelli out info x richieste + frequenti 2024-02-16 15:55:33 +01:00
Samuele Locatelli 3c07a3ae26 Update logging x SRV e WebDoorCreatorService 2024-02-16 15:50:13 +01:00
Samuele Locatelli ca5731d2e6 Deduplica log avvio QueueController 2024-02-16 15:40:17 +01:00
Samuele Locatelli f8426f304a Update log... 2024-02-16 15:21:17 +01:00
Samuele Locatelli b9414c7a48 fix loog statistiche e log 2024-02-16 14:51:31 +01:00
Samuele Locatelli 6c9c3d8d85 Riscrittura metodi log QueueController e QueueDataService 2024-02-16 14:38:01 +01:00
Samuele Locatelli 5df108a979 Merge tag 'TestOvhDeploy04' into develop
completo merge con update json conf
2024-02-16 08:35:31 +01:00
Samuele Locatelli f15b1694f7 Merge branch 'release/TestOvhDeploy04' 2024-02-16 08:35:23 +01:00
Samuele Locatelli 30e37531a2 update conf 2024-02-16 08:34:23 +01:00
Samuele Locatelli 215383c630 Merge tag 'TestOvhDeploy04' into develop
Test deploy post fix DB num (11 --> 12)
2024-02-16 08:34:07 +01:00
Samuele Locatelli 5df5391030 Merge branch 'release/TestOvhDeploy04' 2024-02-16 08:33:44 +01:00
Samuele Locatelli 530faf053f Nuovo test deploy OVH 2024-02-16 08:33:26 +01:00
Samuele Locatelli 592034c9d4 Merge tag 'TestOvhDeploy03' into develop
mancava modifica utente deploy oltre a pwd...
2024-02-15 18:42:10 +01:00
Samuele Locatelli 2a2e31d087 Merge branch 'release/TestOvhDeploy03' 2024-02-15 18:42:00 +01:00
Samuele Locatelli 419150a41f modifica user deploy WDC 2024-02-15 18:41:46 +01:00
Samuele Locatelli fc4be10caa Merge tag 'TestOvhDeploy02' into develop
fix variabile x upload su OVH/WDC
2024-02-15 18:39:12 +01:00
Samuele Locatelli 2413b27678 Merge branch 'release/TestOvhDeploy02' 2024-02-15 18:39:01 +01:00
Samuele Locatelli 95ff88ac11 modifica variabile x pwd OVH 2024-02-15 18:38:39 +01:00
Samuele Locatelli 54d7e594f1 Merge tag 'TestOvhDeploy01' into develop
primo test deploy su OVH da CI/CD
2024-02-15 18:36:31 +01:00
Samuele Locatelli 7900141bda Merge branch 'release/TestOvhDeploy01' 2024-02-15 18:36:19 +01:00
Samuele Locatelli 13953a86d6 Merge commit '06b06db04dea2f591ca4c75c7b763a2e7d540876' into develop 2024-02-15 18:31:14 +01:00
Samuele Locatelli 7f0ee8ad7f Test CI/CD verso prod da testare 2024-02-15 18:30:40 +01:00
Samuele Locatelli 788112e54e impostata modifica x ricalcolo file svg missing 2024-02-15 18:26:19 +01:00
Samuele Locatelli 0e8ec13e68 refresh conf UI x nuovo prod json 2024-02-15 17:40:26 +01:00
Samuele Locatelli 67fe028cb6 Pulizia conf utenti 2024-02-15 17:40:05 +01:00
Samuele Locatelli 55f4ee077d Update x API SRV su WDC-OVH 2024-02-15 17:33:59 +01:00
Samuele Locatelli cc6b195aa3 Aggiunta conf x deploy su WDC-OVH 2024-02-15 17:33:21 +01:00
Emmanuele Sassi 06b06db04d Merge remote-tracking branch 'origin/develop' into ProcPipeComm 2024-01-05 09:20:55 +01:00
Emmanuele Sassi f3810fa708 - gestiti mutex con nome da ini per distinguere istanze
- spostata inizializzazione oggetto web in load
- corretti errori i n avvio per oggetti non inizializzati
- spostata path dell'Engine in file ini
2024-01-05 09:20:16 +01:00
Samuele Locatelli f2d5894638 Merge tag 'FixAnnualFilter01' into develop
Fix filtro annuale: 1 genn anno precedente
2024-01-04 15:14:40 +01:00
Samuele Locatelli 72a9b30224 Merge branch 'release/FixAnnualFilter01' 2024-01-04 15:14:30 +01:00
Samuele Locatelli 5de127b786 Fix filtro periodo: da 1 gennaio anno precedente 2024-01-04 15:13:52 +01:00
Samuele Locatelli bda5a45556 Merge tag 'UpdateCompoComparer02' into develop
iUpdate pagina comparer
2023-09-11 14:33:48 +02:00
Samuele Locatelli 544050bed8 Merge branch 'release/UpdateCompoComparer02' 2023-09-11 14:33:36 +02:00
zaccaria.majid afd6dcc415 fix grafici + fix diff 2023-09-11 14:20:29 +02:00
zaccaria.majid a41ba4ed86 ok fix grafici 2023-09-11 12:18:54 +02:00
Samuele Locatelli 1b0e6eff12 Merge branch 'main' into develop 2023-09-11 12:06:07 +02:00
Samuele Locatelli ece16243ff Merge tag 'UpdateCompoComparer01' into develop
Update prod x gestione compo comparer
2023-09-11 12:05:45 +02:00
Samuele Locatelli 9228059419 Fix direzione compare 2023-09-11 12:05:28 +02:00
Samuele Locatelli 4584f95004 Merge branch 'release/UpdateCompoComparer01' 2023-09-11 12:01:36 +02:00
Samuele Locatelli 16650e0b25 Update filtro x type 2023-09-11 12:01:08 +02:00
Samuele Locatelli 30f2a040b7 Update comparatore x lettura parziale new/cur 2023-09-11 11:13:44 +02:00
Samuele Locatelli b49752c31a Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-09-11 09:34:03 +02:00
Samuele Locatelli 1e8ce2315b update grafica comparer 2023-09-11 09:33:27 +02:00
zaccaria.majid 5aadcb2605 ok filtro x file status 2023-09-11 09:30:57 +02:00
zaccaria.majid 96c58679ff fix directory di base x compo in staging e production 2023-09-11 08:12:41 +02:00
zaccaria.majid 2fcc24f3be fix warning 2023-09-06 17:10:11 +02:00
zaccaria.majid 99b201eeea Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-09-06 16:59:58 +02:00
zaccaria.majid 5448a9117b fix cartelle di rete 2023-09-06 16:58:53 +02:00
Samuele Locatelli 49dd1eec6b Merge tag 'AddCompoManager01' into develop
Update gest componenti in prod
2023-09-05 16:33:32 +02:00
Samuele Locatelli ccf37fec6d Merge branch 'release/AddCompoManager01' 2023-09-05 16:33:24 +02:00
Samuele Locatelli e69a1b71f7 Update note + css x manuale ILIAS 2023-09-05 16:32:48 +02:00
Samuele Locatelli cc8b227378 Refresh 2023-09-05 16:30:05 +02:00
Samuele Locatelli 0ad9bfc322 update manuale da ILIAS 2023-09-05 16:29:13 +02:00
zaccaria.majid 2f849c2d4e delete file inutili 2023-09-05 16:16:27 +02:00
zaccaria.majid 3b120055f7 ok display progress 2023-09-05 15:27:11 +02:00
zaccaria.majid 0f593ef013 fix update file template 2023-09-05 15:23:56 +02:00
zaccaria.majid 0eb1dee91e fix gestione rescan post salvataggio 2023-09-05 12:54:52 +02:00
zaccaria.majid 37eb2ab1cf fix grafici pagina confronto compo 2023-09-05 12:20:16 +02:00
Samuele Locatelli 3085f5bad9 Riconfigurazione staging/prod x conf json 2023-09-05 10:51:11 +02:00
Samuele Locatelli 2d55618738 Fix calcolo scansione folders 2023-09-05 10:50:46 +02:00
Samuele Locatelli c7c7cb5795 Fix comprare & diff 2023-09-05 10:50:36 +02:00
zaccaria.majid bd5e60db77 fix roles pagina superadmin 2023-09-05 09:54:52 +02:00
zaccaria.majid 54463ea14d nascosto bottone interface 2023-09-05 09:50:05 +02:00
zaccaria.majid b5389ad62a fix svuotatura campi x new company 2023-09-05 09:47:59 +02:00
zaccaria.majid 839273f8de fix voabulary 2023-09-04 16:24:00 +02:00
zaccaria.majid 102918bf0a fix percorsi giusto 2023-09-04 15:44:55 +02:00
zaccaria.majid 15f5f93081 fix percorsi R 2023-09-04 15:27:37 +02:00
zaccaria.majid d62be83f7e fix placeholder 2023-09-04 15:13:36 +02:00
Samuele Locatelli 4f5dac3156 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-09-04 15:05:43 +02:00
Samuele Locatelli 01ef886474 Aggiunta folder log/placeholder 2023-09-04 15:04:41 +02:00
zaccaria.majid 42c23db164 refresh vocabulary 2023-09-04 14:52:25 +02:00
zaccaria.majid 998f24719c ok salvataggio quando necessario 2023-09-04 12:10:06 +02:00
zaccaria.majid 92cfa01d94 fix creazione cartelle 2023-09-04 11:36:01 +02:00
zaccaria.majid f8c6db7902 ok accept mod da modale diff 2023-09-04 10:13:59 +02:00
zaccaria.majid 355de58199 ok progress display 2023-09-04 08:38:39 +02:00
zaccaria.majid fcf6398a5a aggiunto load 2023-08-31 17:29:12 +02:00
zaccaria.majid 4605985c85 ok vista diff 2023-08-31 16:55:02 +02:00
zaccaria.majid 4216c26747 fix grafici + ok scansioni 2023-08-31 16:09:33 +02:00
zaccaria.majid 90eb11e861 fix grafici e inizio gestione azioni da compiere per ogni file 2023-08-31 10:04:55 +02:00
zaccaria.majid d6dad0211f ok scan files nelle cartelle. 2023-08-30 17:04:20 +02:00
zaccaria.majid e51b311203 inizio fix gestione files 2023-08-29 17:13:48 +02:00
zaccaria.majid 25ab909477 inizio compare testi 2023-08-29 15:07:06 +02:00
Samuele Locatelli 78361c3c2c Minor fixes 2023-08-29 11:49:20 +02:00
Samuele Locatelli baecfc96d6 refresh 2023-08-01 14:18:13 +02:00
Samuele Locatelli 05d1876d09 Rimozione hierarchId
- da nuget
- da migration vecchie
2023-08-01 14:17:39 +02:00
Samuele Locatelli b963104a2b - aggiuhnta librerie x Skia @ linux
- test ok (tranne report...)
2023-08-01 13:58:28 +02:00
Samuele Locatelli 7d6d75d539 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-08-01 11:45:10 +02:00
Samuele Locatelli f9717618af Inserimento SkiaSharp x gestione SVG --> png cross-platform 2023-08-01 11:45:07 +02:00
zaccaria.majid a61330abc1 fine gestione logs 2023-08-01 10:30:26 +02:00
zaccaria.majid c08aa6a95f Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-08-01 09:55:19 +02:00
zaccaria.majid 0c37f7875f copertura parziale log 2023-08-01 09:55:09 +02:00
Samuele Locatelli 71376e4a35 COmpletata rimozione warning 2023-08-01 09:54:04 +02:00
Samuele Locatelli 632e2005ee Fix gestione deserializzazione claims 2023-08-01 09:47:34 +02:00
Samuele Locatelli c2bd127b64 Update gestione redisChannel con patterna aggiornati 2023-08-01 08:48:06 +02:00
Samuele Locatelli 053b39bb00 Altra pulizia + fix log/exc 2023-08-01 08:41:27 +02:00
Samuele Locatelli a3f628f139 Ancora correzione warning + log inizio estensione 2023-08-01 08:12:35 +02:00
Samuele Locatelli c2af720d82 Ancor nuget vari + fix warnings compilazione (INIZIO!!!) 2023-07-31 19:15:22 +02:00
Samuele Locatelli 6605567a2f Varie:
- Update note documenti md
- update nuget EgwCoreLib
- consolidamento & update nuget vari
2023-07-31 19:03:56 +02:00
Samuele Locatelli d9d8994157 Merge tag 'FixBtnDisabled' into develop
Fix gestione buttons disabled
2023-07-28 16:11:49 +02:00
Samuele Locatelli cdfe383fc3 Merge branch 'release/FixBtnDisabled' 2023-07-28 16:11:40 +02:00
zaccaria.majid 66f27a9baf fix controllo order status 2023-07-28 15:51:28 +02:00
zaccaria.majid c23a596868 fix letture da db (bloccate da test di seed) 2023-07-28 11:28:47 +02:00
zaccaria.majid 5be1aedd23 bug fix e tentetivi seed data 2023-07-21 16:46:03 +02:00
zaccaria.majid 62b232b05e Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-07-21 14:54:33 +02:00
zaccaria.majid 5bc32abc04 update stored script 2023-07-21 14:54:28 +02:00
Samuele Locatelli 98d0cf60ea modifica stored come drop+create 2023-07-21 14:51:43 +02:00
Samuele Locatelli b46d935956 Merge branch 'develop' 2023-07-21 12:04:17 +02:00
zaccaria.majid dafe55c017 fix stored + fix combinazioni per bottone cambio stato ordine 2023-07-21 09:48:06 +02:00
zaccaria.majid 5462c8cca4 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-07-21 08:51:40 +02:00
zaccaria.majid e4782f62f4 minor fix 2023-07-21 08:49:27 +02:00
Samuele Locatelli 3f2a3b7a51 Merge tag 'FixRefreshVoc' into develop
Fix condizione refresh vocabolario con pulsante in menu horizontal
2023-07-21 08:39:57 +02:00
Samuele Locatelli e0d6ab0b0a Merge branch 'release/FixRefreshVoc' 2023-07-21 08:39:39 +02:00
Samuele Locatelli ccd9dca9fe update x gestione refresh dati vocabolario 2023-07-21 08:39:19 +02:00
Samuele Locatelli 09c55be1e7 update manuale stored/view in prod 2023-07-20 18:12:10 +02:00
Samuele Locatelli b3086f52fb Merge tag 'FixHelpMenu' into develop
Fix top menu  help & co
2023-07-19 17:01:35 +02:00
Samuele Locatelli e8e53d940d Merge branch 'release/FixHelpMenu' 2023-07-19 17:01:24 +02:00
zaccaria.majid f9eaa7ccd4 minor fix 2023-07-19 16:42:12 +02:00
zaccaria.majid 34feb38b27 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-07-19 16:07:20 +02:00
zaccaria.majid a344f7401d Tolti ruoli per vedere help 2023-07-19 16:07:16 +02:00
Samuele Locatelli f5e7ff1452 Merge tag 'FixResetPwdProcedureProd02' into develop
Fix x logout page
2023-07-19 12:03:55 +02:00
Samuele Locatelli 178a8843dd Merge branch 'release/FixResetPwdProcedureProd02' 2023-07-19 12:03:49 +02:00
zaccaria.majid 6aa7ec80d6 tentativo fix 2023-07-19 11:52:26 +02:00
zaccaria.majid 98509a0fa2 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-07-19 11:42:12 +02:00
zaccaria.majid 24283722c6 prova fix link action logout 2023-07-19 11:42:06 +02:00
Samuele Locatelli f49d9fcb0f Merge tag 'FixResetPwdProcedureProd01' into develop
Fix in prod
2023-07-19 11:08:20 +02:00
Samuele Locatelli ac8284fcd2 Merge branch 'release/FixResetPwdProcedureProd01' 2023-07-19 11:08:10 +02:00
zaccaria.majid 9e8fcec7c0 minor fix 2023-07-19 11:05:06 +02:00
zaccaria.majid 08e1cad999 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-07-19 10:58:22 +02:00
zaccaria.majid f758dd3f1b fix link x redirect 2023-07-19 10:57:32 +02:00
Samuele Locatelli 555dae50db Merge tag 'UpdateOnProd-230705-07' into develop
update globale in produzione
2023-07-05 07:53:36 +02:00
Samuele Locatelli 3e278c4e93 Merge branch 'release/UpdateOnProd-230705-07' 2023-07-05 07:53:24 +02:00
Samuele Locatelli 105d5083cb Refresh manuale + update in prod 2023-07-05 07:52:42 +02:00
Samuele Locatelli 5457fde893 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-30 09:59:05 +02:00
Samuele Locatelli a87711e714 Aggiunta help (preliminare da GPW) 2023-06-30 09:58:29 +02:00
Samuele Locatelli 54fb80e33b Aggiunta link x help e hide num modelli x TPL 2023-06-30 09:58:02 +02:00
zaccaria.majid ba0e338253 fix immagini 2023-06-29 12:01:43 +02:00
zaccaria.majid 4de19da582 ok gestione modifica porta solo in stato 10 || tpl 2023-06-29 11:37:19 +02:00
zaccaria.majid 992165a30c ok modifica unit cost in caso di pagina tpl 2023-06-29 10:04:13 +02:00
Samuele Locatelli 4c72268fc5 Refresh cache TPL + fix vari 2023-06-29 09:59:11 +02:00
zaccaria.majid d102d04d24 fix grafico 2023-06-29 09:24:11 +02:00
Samuele Locatelli 899043124d Update x gestione gradiente HEX 2023-06-29 08:42:24 +02:00
zaccaria.majid 60a8d5e4d0 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-29 07:56:04 +02:00
zaccaria.majid 39e065e584 aggiunte immagini hw 2023-06-28 16:55:51 +02:00
Samuele Locatelli 81bed89059 refresh 2023-06-28 14:49:02 +02:00
zaccaria.majid 577c1b8e0e fix grafici parte superiore card door list 2023-06-28 13:09:05 +02:00
Samuele Locatelli 66ac6ed86b Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-28 12:40:41 +02:00
Samuele Locatelli 34e8385946 add sorting ord status 2023-06-28 12:40:38 +02:00
zaccaria.majid 9e526aef0b fix grafici 2023-06-28 12:39:59 +02:00
zaccaria.majid 1449647645 fix grafico 2023-06-28 11:17:48 +02:00
zaccaria.majid dbec591520 fix orders home page 2023-06-28 10:44:29 +02:00
zaccaria.majid 741af51f7b Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-28 10:38:01 +02:00
zaccaria.majid 21b3e699c4 ok gestione colori 2023-06-28 10:37:55 +02:00
Samuele Locatelli bfdc802c90 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-28 10:23:21 +02:00
Samuele Locatelli ac3a42eed4 Update x gestioen scadenza lunga SVG porte TPL 2023-06-28 10:21:52 +02:00
zaccaria.majid ec1e6a616b fix colori bottoni azione per door list 2023-06-28 10:21:38 +02:00
zaccaria.majid efd23ecae3 aggiunti colori stato in orderlist 2023-06-28 08:55:25 +02:00
Samuele Locatelli 05284c34e8 fix disabled x componente btn HwSw SVG 2023-06-28 08:40:28 +02:00
Samuele Locatelli 32501a8f38 Completata pagina ordini:
-  sorting
- fix colonne
- fix editing + update
2023-06-27 17:44:12 +02:00
Samuele Locatelli b75e16a221 Fix editing modale x OrdStatus 2023-06-27 17:18:36 +02:00
Samuele Locatelli f8b8cf226f Update comportamento salvataggio date da status 2023-06-27 16:55:58 +02:00
zaccaria.majid 5f6d10df44 fix grafici 2023-06-27 16:23:09 +02:00
zaccaria.majid 57cda0d5f7 ok migrations e modifica view orderstatus 2023-06-27 15:41:59 +02:00
Samuele Locatelli ca10b584e6 Spostamento dati + review pagina ordini 2023-06-27 15:30:51 +02:00
zaccaria.majid 3c16090ec0 fix ogfgetti 2023-06-27 15:11:20 +02:00
Samuele Locatelli ef3e4f957b Fix obj SVG x buttons parametrico 2023-06-27 14:34:37 +02:00
Samuele Locatelli 5a924c340c Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-27 14:20:45 +02:00
Samuele Locatelli 0abf7186d1 fix refresh SVG 2023-06-27 14:19:16 +02:00
zaccaria.majid 51259f3c8e fix minore ancora su gestione modale door 2023-06-27 12:27:00 +02:00
zaccaria.majid aabc2b4364 gestione cambio prezzo solo quando possibile 2023-06-27 12:16:00 +02:00
zaccaria.majid cd74c11b58 ok cambio prezzo singola porta 2023-06-27 11:56:10 +02:00
zaccaria.majid 2055d4efbb fix gestione flusso stati 2023-06-27 11:33:53 +02:00
zaccaria.majid 9b782af373 continuo gestione stati 2023-06-27 10:39:53 +02:00
zaccaria.majid 2bcd575d00 ok avanzamento stati 2023-06-27 10:06:47 +02:00
zaccaria.majid fa747a144d ok cancellazione cache post cambio stato 2023-06-26 09:07:53 +02:00
zaccaria.majid 3324cf6d0e continuo gestione casistiche x flussi di status 2023-06-22 09:21:47 +02:00
zaccaria.majid cf9c1ebe0b inizio gestione step x admin 2023-06-21 17:14:33 +02:00
zaccaria.majid 9026dd4cf3 fix gestione step 2023-06-21 12:46:13 +02:00
zaccaria.majid aa327b3aad inizio gestione avanzamento step 2023-06-21 12:02:13 +02:00
zaccaria.majid 94334381fe ok avanzamento ordine 2023-06-21 10:05:48 +02:00
Samuele Locatelli a5f3553186 hide status x template 2023-06-15 16:05:47 +02:00
Samuele Locatelli 9facdffb8b Fix template translation (btn, title) 2023-06-15 16:04:21 +02:00
Samuele Locatelli 13fbeed6b6 fix refresh post modifica 2023-06-15 14:52:35 +02:00
Samuele Locatelli f000d4c026 Inserito Auto Refresh on save 2023-06-14 19:46:26 +02:00
Samuele Locatelli 37c6a50a59 Update gestione single instance hw x gestione ricalcolo variazioni 2023-06-14 19:26:16 +02:00
Samuele Locatelli 7e6d7c6f63 Minor fix display menu 2023-06-14 15:18:23 +02:00
Samuele Locatelli da6df5746d Fix btn opzioni utente 2023-06-14 14:29:50 +02:00
Samuele Locatelli 17316d6a91 refresh versione 2023-06-14 09:58:43 +02:00
Samuele Locatelli 8adf4583ea Update comportamento modifica modale della porta 2023-06-14 09:58:38 +02:00
Samuele Locatelli 82c118c4c0 update note modifica codice 2023-06-14 09:58:21 +02:00
zaccaria.majid 0f00d256a4 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-13 17:40:36 +02:00
zaccaria.majid ae43e93437 gestione template 2023-06-13 17:39:19 +02:00
Samuele Locatelli 9c309b08d6 OrdersHomePage:
- Inserita gestione check qty >=0 x doors
2023-06-13 17:24:59 +02:00
zaccaria.majid 5961177503 creati metodi per bulk delete 2023-06-13 12:34:32 +02:00
zaccaria.majid 01ec5f1f79 OK cancellazione da DB 2023-06-13 12:25:18 +02:00
zaccaria.majid 6d80b8e365 fix cancellazione da redis porta (All) 2023-06-13 12:16:37 +02:00
zaccaria.majid 9522ddc08f ancora fix chiavi redis 2023-06-13 12:08:15 +02:00
zaccaria.majid c468d9d91f fix redis pattern 2023-06-13 12:05:11 +02:00
zaccaria.majid 52acadda42 aggiunta eliminazione da cache 2023-06-13 11:56:37 +02:00
zaccaria.majid 4db5acc56f aggiunto metodo per ricerca porte con campo isLogicDel a true 2023-06-13 10:54:01 +02:00
zaccaria.majid aa138a1730 ok cancellazione logica 2023-06-13 10:38:40 +02:00
zaccaria.majid b96e26185c Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-13 10:16:26 +02:00
zaccaria.majid a25db706fb nascosti template 2023-06-13 10:16:21 +02:00
Samuele Locatelli 68edf14b63 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-13 10:15:44 +02:00
Samuele Locatelli 1e11207bcb update gest coda REDIS 2023-06-13 10:15:42 +02:00
zaccaria.majid a013269d66 minor fix 2023-06-13 09:45:17 +02:00
zaccaria.majid 8f241b2ff6 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-13 09:07:08 +02:00
zaccaria.majid 10b26de373 ok gestione add new order e currUserComp 2023-06-13 09:07:03 +02:00
Samuele Locatelli 17f1bccdcd hide dettagli in editing 2023-06-13 08:29:14 +02:00
Samuele Locatelli e8485980c7 Aggiunta conferma utente + componente pwd 2023-06-13 08:27:57 +02:00
Samuele Locatelli 009dd7b93b Fix display full width home 2023-06-12 18:53:59 +02:00
Samuele Locatelli 92aeac389d Fix img pagh DCOlogo --> DCALogo 2023-06-12 18:49:41 +02:00
Samuele Locatelli 58aa71dec7 Merge tag 'UpdateProdDemo-202230612-17' into develop
Fix home reload link
2023-06-12 18:43:08 +02:00
Samuele Locatelli 3b523cd439 Merge branch 'release/UpdateProdDemo-202230612-17' 2023-06-12 18:42:55 +02:00
Samuele Locatelli 3dd39917d5 Fix home reload x img 2023-06-12 18:42:37 +02:00
Samuele Locatelli edc3e68694 Aggiunta conf production x API 2023-06-12 17:46:41 +02:00
Samuele Locatelli acd41f59df Merge tag 'UpdateProdDemo-202230612-16' into develop
Fix display user code (QR, clipboard)
2023-06-12 17:29:34 +02:00
Samuele Locatelli fed099d0e1 Merge branch 'release/UpdateProdDemo-202230612-16' 2023-06-12 17:29:13 +02:00
Samuele Locatelli 7e7030922d Update x show/hide js x user details 2023-06-12 17:28:13 +02:00
Emmanuele Sassi cd32764c1e - resi configurabili ip e url per chiamate rest 2023-06-12 16:38:22 +02:00
Samuele Locatelli 29e2b138fb Merge tag 'UpdateProdDemo-202230612-15' into develop
update prod demo on IIS04
2023-06-12 15:48:14 +02:00
Samuele Locatelli 3d0b97b019 Merge branch 'release/UpdateProdDemo-202230612-15' 2023-06-12 15:48:00 +02:00
zaccaria.majid 2ca7a79101 gestione creazione cartelle in caso di salvataggio 2023-06-09 16:03:49 +02:00
zaccaria.majid dc80de7238 aggiunto metodo bulk save 2023-06-09 13:06:45 +02:00
zaccaria.majid 9a167b83bd inizio spacchettamento funzione di diff 2023-06-09 12:57:52 +02:00
Samuele Locatelli 5b190bfaa8 fix parziale direzione lavori 2023-06-09 11:47:57 +02:00
zaccaria.majid f4ef5b0781 ok gestione delete e insert nuovi record template 2023-06-09 10:27:43 +02:00
zaccaria.majid 312d350576 copia dei file da cartella nuova in caso di cartella vecchia vuota 2023-06-09 09:48:37 +02:00
Samuele Locatelli f4c6cc7322 Update x disambiguare var iterazione foreach in WDCService 2023-06-08 18:05:10 +02:00
zaccaria.majid d6055b640e ancora gestione tpl 2023-06-08 17:49:37 +02:00
zaccaria.majid e8d9f89e11 prima bozza import file con nuova gestione (buono) 2023-06-08 16:33:30 +02:00
zaccaria.majid d62538a395 refresh 2023-06-07 16:51:50 +02:00
zaccaria.majid 81bd020ceb aggiunto metodo di ricerca dooroptype per basepath 2023-06-07 16:51:41 +02:00
zaccaria.majid 8b66602575 fix scansione cartella B 2023-06-07 16:51:05 +02:00
zaccaria.majid 0350ac3b9f modificati modelli dati 2023-06-07 16:50:13 +02:00
zaccaria.majid cce404789c inizio gestione nuovi template 2023-06-07 12:54:45 +02:00
zaccaria.majid 000cb17acd inizio gestione nuovi template 2023-06-07 12:54:41 +02:00
zaccaria.majid 07725e03a3 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-07 12:15:36 +02:00
zaccaria.majid 950ffdfefb continuo gestione hwMan 2023-06-07 12:15:30 +02:00
Samuele Locatelli 21fc771292 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-07 12:09:40 +02:00
Samuele Locatelli 1e9f2e70a0 commit toDo 2023-06-07 12:09:36 +02:00
zaccaria.majid 59029ee106 refresh nomi 2023-06-07 10:35:34 +02:00
zaccaria.majid a26ab41fab modifica modello dati dooroptype aggiunte colonne:
-FileMD5
-FileDim
-LastMod
2023-06-07 10:35:17 +02:00
zaccaria.majid da423544ed ok esclusione hw non presenti nel file di config (CompoDDFOrder) 2023-06-07 09:21:56 +02:00
zaccaria.majid c517d130a2 fix grafico pagina voc lemmas 2023-06-06 17:48:35 +02:00
zaccaria.majid a56818a2c8 Continuo gestione vocabolari 2023-06-06 17:12:26 +02:00
zaccaria.majid ac115ac7ee ok gestione nuova dooroptypes 2023-06-06 11:56:56 +02:00
zaccaria.majid 43eba22eb3 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-06 11:19:22 +02:00
zaccaria.majid 5cac7224c6 inizio gestione hw 2023-06-06 11:16:42 +02:00
Emmanuele Sassi 6a03d1e107 Merge remote-tracking branch 'origin/develop' into ProcPipeComm 2023-06-06 10:53:43 +02:00
Emmanuele Sassi 3e51ab18d2 WebDoorCreator.CamSrv 2.5f1 :
- aggiunto numero di processi da avviare in ini
- aggiunta possibilita' di partenza processi all'avvio in ini
- aggiunto timer per reset della lista dei process
- gestita chiusura dell'ambiente egt
2023-06-06 10:53:23 +02:00
Samuele Locatelli 054230143f Refresh dati 2023-06-06 10:26:40 +02:00
Samuele Locatelli 83fd131287 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-06 10:18:00 +02:00
Samuele Locatelli 432edd8a26 Fix migrazione... 2023-06-06 10:17:16 +02:00
Samuele Locatelli a8e4709199 Inizio modifica con migration 2023-06-06 10:12:27 +02:00
zaccaria.majid 2608df99b5 fix insert dooroptype (aggiunta testata) 2023-06-06 09:02:40 +02:00
zaccaria.majid cc9ecfe515 ok aggiunta oggetti a tabella doorOpType 2023-06-06 08:50:32 +02:00
Samuele Locatelli 11a7b0ae61 Fix doppio translate... 2023-06-05 16:40:15 +02:00
Samuele Locatelli a32b271f55 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-05 16:39:15 +02:00
Samuele Locatelli fd638feb11 bozza translate x OrdersHomePage 2023-06-05 16:38:17 +02:00
zaccaria.majid 9ec5585e6b Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-05 16:21:40 +02:00
zaccaria.majid e4f2623a8e ancora layer traduzione 2023-06-05 16:20:41 +02:00
Samuele Locatelli afc1ff662c Fix migration + fix preparazione import DoorOpType 2023-06-05 16:10:42 +02:00
Samuele Locatelli 9428cbe9d3 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-05 11:01:27 +02:00
Samuele Locatelli 4cb28d6096 Update x controller calcolo costi 2023-06-05 11:01:16 +02:00
zaccaria.majid 0bfb7011c3 ok prima bozza traduzione 2023-06-05 10:24:53 +02:00
zaccaria.majid 3c797f50a9 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-05 09:07:11 +02:00
zaccaria.majid a19ec9810c fix vista orderstatus (sempre problema con typeId) 2023-06-05 09:07:06 +02:00
zaccaria.majid 7a9d7d7076 fix nome type id 2023-06-05 09:06:24 +02:00
Samuele Locatelli 68d4e3e64b Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-05 08:46:56 +02:00
Samuele Locatelli fdde929b65 company: mostrta solo x users DCA 2023-06-05 08:46:52 +02:00
zaccaria.majid 15b6ea7178 ancora delete dbmodel doortype 2023-06-05 08:37:27 +02:00
zaccaria.majid cdb892eb08 delete dbmodel doortype 2023-06-05 08:37:01 +02:00
zaccaria.majid 153e93010a fix bottone index solo se loggato 2023-06-05 08:31:30 +02:00
Samuele Locatelli 79081639b0 Fix migration + viemodel data 2023-06-05 08:20:46 +02:00
Samuele Locatelli af682e0270 Update pagina ordini 2023-06-01 19:17:37 +02:00
Samuele Locatelli a06dab15f2 Update punti aperti... 2023-06-01 19:17:32 +02:00
Samuele Locatelli 245d408176 Fix all status filter 2023-06-01 18:46:34 +02:00
Samuele Locatelli 588a31cb00 Fix filtro company in testata 2023-06-01 18:44:04 +02:00
Samuele Locatelli 811c121441 Fix pager a 12 porte, fix detail 2023-06-01 17:43:47 +02:00
Samuele Locatelli 83412394c3 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-01 17:03:03 +02:00
Samuele Locatelli 72b762b4b5 Update edit modale porta 2023-06-01 17:03:01 +02:00
zaccaria.majid b66ad4c3c0 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-01 16:59:26 +02:00
zaccaria.majid 00a55e6eb3 Ok modal template 2023-06-01 16:58:55 +02:00
Samuele Locatelli aac9ef28c6 DoorModal (and template):
- Fix clone con extCode + description
2023-06-01 16:36:30 +02:00
zaccaria.majid a4175a5681 fix aggiunta da template in ord 2023-06-01 16:00:04 +02:00
zaccaria.majid 50323a4939 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-01 14:34:45 +02:00
zaccaria.majid 5cd7e5a144 fix new door 2023-06-01 14:34:40 +02:00
Samuele Locatelli e8830f3993 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-01 13:06:01 +02:00
Samuele Locatelli 77ca902e88 Update modal x editing Door (da completare) 2023-06-01 13:05:58 +02:00
zaccaria.majid f022e6d930 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-01 12:51:40 +02:00
zaccaria.majid 67fc5cc549 inizio gestione nuova clone 2023-06-01 12:50:52 +02:00
Samuele Locatelli 253f3aefac fix naming x refresh 2023-06-01 12:35:40 +02:00
Samuele Locatelli f3c76418eb Fix duplicazione + gen SVG 2023-06-01 12:34:58 +02:00
Samuele Locatelli 8fe0517264 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-01 12:26:54 +02:00
Samuele Locatelli 850241c70d Fix duplicate door 2023-06-01 12:26:51 +02:00
zaccaria.majid 75e70191ff Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-01 12:22:23 +02:00
zaccaria.majid 0f9a08a033 aggiunta lista tpl custo 2023-06-01 12:22:19 +02:00
Samuele Locatelli f84e913839 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-06-01 12:16:52 +02:00
Samuele Locatelli 40cf14c77b Ok salvataggio su template 2023-06-01 12:16:00 +02:00
zaccaria.majid 1d844597b6 typo 2023-06-01 11:59:54 +02:00
zaccaria.majid feb41fe576 modal show 2023-06-01 11:53:50 +02:00
Samuele Locatelli 39d8bf85b9 Abbozzato invio template 2023-06-01 11:50:30 +02:00
Samuele Locatelli 39601df9e5 update contants x statusId dei template orders 2023-06-01 11:34:07 +02:00
zaccaria.majid 96616dcc3e Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-06-01 09:53:39 +02:00
zaccaria.majid 0003c52f28 inizio modale template 2023-06-01 09:53:14 +02:00
Samuele Locatelli 24f7b5384c refresh constants 2023-06-01 09:51:31 +02:00
Samuele Locatelli e46947f764 Aggiunta metodi x clone (fake) + gestione ord by comp/status (real) 2023-06-01 09:51:20 +02:00
Samuele Locatelli 97e21edf80 Aggiunta preliminare x template 2023-06-01 09:13:26 +02:00
zaccaria.majid e3dcbe2b61 ok comportamento close su fade offcanvas 2023-06-01 08:51:08 +02:00
zaccaria.majid 2f6f728be4 aggiunta vista company attuale 2023-06-01 08:41:59 +02:00
Samuele Locatelli 766db47525 Fix close ord 2023-06-01 08:19:08 +02:00
Samuele Locatelli 7511b16c6b Completato clone con SVG generati 2023-06-01 08:15:18 +02:00
Samuele Locatelli 000eca8057 ok clona (sbaglaito aprametro richiamato) 2023-06-01 08:00:51 +02:00
Samuele Locatelli dd30d2cbf6 OrdersHomePage:
- Ok nuova gestione modale
- ok crea nuovo
- ok btn add se selezionata company
... test clona NON ancora OK
2023-05-31 19:28:56 +02:00
Samuele Locatelli 83dd3bb553 Aggiunta stored varie + OrderCloning 2023-05-31 18:11:40 +02:00
Samuele Locatelli 303632843c Fix reload orderpage 2023-05-31 16:19:37 +02:00
Samuele Locatelli c047f78120 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-31 15:33:24 +02:00
Samuele Locatelli 24024ccfb3 Code refactor 2023-05-31 15:33:22 +02:00
zaccaria.majid 6f82912ac5 prova local storage 2023-05-31 15:31:37 +02:00
Samuele Locatelli d43338f467 Fix gestione elenco company x utente 2023-05-31 14:37:41 +02:00
Samuele Locatelli a5ba37a2f9 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-31 12:09:48 +02:00
Samuele Locatelli 8dc03b168b Update x UserManDataService 2023-05-31 12:09:12 +02:00
zaccaria.majid 1eb92662ae ok custom off canvas 2023-05-31 12:04:50 +02:00
Samuele Locatelli 7f8d21976f Update roles! 2023-05-31 08:36:56 +02:00
Samuele Locatelli d377f1a925 Update componente display QR + fix filtraggi vari 2023-05-30 21:42:32 +02:00
Samuele Locatelli b5fb438d5a LoginRequired comp aggiunto 2023-05-30 20:17:41 +02:00
Samuele Locatelli 6e0579e315 inizio fix navmenu
- ricostruzione servizi lettura dati utente x login
2023-05-30 20:07:01 +02:00
Samuele Locatelli 067ebdcc84 Fix Roles x UserAdmin 2023-05-30 19:54:19 +02:00
Samuele Locatelli dbbe25027a Fix problema modale che sovrascrive 2023-05-30 18:33:52 +02:00
Samuele Locatelli 16468e9daa Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-30 18:01:13 +02:00
Samuele Locatelli 603966b444 Fix update area step 1 2023-05-30 18:00:43 +02:00
Samuele Locatelli 1f51e15bb7 Update visualizzazione current step 2023-05-30 17:28:56 +02:00
Samuele Locatelli f12766047a ancora udpate post cambio par base 2023-05-30 17:09:46 +02:00
Samuele Locatelli 313871c18d Ok update in "uscita" DoorOp base 2023-05-30 17:09:32 +02:00
zaccaria.majid 4580483976 inizio fix gestione utenti x adminUser 2023-05-30 16:40:21 +02:00
Samuele Locatelli 4aecdf9074 fix radius bordi 4/5 2023-05-30 15:54:05 +02:00
Samuele Locatelli c0c1b180b3 Fix cancellazione logica 2023-05-30 11:47:28 +02:00
Samuele Locatelli 97d2e3f82f Fix componente razor x copy-clipboard 2023-05-30 10:15:04 +02:00
Samuele Locatelli 9ae5d21216 Fix fino a QRCode display 2023-05-30 09:45:51 +02:00
Samuele Locatelli cda829a2e2 Ancora typo fix 2023-05-30 09:43:10 +02:00
Samuele Locatelli 970fbd4531 Typo fix RumTime --> RunTime 2023-05-30 09:43:05 +02:00
Samuele Locatelli 2a85f0eca3 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-30 09:38:09 +02:00
Samuele Locatelli 3cbc717749 Update appunti claimConverter 2023-05-30 09:37:32 +02:00
zaccaria.majid c8ce515ba3 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-30 09:37:23 +02:00
zaccaria.majid 2c2b619854 prova copy ot clipboard 2023-05-30 09:37:00 +02:00
Emmanuele Sassi 9218ac7d5b WebDoorCreator.CamSrv 2.5e1 :
- aggiornata EgtUILib
- corretto colore di sfondo start e estop
2023-05-30 08:51:02 +02:00
Emmanuele Sassi c699d8e2e5 Merge remote-tracking branch 'origin/develop' into ProcPipeComm 2023-05-30 08:35:14 +02:00
Emmanuele Sassi 6da0285af3 - aggiunta EgtUILib per log
- aggiunta gestione istanze
- aggiunto controllo licenza su applicazione
- aggiunto bottone per killare tutti i process
2023-05-30 08:34:54 +02:00
Samuele Locatelli e04e8d939e Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-29 16:21:09 +02:00
Samuele Locatelli 2ab02fabdd COmpletato modifica x dati utente in cache redis 2023-05-29 16:20:30 +02:00
zaccaria.majid aeb9da08cb Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-29 12:42:07 +02:00
zaccaria.majid 1d5b1084e4 refresh versioni 2023-05-29 12:40:59 +02:00
zaccaria.majid aadb20a45b spostata gestione voc 2023-05-29 12:40:49 +02:00
zaccaria.majid 902b12267c fix grafico 2023-05-29 12:40:27 +02:00
zaccaria.majid acff028e5f aggiunto componente per gestione files (Bozza x file dei messaggi) 2023-05-29 12:40:08 +02:00
zaccaria.majid c9ee7a02fc separati metodi per scrittura definitiva su db e preparazione 2023-05-29 12:39:39 +02:00
Samuele Locatelli 13b83369ae Fix search panel users 2023-05-29 10:28:39 +02:00
Samuele Locatelli 21f330d1f7 Aggiunta gestione search 2023-05-29 10:26:28 +02:00
Emmanuele Sassi 0b5d4f4909 Merge remote-tracking branch 'origin/develop' into ProcPipeComm 2023-05-29 10:24:12 +02:00
Emmanuele Sassi b26f18575f - gestite pipe
- gestito riavvio processo
2023-05-29 10:23:48 +02:00
Samuele Locatelli 301b0a04e2 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-29 09:42:54 +02:00
Samuele Locatelli b899a16bc0 Fix filtro company! 2023-05-29 09:42:06 +02:00
zaccaria.majid 9b80e7b25c utilizzo metodo nuovo claims x nav menu 2023-05-29 09:15:49 +02:00
Samuele Locatelli c10327cdb0 refresh company id selector in edit 2023-05-27 10:58:00 +02:00
Samuele Locatelli 5029d6ef21 OK edit ruoli con refresh (2 check redis cache...) 2023-05-27 10:52:42 +02:00
Samuele Locatelli 89a810ee77 continuo merge comportamento UserAdmin da GWMS 2023-05-27 10:35:17 +02:00
Samuele Locatelli 6051750c95 update x momentane dismissione cache redis ricerca UserData 2023-05-27 10:08:06 +02:00
Samuele Locatelli 0b7b86b655 Merge branch 'feature/UserAdminFromGWMS' into develop 2023-05-26 19:06:36 +02:00
Samuele Locatelli 387bff34e2 Ancora spostamento metodi in classe gest user (cache redis) 2023-05-26 19:05:47 +02:00
Samuele Locatelli aff6a89b73 Inizio sistemazione cache redis x utenti 2023-05-26 18:01:35 +02:00
Samuele Locatelli 335557eb7c UserAdmin :
- Completata inclusione pagina da GWMS
- da completare pulizia parte NavManagerHorizontal
2023-05-26 17:00:41 +02:00
Samuele Locatelli f0405cfbe3 Merge branch 'feature/MoveReportRef' into develop 2023-05-26 12:08:55 +02:00
Samuele Locatelli 40fa485b33 Refresh riferimenti URL repo (tolti) 2023-05-26 12:08:47 +02:00
Samuele Locatelli 691deb40ee Aggiornata conf x recupero report da servizio locale app 2023-05-26 12:07:48 +02:00
Samuele Locatelli a4828875f7 Fix vista x OrdersStatus 2023-05-26 11:58:33 +02:00
Samuele Locatelli 5cac2f22ec Fix compilazione ruoli 2023-05-26 10:47:29 +02:00
zaccaria.majid 98de9ea6be Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-26 10:13:45 +02:00
zaccaria.majid 367e2be94c inizio fix claims 2023-05-26 10:12:50 +02:00
Samuele Locatelli 9a071bfc52 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-26 10:12:23 +02:00
Samuele Locatelli 6f320d38b5 RepViewer CORE:
- Completato report x ordini
- gestione integrata con stored
2023-05-26 10:11:23 +02:00
Samuele Locatelli ab3acadafe ancora update gest dataser report 2023-05-25 20:00:09 +02:00
Samuele Locatelli e27aff7ad2 Update gestione report con dataset espliciti da array 2023-05-25 20:00:02 +02:00
Samuele Locatelli 512f37654a Demo inclusione report in CORE class 2023-05-25 17:21:52 +02:00
zaccaria.majid 5a1f5c2da9 vari fix grafici 2023-05-25 17:06:30 +02:00
zaccaria.majid cc3b32f1d9 fix ricalcolo porta post save 2023-05-25 13:02:33 +02:00
zaccaria.majid 57d3f9433d fix report ordine 2023-05-25 08:04:08 +02:00
Samuele Locatelli 191ca5f2a2 WebDoorSrv:
- aggiunta in SDK metodi x reset della sola coda processing a request
2023-05-24 18:55:58 +02:00
Samuele Locatelli 1b491bd8a0 refresh ext prog, ma escluso da solution VB 2023-05-24 18:49:28 +02:00
Samuele Locatelli badf940391 Aggiunta gestione coda Processing con sblocco
- veto configurabile (5sec) prima di sbloccare
-gestione con chiamata REST
2023-05-24 17:58:59 +02:00
Samuele Locatelli e157770076 Refresh Ordine:
- Spostamento procedura calcolo DDF/SVG
- fix btn ricalcolo SVG
2023-05-24 16:22:42 +02:00
zaccaria.majid 6c8e118a46 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-24 15:51:50 +02:00
zaccaria.majid 1beb1c54d4 Aggiunto pulsante recalc 2023-05-24 15:51:44 +02:00
Samuele Locatelli d4d8cc9204 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-24 15:51:18 +02:00
Samuele Locatelli 77a7294cf0 Aggiunta servizio queue x reset da lista doors 2023-05-24 15:51:08 +02:00
zaccaria.majid c8ed62ad82 fix traduzione objId e card x hw single instance 2023-05-24 15:23:15 +02:00
zaccaria.majid c2eae8ad9e ok pulizia generale 2023-05-24 08:20:46 +02:00
zaccaria.majid 249035756f Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-24 08:00:28 +02:00
zaccaria.majid cabd291b63 inizio pulizia codice 2023-05-24 08:00:24 +02:00
Samuele Locatelli 2586f443b0 Merge tag 'UpdateDemoApp01' into develop
Update vari: versione, reports pdf, ...
2023-05-23 19:11:01 +02:00
Samuele Locatelli 1698e326a2 Merge branch 'release/UpdateDemoApp01' 2023-05-23 19:10:35 +02:00
Samuele Locatelli b2fed86c03 aggiunta btn ricalcolo sopra door preview 2023-05-23 19:09:43 +02:00
Samuele Locatelli c7218c0941 minor fix animazione 2023-05-23 19:02:02 +02:00
Samuele Locatelli 4beae1d55c Fix conf x download reports pdf 2023-05-23 18:57:40 +02:00
Samuele Locatelli 8be28cd5b6 Script calcolo release + integrazione build 2023-05-23 16:58:10 +02:00
Samuele Locatelli c3da3a0aa3 Setup iniziale file x rel calc 2023-05-23 16:52:41 +02:00
Samuele Locatelli d4a03a3fd6 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-23 16:37:40 +02:00
Samuele Locatelli 8df4d68fc2 Gestione cmp footer 2023-05-23 16:35:53 +02:00
zaccaria.majid fb070c030a fix creazione porta 2023-05-23 15:12:46 +02:00
Samuele Locatelli 393613cb1a Fix image missing x API 2023-05-23 11:45:46 +02:00
Samuele Locatelli a4e62dc681 Fix display ordini 2023-05-23 11:41:34 +02:00
Samuele Locatelli 8e2ea5c312 Update con ConfigTable x report & co 2023-05-23 10:22:56 +02:00
Samuele Locatelli 0da0fa9fa4 Merge tag 'AddImagePngService01' into develop
Fix compilazione senza classe Utils
2023-05-22 18:03:55 +02:00
Samuele Locatelli 0ba8cf6ef0 Merge branch 'release/AddImagePngService01' 2023-05-22 18:03:47 +02:00
Samuele Locatelli 5940e1262d Fix compilazione: rimozione classe utils (non necessaria) 2023-05-22 18:03:30 +02:00
Samuele Locatelli 1f9923ff8f Merge tag 'AddImagePngService' into develop
Aggiunto servizio png/svh in API x generazione img porta
2023-05-22 18:00:40 +02:00
Samuele Locatelli 06feff5655 Merge branch 'release/AddImagePngService' 2023-05-22 18:00:22 +02:00
Samuele Locatelli 1a498357c1 WebAPI:
- aggiunta doorImage service
- conversione png + svg inclusa
2023-05-22 17:59:57 +02:00
Samuele Locatelli e24a76accd Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-22 17:55:51 +02:00
Samuele Locatelli f7cf1727c9 Aggiunta in API export doorImage (SVG+PNG) 2023-05-22 17:55:48 +02:00
zaccaria.majid f93b79bbf0 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-22 17:07:58 +02:00
zaccaria.majid ac8e8a8682 fix grafico 2023-05-22 17:07:53 +02:00
Samuele Locatelli 635457aef5 Merge tag 'updateProdSite01' into develop
update sito in prod seriate.egalware x test remoti
2023-05-22 15:38:04 +02:00
Samuele Locatelli 057da27842 Merge branch 'release/updateProdSite01' 2023-05-22 15:37:41 +02:00
Samuele Locatelli 15d2d0244b ancora pubxml 2023-05-22 15:37:09 +02:00
Samuele Locatelli a5d7992b28 iis04:
- update pubxml
- fix png immagini
2023-05-22 15:37:02 +02:00
Samuele Locatelli 3997aa97e9 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-22 09:01:26 +02:00
Samuele Locatelli d10933c76e Update note to-do 2023-05-22 09:01:17 +02:00
zaccaria.majid 1d9ec9be58 fix grafico 2023-05-22 08:47:34 +02:00
Samuele Locatelli 11ca037e8e Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-19 17:25:13 +02:00
Samuele Locatelli bb078ac88f Ancora update x gestione API ordini 2023-05-19 17:25:11 +02:00
zaccaria.majid e9ff15f07f inizio recalc automatico post clone 2023-05-19 17:13:11 +02:00
zaccaria.majid fbfcb9d012 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-19 16:40:42 +02:00
zaccaria.majid 3cd968d148 fix bottoni porte 2023-05-19 16:40:37 +02:00
Samuele Locatelli 4f620f3441 Fix duplicati da merge repo 2023-05-19 16:33:35 +02:00
zaccaria.majid 4a5601c8c5 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-19 16:31:30 +02:00
zaccaria.majid b29398c673 ok modal 2023-05-19 16:30:55 +02:00
Samuele Locatelli 4a2808a955 Merge branch 'feature/CostingDtoSetup' into develop 2023-05-19 16:30:03 +02:00
Samuele Locatelli b02481ef33 Completato spostsamento servizio webdoor in DATA 2023-05-19 16:29:52 +02:00
Samuele Locatelli 8287ff68ef Spostamento DoorService in DATA (inizio) 2023-05-19 16:02:24 +02:00
Samuele Locatelli dc7ee1eb00 Inizio setup controller API 2023-05-19 16:02:09 +02:00
Samuele Locatelli 4d3eafc7e7 Aggiunta DTO Preliminari 2023-05-19 16:01:53 +02:00
zaccaria.majid c4f832cc59 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-19 15:29:29 +02:00
zaccaria.majid 6f7b917c12 Spostate tutte le pagine in SINGLE PAGE 2023-05-19 15:29:24 +02:00
Emmanuele Sassi 509e9c4c6b Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-19 12:25:41 +02:00
Emmanuele Sassi 0d803d552d - migliorata gestione perdita ping con riavvio quando torna
- aggiunti stati ping ed alive
2023-05-19 12:25:18 +02:00
zaccaria.majid 84e715f7d9 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-19 12:22:33 +02:00
zaccaria.majid f01f3542ac pulizia generale 2023-05-19 12:22:27 +02:00
Samuele Locatelli 4c0e96e89f Ancora qualche fix cambio colore/animazione 2023-05-19 12:11:07 +02:00
Samuele Locatelli cba65097ee Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-19 12:05:16 +02:00
Samuele Locatelli 3a3e3a3fd1 Demo animazione 2023-05-19 12:05:12 +02:00
zaccaria.majid 9beadf6e35 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-19 11:29:59 +02:00
zaccaria.majid a0580332f5 aggiunto bottone close 2023-05-19 11:29:52 +02:00
Emmanuele Sassi de7ab813bc Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-19 11:11:55 +02:00
Emmanuele Sassi f5e44de50c - migliorie gestione processi 2023-05-19 11:06:43 +02:00
Samuele Locatelli c6f8b9fc75 Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-19 10:53:35 +02:00
Samuele Locatelli c4922c3c23 update pagina test blocchi 2023-05-19 10:53:07 +02:00
zaccaria.majid 6213564693 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-19 10:51:43 +02:00
zaccaria.majid 61198818a5 Merge branch 'feature/doorOptModal' into develop 2023-05-19 10:50:53 +02:00
zaccaria.majid 5fb1f3a170 ok bulk add num porte 2023-05-19 10:46:39 +02:00
zaccaria.majid 725b847770 agginta delete door a modale 2023-05-19 10:38:49 +02:00
zaccaria.majid 0459a458de ok anteprima porta in modale 2023-05-19 09:58:50 +02:00
Samuele Locatelli bcfb5f3b13 modifica x test ping diretto 2023-05-19 09:58:36 +02:00
zaccaria.majid f354330756 aggiunto componente modale + comportamento chiusura 2023-05-19 08:42:29 +02:00
Samuele Locatelli 4d4b7c4cd0 Cache DDF --> settimana 2023-05-19 08:09:18 +02:00
zaccaria.majid 092315ccc8 bozza modal 2023-05-18 18:02:39 +02:00
Samuele Locatelli 014a52ad34 Aggiunto options display 2023-05-18 16:49:31 +02:00
Samuele Locatelli 36359ab59a Merge branch 'develop' of https://gitlab.steamware.net/egalware/webdoorcreator into develop 2023-05-18 16:47:25 +02:00
Samuele Locatelli 8d8b5931c4 Completata gestione comportamenti... 2023-05-18 16:46:50 +02:00
zaccaria.majid e8878df82e fix componenti fissi doorList 2023-05-18 16:39:38 +02:00
Samuele Locatelli 75409430c4 Aggiunto calcolo e display 3° cerchio 2023-05-18 15:58:55 +02:00
zaccaria.majid 7bb73093a7 fix grafico testata order 2023-05-18 15:58:06 +02:00
Samuele Locatelli 75a37728d3 inizio parametrizzazione cerchi opzionali 2023-05-18 15:43:58 +02:00
zaccaria.majid ea71e26a16 ok navigazione generale 2023-05-18 15:21:57 +02:00
zaccaria.majid d80d005925 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-18 13:11:37 +02:00
zaccaria.majid d8abd9d08c pulizia generale 2023-05-18 13:11:27 +02:00
Samuele Locatelli edb1778b82 Update x btn +/- 2023-05-18 13:11:13 +02:00
Samuele Locatelli 4c4b90a336 fix tab in missing grigia 2023-05-18 12:54:48 +02:00
Samuele Locatelli 8127654ce3 Fix missing img 2023-05-18 12:54:26 +02:00
zaccaria.majid 37e8ff9001 Aggiunto costo 2023-05-18 12:38:45 +02:00
zaccaria.majid 7a704f5a02 ok navigazione orders 2023-05-18 12:30:30 +02:00
zaccaria.majid 8086f27140 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-18 11:55:54 +02:00
zaccaria.majid 7b3fab1f31 Merge branch 'feature/animNavOrder01' into develop 2023-05-18 11:55:34 +02:00
zaccaria.majid 2cdb87496b ok spostato elemento doorDetails 2023-05-18 11:55:03 +02:00
Emmanuele Sassi a359b73191 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-18 11:18:36 +02:00
Emmanuele Sassi 731bd5ccdc - piccole modifiche per miglioramento gestione thread e restart 2023-05-18 11:18:25 +02:00
zaccaria.majid d50b167b9d inizio anim 2023-05-18 11:13:48 +02:00
Samuele Locatelli 2c02e27e5d fix tinta verde x plus 2023-05-18 11:12:14 +02:00
Samuele Locatelli 9193d45fb0 HwSvgObj:
- Fix comportamento buttons navigazione
- aggiunta svg
2023-05-18 11:08:36 +02:00
Samuele Locatelli 6eed928af5 ancora nuova modifica HwSvgObj x nuova modalità 2023-05-18 10:40:14 +02:00
Samuele Locatelli 9e65f9dce1 Modifica controllo sw x gestione HwInstance:
- ridotto num metodi
- gestione con actionReq
2023-05-18 10:39:59 +02:00
Samuele Locatelli e23d29a72a fix local launch settings 2023-05-18 08:05:50 +02:00
Samuele E. Locatelli (MBA) 955529ac1c update launchSettings 2023-05-17 21:34:43 +02:00
Samuele E. Locatelli (MBA) 78604b3f54 Update x link DoorsList + launch settings 2023-05-17 21:29:16 +02:00
Samuele E. Locatelli (MBA) c673dcc627 Update logo su nav menu top 2023-05-17 21:23:21 +02:00
Samuele E. Locatelli (MBA) 9ff4d56137 Conf x base url su IIS, con base, staging, prod 2023-05-17 21:14:21 +02:00
Samuele Locatelli 6844b6edd3 Modifiche x migliorare fit immagine svg porta:
- da testare con oggetto image + svg embedded
2023-05-17 19:25:29 +02:00
Samuele Locatelli 7d7d65e250 Fix conteggio istanze in HwDetails 2023-05-17 19:11:59 +02:00
Samuele Locatelli 4f92e44024 Fix vari rename ABH --> DCA 2023-05-17 18:52:52 +02:00
Samuele Locatelli cf7211e08e Aggiunta gestione delete singola porta 2023-05-17 18:40:19 +02:00
Samuele Locatelli 1f1bd8ebaa Fix ombreggiatura orderDetails 2023-05-17 16:17:52 +02:00
Emmanuele Sassi 41d67c3686 - correzione valutazione stato thread 2023-05-17 15:00:31 +02:00
Emmanuele Sassi b544524fd9 - migliorato riavvio 2023-05-17 14:49:04 +02:00
Emmanuele Sassi 4ab48e3b18 Merge intermedio 2023-05-17 14:02:58 +02:00
Emmanuele Sassi 2bcb89ba14 Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-17 13:49:51 +02:00
Emmanuele Sassi ead026a15e Merge branch 'develop' of https://gitlab.steamware.net/egalware-web/special/webdoorcreator into develop 2023-05-17 12:08:54 +02:00
Emmanuele Sassi 44e62b8798 - migliorata gestione riavvio thread 2023-05-17 12:04:24 +02:00
1380 changed files with 138304 additions and 6950 deletions
+21 -10
View File
@@ -99,6 +99,9 @@ WDC.Api:staging:
stage: staging
tags:
- win
environment:
name: staging
url: https://iis01.egalware.com/WDC/SRV/
variables:
APP_NAME: WebDoorCreator.API
SOL_NAME: WebDoorCreator.UI
@@ -111,6 +114,8 @@ WDC.Api:staging:
script:
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
- dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
## IIS 02
#- dotnet publish -p:PublishProfile=IIS02.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
WDC.UI:staging:
stage: staging
@@ -118,7 +123,7 @@ WDC.UI:staging:
- win
environment:
name: staging
url: https://iis01.egalware.com/GPW/WDC.UI
url: https://iis01.egalware.com/WDC/UI/
variables:
APP_NAME: WebDoorCreator.UI
SOL_NAME: WebDoorCreator.UI
@@ -139,7 +144,7 @@ WDC.Api:deploy:
- win
environment:
name: production
url: https://seriate.egalware.com/GPW/WDC.UI
url: https://wdc.egalware.com/SRV/
variables:
APP_NAME: WebDoorCreator.API
SOL_NAME: WebDoorCreator.UI
@@ -151,15 +156,18 @@ WDC.Api:deploy:
- dotnet restore "$env:SOL_NAME.sln"
script:
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
# IIS 02
- dotnet publish -p:PublishProfile=IIS02.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
# IIS PROD
- dotnet publish -p:PublishProfile=IIS-PROD.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
# IIS OVH IIS01
- dotnet publish -p:PublishProfile=IIS-OVH-IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=steamware -p:Password=$WDC_IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
# IIS OVH IIS02
- dotnet publish -p:PublishProfile=IIS-OVH-IIS02.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=steamware -p:Password=$WDC_IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
WDC.UI:deploy:
stage: deploy
tags:
- win
environment:
name: production
url: https://wdc.egalware.com/UI/
variables:
APP_NAME: WebDoorCreator.UI
SOL_NAME: WebDoorCreator.UI
@@ -171,10 +179,13 @@ WDC.UI:deploy:
- dotnet restore "$env:SOL_NAME.sln"
script:
- dotnet build $env:APP_NAME/$env:APP_NAME.csproj
# IIS EXT
- dotnet publish -p:PublishProfile=IIS02.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
# IIS INT
- dotnet publish -p:PublishProfile=IIS-PROD.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
# IIS OVH IIS01
- dotnet publish -p:PublishProfile=IIS-OVH-IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=steamware -p:Password=$WDC_IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
# IIS OVH IIS02
- dotnet publish -p:PublishProfile=IIS-OVH-IIS02.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=steamware -p:Password=$WDC_IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
## IIS PROD
#- dotnet publish -p:PublishProfile=IIS-PROD.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=$IIS_PWD -p:AllowUntrustedCertificate=true -p:verbosity=quiet $env:APP_NAME/$env:APP_NAME.csproj
# ---------- RELEASE ----------
WDC.Api:release:
+101 -25
View File
@@ -1,11 +1,34 @@
# Elenco ToDo
Di seguito l'elenco dei todo da completare
## Framework
Traduzione OVUNQUE x ogni termine/etichetta/button
Importante:
- [ ] Traduzione OVUNQUE x ogni termine/etichetta/button..
## Modello dati
Da sistemare
- [x] Eliminazione dell'oggetto DoorType (navigazione, tab db)
- [x] creare nuova migration + update DB x fix TypeDoor
- [x] Verificare che le porte duplicate (da template o da stesso ordine) riportino in TypeId il cod porta originale e che le altre abbiano 1
- [x] verificare eventualmente cambio nome campo TypeId --> DoorIdParent
## Pagine
### UIX generale
Verifiche generali
- [ ] pulsanti update(save)/cancel
- [ ] omogenei (colore, icona, x forma cerchio/quadrato vediamo...)
- [ ] valutazione omogeneità forma (cerchio/quadrato... normalizzare? al contrario differenziare?)
- [ ] icone di update che siano omogenee
- [ ] pulsanti operativi siano omogenei
- [ ] selettori a tendina da omogeneizzare
### HOME page
... non saprei, forse link a
@@ -17,52 +40,105 @@ Traduzione OVUNQUE x ogni termine/etichetta/button
### Orders Home page
Per completare
- <del>aggiunta paginatore</del>
- <del>aggiunta stato ordine</del>
- <del>aggiunta filtri ricerca
- [x] aggiunta paginatore
- [x] aggiunta stato ordine
- [x] aggiunta filtri ricerca
- periodo da-a
- search generico
- stato ordine</del>
- <del>ordinamento</del>
- stato ordine
- [x] ordinamento
- [ ] aggiungere data promessa consegna: dato sul db, valore default (+30gg?), gestione filtro...
- [x] aggiungere calcolo (FAKE) dei prezzi
- [x] aggiungere company x ordini (x viste DCA almeno)
- [x] gestione modifica descrizione/codice ordini (da p\rte del cliente finale)
- [x] aggiunta gestione DCA x conferma prezzi e tempistiche
- [x] aggiunta gestione DCA x approvazione ordini
- [ ] verifica HW con Filippo/Emmanuele da info ABH/Kit
- [ ] verificare significato della dicitura "Model Number": cosa indica esattamente? è corretta sul db? è calcolata correttamente da interfaccia?
### DCA Order Man
### DCA Order Mans
FORSE la Orders home Page NON VA bene x gli utenti backoffice, oppure va estesa, perché x confermare quotazione, indicare avanzamento ordini gli operatori ABH/DCA devono avere una pagina operativa...
### OrderDetails
Per completare:
- <del>aggiunta button x il cambio stato da end-user</del>
- <del>sistemare con paginatore max 3 righe x 4 porte</del>
- <del>fix button verde add-new</del>
- [x] aggiunta button x il cambio stato da end-user
- [x] sistemare con paginatore max 3 righe x 4 porte
- [x] fix button verde add-new
- [x] ombreggiatura blocco
- [x] gestione calcolo prezzi (fake, random)
### DoorDefinition BaseParams
- <del>conteggio num modifiche da salvare</del>
- <del>armonizzare il cancel/save nella pagina</del>
- <del>revisione testata fino al btn del salva generale</del>
- <del>sostituire il salva generale con 2 buttons:
- [x] conteggio num modifiche da salvare
- [x] armonizzare il cancel/save nella pagina
- [x] revisione testata fino al btn del salva generale
- [x] sostituire il salva generale con 2 buttons:
- salva, o meglio RECALC PNG = update PNG, potrebbe andare in automatico DOPO i vari SALVA nella pagina (opzione x auto-recalc?!?)
- get 3D obj (in new window/tab)</del>
- get 3D obj (in new window/tab)
- [x] delete singola porta da ordine
- [x] navigazione in ritorno come da FIGMA in HwNewInst
- [x] refresh conteggi su approvazione
- [x] conteggio istanze in aggiunta HW
### DoorDefinition Hardware
Sistemare:
- <del>da implementare davvero lettura pdf (da cartella pdf di esempi)</del>
- <del>fix cancel/save: globale x Hardware oppure x ognuno con icona?</del>
- verificare perché NON si aggiorna al salvataggio pagina dei 18 hw
- <del>mancano il totale componenti x ogni hw attivato</del>
- [x] da implementare davvero lettura pdf (da cartella pdf di esempi)
- [x] fix cancel/save: globale x Hardware oppure x ognuno con icona?
- [x] verificare perché NON si aggiorna al salvataggio pagina dei 18 hw
- [x] mancano il totale componenti x ogni hw attivato
- [x] aggiungere icone/immagini x gli HW da inserire nelle porte
### Import componenti DOOR
Procedura per import componenti, sempre GLOBALE (= TUTTI)
- [x] definizione cartelle di base:
- [x] (A) R:\WebDoor\CurComp x componenti ATTUALI/cottenti/approvati
- [x] (B) R:\WebDoor\NewComp x componenti DA valutare x import
- [x] scansione della cartella (B)
- [x] ciclo x ogni file della cartella B
- [x] rilevo path (assoluto e relativo = togliendo parte (B))
- [x] calcolo MD5
- [x] rilevo lenght
- [x] rilevo last mod
- [ ] cerco sul DB record x il PATH (RELATIVO) in oggetto (opzionalmente unique sul db)
- [ ] salvo datetime = adesso
- [ ] in base alla verifica precedente mi tengo set in memoria dalla lista del DB con
- [ ] NON trovo record --> registro nuovo record, con stato = new (=1)
- [ ] trovo record
- [ ] SE cambia MD5/lenght/(last mod?) --> registro stato MOD (=2) + lastCheck = adesso
- [ ] se NON cambia --> registro lastCheck = adesso + stato CONFIRM ( =0)
- [ ] verifico TUTTI i record del DB, e quelli con lastCheck < adesso --> segno come ELIMINATI (=3)
- [ ] step di check puntuale: TUTTI quelli con stato > 0 sono mostrati x azione (1 check x ogni riga, con seleziona tutti/nessuno)
- [ ] l'utente deve poter VEDERE la differenza tra i file (modificati) di (A) e (B) (con diff tramite modale, ...)
- [ ] l'utente checca 0/+ righe e clicca su CONFERMA: si cicla x TUTTE le righe checked x aggiornarle sul DB
- [ ] le righe NUOVE confermate --> sono registrate (con valid from...), stato CONFIRM ( =0), viene copiato file/cartelle da (B) ad (A)
- [ ] le righe modificate --> si registra modifica, stato CONFIRM ( =0), viene sovrascritto/sostituito file/cartelle da (B) ad (A)
- [ ] le righe eliminate --> si imposta cancellazione logica (validUntil), stato DELETED ( =-1), viene sovrascritto/sostituito file/cartelle da (B) ad (A)
- [ ] le righe NON checked, ma NON aggiorno sul DB:
- [ ] se erano nuove (=1) --> elimino dal DB (e NON copio folder)
- [ ] se erano modificate (=2) --> riporto a stato precedente (0/-1) (e NON copio)
- [ ] se erano eliminate (=3) --> riporto a 0 (e NON faccio nulla)
#### Report
<del>Va inserita una lista dei componenti + elenco quote.</del>
Va pensato esportabile in pdf, comprensivo di "check pdf fatto da tizio alle ..."
- [x] Va inserita una lista dei componenti + elenco quote.
- [x] Esportabile in pdf, comprensivo di "check pdf fatto da tizio alle ..."
## Componenti
- [x] costruire libreria componenti (ad esempio waiter/loader) da siti di esempio componenti in EgwCoreLib.Razor --> ProgressBar e nuovi Loader
### Top
Da sistemare
- <del>btn effettivi</del>
- <del>dinamico da user-role?</del>
- <del>fix responsive</del>
- [x] btn effettivi
- [x] dinamico da user-role?
- [x] fix responsive
Binary file not shown.
+2 -2
View File
@@ -307,6 +307,6 @@ In particular we expect to have some data auto-calculated (ex time from CAM), wh
| Date | Edit | Version | Note |
|------------|----------------|:-------:|-----------------:|
| 2022.11.09 | S.E. Locatelli | 0.2 | Draft completion |
| 2022.11.03 | S.E. Locatelli | 0.1 | Initial draft |
| 2023.03.21 | Z. Majid | 0.4 | Grammar Fixes |
| 2022.11.09 | S.E. Locatelli | 0.2 | Draft completion |
| 2023.03.21 | Z. Majid | 0.4 | Grammar Fixes |
Binary file not shown.
+58
View File
@@ -0,0 +1,58 @@
# Appunti fix vari
La sistemazione è gestita direttametne con commit git...
## Traduzione
Ci sono ancora lemmi di interfaccia gestiti come numerici, NON è lo standard definito:
- ok a lemmi "UI_"
- lemmi devono essere "self explaining"
- eventualmente nel naming il cosa/dove, accettabile **UI_BtnOk** o **UI_BtnKo**, ma anche **UI_OrderPage_title**
... da sistemare GLOBALMENTE (= Zac...) x gli esistenti, mi occupo di creare correttamente solo i nuovi...
## NavMenuHorizontal
Ci sono alcne cose che non funzionano:
- i pulsanti si disallineano (icona/testo) con size schermo sotto fhd (va gestito almeno da 1376 in orizzontale...)
![Buttons KO](images/NoteFix_01.png "Buttons KO")
- typo: flex warp indica che la pagina deve caricarsi a velocità warp (superluminare) come in star trek? MAGARI!!!!
```csharp
<AuthorizeView Roles="SuperAdmin" Context="MenuHide">
<Authorized>
<div class="nav-item px-3 d-flex flex-warp align-items-center">
<NavLink class="nav-link" href="TemplateMan">
<span class="fa-solid fa-paint-roller pe-2" aria-hidden="true"></span> Template Management
</NavLink>
</div>
</Authorized>
</AuthorizeView>
```
- il navbar toggler che non funziona...
- opzioni utente con username (email) x esteso: troppo grande, ridotto
## Modale Door
La pagina modale della porta permetteva sia la modifica imperativa delle quantità che la modifica del resto gestita tramite controllo CurrDoor / CurrDoorClone per approvare/annullare intervento complessivo
Questo portava ad una situazione di errore in caso di modifica (es descrizioen door) + modifica quantità
Eliminato metodo esplicito modifica quantità (da service + DB), gestito come modifica "locale" del dato qta (che quindi eredita il controllo qty >=0)
## Modale Ordini
- Aggiunta modale x editing ordine cliente
- Aggiunta modale x gestione editing DCA (data consegna...)
## HwSingleInstance
La gestione del calcolo "variato" non funziona bene/sempre
- errori in fase di calcolo
- usare funzione come check è sub ottimale
- i valori creati x clone NON sono veri cloni (di fatto punta ad obj originali)
--> riscritta logica vaori originali/correnti ed editing...
BIN
View File
Binary file not shown.
+3
View File
@@ -0,0 +1,3 @@
Per sistemare il manuale da ilias copiare il file delos.css qui allegato in
C:\Users\samuele.steamw\source\WebDoorCreator\WebDoorCreator.UI\wwwroot\help\templates\default
+20127
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.
File diff suppressed because one or more lines are too long
+29
View File
@@ -0,0 +1,29 @@
<body>
<i>WebDoorCreator - Egalware</i>
<h4>Version: {{CURRENT-REL}}</h4>
<br /> Release note:
<ul>
<li>
<b>Last Changes:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.0.* &rarr;</b>
<ul>
<li>First CORE UI</li>
<li>First CORE API rest services</li>
<li>integration with EgtEngine server</li>
<li>Release dotnet6</li>
<li>EFCore Engine</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="LogoEgw.png" />
</div>
<div style="float: right;">
<a href="https://www.egalware.net/" target="_blank">&copy; Egalware 2022+</a>
</div>
</div>
</body>
+29
View File
@@ -0,0 +1,29 @@
<body>
<i>WebDoorCreator - Egalware</i>
<h4>Version: 0.9.2505.1316</h4>
<br /> Release note:
<ul>
<li>
<b>Last Changes:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.0.* &rarr;</b>
<ul>
<li>First CORE UI</li>
<li>First CORE API rest services</li>
<li>integration with EgtEngine server</li>
<li>Release dotnet6</li>
<li>EFCore Engine</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="LogoEgw.png" />
</div>
<div style="float: right;">
<a href="https://www.egalware.net/" target="_blank">&copy; Egalware 2022+</a>
</div>
</div>
</body>
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

+1
View File
@@ -0,0 +1 @@
0.9.
+1
View File
@@ -0,0 +1 @@
0.9.2505.1316
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>1.0.0.0</version>
<url>http://nexus.steamware.net/repository/SWS/{{DIRNAME}}/{{BRANCHNAME}}/{{PACKNAME}}.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/{{DIRNAME}}/{{BRANCHNAME}}/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>0.9.2505.1316</version>
<url>http://nexus.steamware.net/repository/SWS/WDC/stable/WDC.UI.zip</url>
<changelog>http://nexus.steamware.net/repository/SWS/WDC/stable/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>
+75
View File
@@ -0,0 +1,75 @@
// See https://aka.ms/new-console-template for more information
using System.Diagnostics;
int lineCount = 0;
void OutputHandler(object sender, DataReceivedEventArgs e)
{
if (!string.IsNullOrEmpty(e.Data))
{
Console.WriteLine($"RIPOSTA PROCESSO [{lineCount}] - {e.Data}");
if (e.Data == "SUCCESS")
{
lineCount += 1;
}
}
};
var domanda = "Sai chi ti saluta tantissimo?";
Console.WriteLine(domanda);
// Create a new process object
Process p = new Process();
// Specify the file name of the external exe
p.StartInfo.FileName = @"C:\Temp\TestEcho.bat";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
//var stdIn = p.StandardInput;
p.OutputDataReceived += (s, e) => OutputHandler(s, e);
// Optionally, specify any arguments for the exe
//p.StartInfo.Arguments = domanda;
// Start the process
p.Start();
p.StandardInput.WriteLine(domanda);
p.BeginOutputReadLine();
while (!p.HasExited)
{
//Console.WriteLine(output.ToString());
Thread.Sleep(500);
//var inVar = Console.ReadLine();
//// mando nuovo input...
//p.StandardInput.WriteLine(domanda);
Thread.Sleep(500);
// mando nuovo input...
p.StandardInput.WriteLine(domanda);
Thread.Sleep(500);
// mando nuovo input...
p.StandardInput.WriteLine(domanda);
Thread.Sleep(500);
// mando nuovo input...
p.StandardInput.WriteLine(domanda);
Thread.Sleep(500);
// mando nuovo input...
p.StandardInput.WriteLine("escape");
}
// Optionally, wait for the process to exit
p.WaitForExit();
p.Close();
Console.WriteLine("Ho finito...");
Console.WriteLine("...press return to close");
Console.ReadLine();
+10
View File
@@ -0,0 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
@@ -0,0 +1,146 @@
using Microsoft.AspNetCore.Mvc;
using NLog;
using SkiaSharp;
using Svg;
using Svg.Skia;
using System.Drawing;
using WebDoorCreator.Data.Services;
#if false
using SkiaSharp;
using Svg.Skia;
#endif
namespace WebDoorCreator.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class DoorImageController : ControllerBase
{
#region Public Constructors
public DoorImageController(IConfiguration configuration, QueueDataService cQDService, WebDoorCreatorService cWDCService)
{
Log.Info("Starting DoorImageController");
_configuration = configuration;
WaitReloadSvg = _configuration.GetValue<int>("RuntimeOpt:WaitReloadSvg");
QDService = cQDService;
WDService = cWDCService;
Log.Info("Avviato DoorImageController");
}
#endregion Public Constructors
#region Public Methods
// GET: api/Alive
[HttpGet]
public string Get()
{
return "OK";
}
[HttpGet("GetImage.png")]
public async Task<IActionResult> GetImagePng(int DoorId)
{
byte[] result = new byte[0];
string svgContent = await QDService.DoorGetLastSvg(DoorId);
// se fosse vuoto...
if (string.IsNullOrEmpty(svgContent))
{
// richiede ricalcolo img
svgContent = await SendRecalcReq(DoorId);
}
// se fosse vuoto...
if (string.IsNullOrEmpty(svgContent))
{
// legge img vuota
svgContent = QDService.DoorGetMissingSvg();
}
// ora prosegue con conversione...
if (!string.IsNullOrEmpty(svgContent))
{
using (var svg = new SKSvg())
{
if (svg.FromSvg(svgContent) is { })
{
using (var stream = new MemoryStream())
{
svg.Picture?.ToImage(stream, SKColors.Empty, SKEncodedImageFormat.Png, 100, 1f, 1f, SKColorType.Rgba8888, SKAlphaType.Unpremul, SKColorSpace.CreateSrgb());
result = stream.ToArray();
}
}
}
}
return File(result, "image/png");
}
[HttpGet("GetImage.svg")]
public async Task<IActionResult> GetImageSvg(int DoorId)
{
string svgContent = await QDService.DoorGetLastSvg(DoorId);
// se fosse vuoto...
if (string.IsNullOrEmpty(svgContent))
{
// richiede ricalcolo img
await SendRecalcReq(DoorId);
// legge img vuota
svgContent = QDService.DoorGetMissingSvg();
}
var result = System.Text.Encoding.UTF8.GetBytes(svgContent);
return File(result, "image/svg+xml");
}
#endregion Public Methods
#region Private Fields
private static IConfiguration _configuration = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
private int WaitReloadSvg = 100;
#endregion Private Fields
#region Private Properties
private QueueDataService QDService { get; set; } = null!;
private WebDoorCreatorService WDService { get; set; } = null!;
#endregion Private Properties
#region Private Methods
/// <summary>
/// Invio richiesta ricalcolo porta
/// </summary>
/// <param name="DoorId"></param>
/// <returns></returns>
private async Task<string> SendRecalcReq(int DoorId)
{
string answ = "";
// richiede ricalcolo img
List<string> doorIdList = new List<string>() { $"{DoorId}" };
// chiamo reset richieste
var list2Proc = await QDService.ResetQueueByDoorList(doorIdList);
// recupero DDF ed invio x processing
if (DoorId > 0)
{
string currDDF = await WDService.DoorOpGetDDF(DoorId);
// versione corrente del DDF generato
int currVers = await QDService.SendCalcReq(DoorId, currDDF);
}
// attende ...
await Task.Delay(WaitReloadSvg);
// riprova lettura
answ = await QDService.DoorGetLastSvg(DoorId);
return answ;
}
#endregion Private Methods
}
}
@@ -0,0 +1,144 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using NLog;
using WebDoorCreator.Data.DTO;
using WebDoorCreator.Data.Services;
namespace WebDoorCreator.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class OrderController : ControllerBase
{
public OrderController(IConfiguration configuration, WebDoorCreatorService DataService)
{
Log.Info("Starting OrderController");
_configuration = configuration;
WDCService = DataService;
Log.Info("Avviato OrderController");
}
/// <summary>
/// GET: api/Order
/// </summary>
/// <returns></returns>
[HttpGet]
public string Get()
{
return "OK";
}
/// <summary>
/// GET: api/Order/GetCurrent
/// Recupera ordini dato id cliente + stato ordini (limitato a ultimi 6 mesi)
/// </summary>
/// <returns></returns>
[HttpGet("GetCurrent")]
public async Task<List<int>> GetCurrent(int id, int ordStatus)
{
List<int> answ = new List<int>();
DateTime dtEnd = DateTime.Now;
DateTime dtStart = dtEnd.AddMonths(-6);
var rawData = await WDCService.OrderStatusGetFilt(id, ordStatus, dtStart, dtEnd);
if (rawData != null)
{
answ = rawData.Select(x => x.OrderId).ToList();
}
return answ;
}
/// <summary>
/// Order detail for cost evaluation
/// </summary>
/// <param name="OrderId"></param>
/// <returns></returns>
[HttpGet("GetDetail")]
public async Task<OrderDetailsDTO> GetDetail(int OrderId)
{
OrderDetailsDTO answ = new OrderDetailsDTO()
{
OrderId = OrderId
};
// recupero info ordine
var rawOrder = await WDCService.OrderGetByKey(OrderId);
if (rawOrder != null && rawOrder.CompanyNav != null)
{
answ.OrderDescript = rawOrder.OrderDescript;
answ.OrderExtCode = rawOrder.OrderExtCode;
// recupero info customer
CustomerDTO customer = new CustomerDTO()
{
Address = rawOrder.CompanyNav.Address,
City = rawOrder.CompanyNav.City,
CompanyExtCode = rawOrder.CompanyNav.CompanyExtCode,
CompanyId = rawOrder.CompanyNav.CompanyId,
CompanyName = rawOrder.CompanyNav.CompanyName,
State = rawOrder.CompanyNav.State,
VAT = rawOrder.CompanyNav.VAT,
ZipCode = rawOrder.CompanyNav.ZipCode
};
answ.CustomerInfo = customer;
// recuper elenco porte...
List<DoorCostingDTO> dcDTO = new List<DoorCostingDTO>();
var doorsList = await WDCService.DoorGetByOrderId(OrderId);
if (doorsList != null)
{
foreach (var door in doorsList)
{
// recupero i dato DoorOp
var doorOpList = await WDCService.DoorOpGetByDoorId(door.DoorId);
Dictionary<string, List<string>> currBOMList = new Dictionary<string, List<string>>();
// ciclo su tutte le DoorOp
foreach (var doorOp in doorOpList)
{
// cerco se ci sia già o meno nella BOM l'item corrente
if (currBOMList.ContainsKey(doorOp.ObjectId))
{
currBOMList[doorOp.ObjectId].Add(doorOp.JsoncActVal);
}
else
{
List<string> currOp = new List<string>();
currOp.Add(doorOp.JsoncActVal);
currBOMList.Add(doorOp.ObjectId, currOp);
}
}
// creo oggetto DTO finale della porta
var doorDto = new DoorCostingDTO()
{
DoorId = door.DoorId,
Quantity = door.Quantity,
EstimatedWorkTime = 0,
BOMList = currBOMList
};
dcDTO.Add(doorDto);
}
}
//answ. = rawOrder.OrderDescript;
answ.DoorsList = dcDTO;
}
// popolo con dati specifica...
return answ;
}
/// <summary>
/// Door price update for order's cost evaluation
/// </summary>
/// <param name="EvalResults">list of DoorPriceDTO with UnitPrices</param>
/// <returns></returns>
[HttpPost("DoorPriceUpdate")]
public async Task<string> DoorPriceUpdate(List<DoorPriceDTO> EvalResults)
{
string answ = "NA";
var updateSet = EvalResults
.Where(x => x.Valid)
.ToDictionary(x => x.DoorId, x => x.UnitCost);
bool fatto = await WDCService.DoorUpdateCosts(updateSet);
answ = fatto ? "OK" : "NO";
return answ;
}
private static IConfiguration _configuration = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
private WebDoorCreatorService WDCService { get; set; } = null!;
}
}
@@ -1,5 +1,7 @@
using Microsoft.AspNetCore.Mvc;
using NLog;
using System.Diagnostics;
using WebDoorCreator.Core;
using WebDoorCreator.Data.DTO;
using WebDoorCreator.Data.Services;
@@ -11,12 +13,22 @@ 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;
logTimingEnable = configuration.GetValue<bool>("RuntimeOpt:LogTimingEnable");
QDataServ = DataService;
Log.Info("Avviato QueueController");
WDService = _WDService;
// aggiungo..
string statName = "QueueController";
bool doWrite = QDataServ.StatUpsert(statName, new TimeSpan(), 5).Result;
// se campione "pieno"...
if (doWrite)
{
// recupero e resetto
ExecStats statRec = QDataServ.StatReset(statName).Result;
Log.Trace($"Avviato QueueController x {statRec.NumCall}");
}
}
#endregion Public Constructors
@@ -81,6 +93,46 @@ namespace WebDoorCreator.API.Controllers
return answ;
}
/// <summary>
/// Reset della coda di processing x evitare condizioni di "stuck in calc"
/// </summary>
/// <returns></returns>
[HttpPost("ResetQueueProcessing")]
public async Task<string> ResetQueueProcessing()
{
string answ = "NA";
// fixme todo
/* --------------
* da riscrivere
* - 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) OK
* - check delle code processing, SE ci sono record rimasti li cerco sul DB
* - se NON ci sono sul db --> li elimino da processing
* - effettivo delete sul db di toDelete
*
* - proseguo come ora (sposto tra code processing --> request)
*/
var doors2Del = await WDService.DoorGet2Del();
if (doors2Del != null)
{
foreach (var item in doors2Del)
{
await WDService.RedisBulkDelByDoorId(item.DoorId);
await QDataServ.RedisBulkDelHashByKey(item.DoorId);
await WDService.DoorDelete(item);
}
}
bool fatto = await QDataServ.ResetQueueProcessing();
answ = fatto ? "OK" : "NO";
return answ;
}
/// <summary>
/// Invio elenco risultati elaborazioni (modalità boolean di esecuzione corretta)
/// </summary>
@@ -92,6 +144,7 @@ namespace WebDoorCreator.API.Controllers
string answ = "NA";
bool fatto = await QDataServ.SaveProcessingResult(calcResults);
answ = fatto ? "OK" : "NO";
Log.Debug("Eseguito SaveProcResult");
return answ;
}
@@ -102,6 +155,11 @@ namespace WebDoorCreator.API.Controllers
[HttpGet("StatusList")]
public async Task<Dictionary<string, Dictionary<string, string>>> StatusList()
{
Stopwatch sw = new Stopwatch();
if (logTimingEnable)
{
sw.Start();
}
Dictionary<string, Dictionary<string, string>> answ = new Dictionary<string, Dictionary<string, string>>();
var actPend = await QDataServ.RequestPending();
answ.Add("pending", actPend);
@@ -114,6 +172,20 @@ namespace WebDoorCreator.API.Controllers
var actDone = await QDataServ.RequestDone();
answ.Add("done", actDone);
if (logTimingEnable)
{
sw.Stop();
// aggiungo..
string statName = "StatusList";
bool doWrite = await QDataServ.StatUpsert(statName, sw.Elapsed, 5);
// se campione "pieno"...
if (doWrite)
{
// recupero e resetto
ExecStats statRec = await QDataServ.StatReset(statName);
Log.Info($"Eseguito {statName} x {statRec.NumCall} | {statRec.AvgTime.TotalMilliseconds:N3}ms");
}
}
return answ;
}
@@ -124,9 +196,10 @@ namespace WebDoorCreator.API.Controllers
/// </summary>
/// <returns></returns>
[HttpGet("TakeNextItems")]
public async Task<Dictionary<string, string>> TakeProcessingItems(int numItems = 10)
public async Task<Dictionary<string, CalcReqtDTO>> TakeProcessingItems(int numItems = 10)
{
var actQueue = await QDataServ.TakeProcessingItems(numItems);
Log.Debug($"Eseguito TakeProcessingItems per {numItems} items");
return actQueue;
}
@@ -134,15 +207,17 @@ namespace WebDoorCreator.API.Controllers
#region Private Fields
private static IConfiguration _configuration = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
private IConfiguration _configuration = null!;
private bool logTimingEnable = false;
#endregion Private Fields
#region Private Properties
private QueueDataService QDataServ { get; set; } = null!;
private WebDoorCreatorService WDService { get; set; } = null!;
#endregion Private Properties
}
@@ -0,0 +1,155 @@
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Microsoft.Reporting.NETCore;
using NLog;
using System.Data;
using ToDataTable;
using WebDoorCreator.Core.ReportViewer;
using WebDoorCreator.Data.Services;
namespace WebDoorCreator.API.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class ReportController : ControllerBase
{
#region Public Constructors
public ReportController(IConfiguration configuration, WebDoorCreatorService DataService)
{
Log.Info("Starting ReportController");
_configuration = configuration;
WDCService = DataService;
Log.Info("Avviato ReportController");
}
#endregion Public Constructors
#region Public Methods
// GET: api/Alive
[HttpGet]
public string Get()
{
return "OK";
}
/// <summary>
/// Restituisce report dato ordine e formato
/// </summary>
/// <param name="OrderId">ID univoco ordine</param>
/// <param name="Format">Formato: PDF/HTML/DOCX/XLSX</param>
/// <returns></returns>
[HttpGet("GetOrderReport")]
public async Task<IActionResult> GetOrderReport(int OrderId, string Format)
{
// dato il servizio è impostato il file rdlc e la struttura data DS da passare
await Task.Delay(1);
// inizializzo parametri report di default
Core.ReportViewer.Report.RenderParams currParams = new Core.ReportViewer.Report.RenderParams(Format);
currParams.FileName= $"DCA-Order-{OrderId:00000000}";
// restituisco oggetto ReportOrder specifico
return await OrderReportGet(OrderId, currParams);
}
#endregion Public Methods
#region Private Fields
private static IConfiguration _configuration = null!;
private static Logger Log = LogManager.GetCurrentClassLogger();
#endregion Private Fields
#region Private Properties
private WebDoorCreatorService WDCService { get; set; } = null!;
#endregion Private Properties
#region Private Methods
#if false
/// <summary>
/// Restituisce filestream del report DEMO
/// </summary>
/// <param name="FileName">Nome file desiderato x download</param>
/// <param name="RenderFormat"></param>
/// <param name="FileExt"></param>
/// <param name="MimeType"></param>
/// <returns></returns>
private IActionResult ReportDemoGet(int OrderId, Core.ReportViewer.Report.RenderParams CurrParams)
{
using (var report = new LocalReport())
{
// setup parametri
List<ReportParameter> RepParams = new List<ReportParameter>();
RepParams.Add(new ReportParameter("Title", "Invoice 4/2020"));
// setup DsReport
Dictionary<string, DataTable> DsDict = new Dictionary<string, DataTable>();
Random rnd = new Random();
decimal WidgetPrice = 204.99m;
decimal GizmoPrice = 2.41m;
var items = new[] {
new ReportItem { Description = "Widget 6000", Price = WidgetPrice, Qty = rnd.Next(1,5) },
new ReportItem { Description = "Gizmo MAX", Price = GizmoPrice, Qty = rnd.Next(10,50) },
new ReportItem { Description = "Pippo", Price = 1.2m, Qty = rnd.Next(3,9) },
new ReportItem { Description = "Paperino", Price = 1.74m, Qty = rnd.Next(5,15) }
}.ToList();
var totaQty = items.Sum(x => x.Qty);
var avgPrice = items.Sum(x => x.Qty * x.Price) / totaQty;
items.Add(new ReportItem() { Description = "Total", Qty = totaQty, Price = Math.Round(avgPrice, 2) });
DataTable tabDati = items.ToDataTable();
tabDati.TableName = "Items";
// aggiungo dizionario
DsDict.Add("Items", tabDati);
// carico dati nel report...
Core.ReportViewer.Report.Load(report, "Report.rdlc", RepParams, DsDict);
var rawData = report.Render(CurrParams.RenderFormat);
return File(rawData, CurrParams.MimeType, $"{CurrParams.FileName}.{CurrParams.Extension}");
}
}
#endif
/// <summary>
/// Restituisce filestream del report richiesto
/// </summary>
/// <param name="OrderId">ID Ordine</param>
/// <param name="CurrParams">Parametri rendering report</param>
/// <returns></returns>
private async Task<IActionResult> OrderReportGet(int OrderId, Core.ReportViewer.Report.RenderParams CurrParams)
{
using (var report = new LocalReport())
{
// setup parametri
List<ReportParameter> RepParams = new List<ReportParameter>();
RepParams.Add(new ReportParameter("OrderID", $"{OrderId}"));
// setup DsReport
Dictionary<string, DataTable> DsDict = new Dictionary<string, DataTable>();
// recupero tab dati config...
var confList = await WDCService.ConfigGetAll();
DataTable tabDatiConf = confList.ToDataTable();
tabDatiConf.TableName = "DataSetConfig";
// aggiungo a dizionario
DsDict.Add("DataSetConfig", tabDatiConf);
// recupero dati veri del report...
var repDetailData = await WDCService.PreRepOrderGetByKey(OrderId);
DataTable tabDati = repDetailData.ToDataTable();
tabDati.TableName = "DataSetOrderReportExpl";
// aggiungo dizionario
DsDict.Add("DataSetOrderReportExpl", tabDati);
// carico dati nel report...
Core.ReportViewer.Report.Load(report, "ReportOrder.rdlc", RepParams, DsDict);
var rawData = report.Render(CurrParams.RenderFormat);
return File(rawData, CurrParams.MimeType, $"{CurrParams.FileName}.{CurrParams.Extension}");
}
}
#endregion Private Methods
}
}
+95
View File
@@ -0,0 +1,95 @@
using Microsoft.Extensions.Diagnostics.HealthChecks;
using NLog;
using System.Net.NetworkInformation;
using WebDoorCreator.Data;
namespace WebDoorCreator.API.Health
{
public class Checks
{
#region Public Methods
public static async Task<HealthCheckResult> ConfigCount(IConfiguration _config)
{
string description = "Try check Config table";
var healthCheckData = new Dictionary<string, object>();
using (WDCDataContext localDbCtx = new WDCDataContext(_config))
{
var dbCount = localDbCtx
.DbSetConfig
.Count();
if (dbCount > 0)
{
description = $"Check Config table, found {dbCount} records";
healthCheckData.Add("Count", dbCount);
return HealthCheckResult.Healthy(description, healthCheckData);
}
}
await Task.Delay(1);
return HealthCheckResult.Unhealthy(description + $" NO RECORD found", null, healthCheckData);
}
public static async Task<HealthCheckResult> DoorsCount(IConfiguration _config)
{
string description = "Try check DOOR table";
var healthCheckData = new Dictionary<string, object>();
using (WDCDataContext localDbCtx = new WDCDataContext(_config))
{
var dbCount = localDbCtx
.DbSetDoor
.Count();
if (dbCount > 0)
{
description = $"Check DOOR table, found {dbCount} records";
healthCheckData.Add("Count", dbCount);
return HealthCheckResult.Healthy(description, healthCheckData);
}
}
await Task.Delay(1);
return HealthCheckResult.Unhealthy(description + $" NO RECORD found", null, healthCheckData);
}
public static async Task<HealthCheckResult> OrdersCount(IConfiguration _config)
{
string description = "Try check ORDER table";
var healthCheckData = new Dictionary<string, object>();
using (WDCDataContext localDbCtx = new WDCDataContext(_config))
{
var dbCount = localDbCtx
.DbSetOrders
.Count();
if (dbCount > 0)
{
description = $"Check ORDER table, found {dbCount} records";
healthCheckData.Add("Count", dbCount);
return HealthCheckResult.Healthy(description, healthCheckData);
}
}
await Task.Delay(1);
return HealthCheckResult.Unhealthy(description + $" NO RECORD found", null, healthCheckData);
}
public static async Task<HealthCheckResult> PingCheck(string hostName)
{
var description = $"Ping to {hostName}";
var healthCheckData = new Dictionary<string, object>();
using (var thePing = new Ping())
{
var pingResult = await thePing.SendPingAsync(hostName);
healthCheckData.Add("RoundTripMS", pingResult.RoundtripTime);
healthCheckData.Add("ActualIPAddress", pingResult.Address.ToString());
if (pingResult.Status == IPStatus.Success)
{
description += $" - {pingResult.RoundtripTime}ms";
return HealthCheckResult.Healthy(description, healthCheckData);
}
}
return HealthCheckResult.Unhealthy(description + $" {hostName}", null, healthCheckData);
}
#endregion Public Methods
}
}
+85 -15
View File
@@ -1,5 +1,9 @@
using HealthChecks.UI.Client;
using Microsoft.AspNetCore.Diagnostics.HealthChecks;
using Microsoft.AspNetCore.Identity.UI.Services;
using Microsoft.AspNetCore.Localization;
using Microsoft.CodeAnalysis.FlowAnalysis;
using Microsoft.Extensions.Diagnostics.HealthChecks;
using StackExchange.Redis;
using StackExchange.Redis.Extensions.Core.Configuration;
using StackExchange.Redis.Extensions.Newtonsoft;
@@ -14,10 +18,14 @@ var builder = WebApplication.CreateBuilder(args);
// configuration setup
ConfigurationManager configuration = builder.Configuration;
// Redis
var connStringRedis = configuration.GetConnectionString("Redis");
if (string.IsNullOrEmpty(connStringRedis))
{
connStringRedis = "localhost:6379, DefaultDatabase=11, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false";
}
string redisSrvAddr = connStringRedis.Substring(0, connStringRedis.IndexOf(":"));
// avvio oggetto shared x redis...
var redisMultiplexer = ConnectionMultiplexer.Connect(connStringRedis);
@@ -27,6 +35,67 @@ builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
// APP MAIN setup
string connectionString = configuration.GetConnectionString("WDC.DB") ?? "";
string dbServerAddr = "127.0.0.1";
if (string.IsNullOrEmpty(connectionString))
{
connectionString = "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.SRV;";
}
else
{
if (connectionString.Contains("Server"))
{
bool trovato = false;
var dbTokens = connectionString.Split(";");
int numTok = dbTokens.Count();
int idx = 0;
while (!trovato && idx < numTok)
{
if (dbTokens[idx].StartsWith("Server="))
{
// rimuovo la chaive Server...
dbServerAddr = dbTokens[idx].Replace("Server=", "");
// se ci fosse un nome (tipo \\sqlexpress) rimuovo...
if (dbServerAddr.Contains("\\"))
{
int sIdx = dbServerAddr.IndexOf("\\");
dbServerAddr = dbServerAddr.Substring(0, sIdx);
}
trovato = true;
}
idx++;
}
}
}
// healthchecks
builder.Services.AddHealthChecks()
.AddSqlServer(connectionString, healthQuery: "SELECT 1;", name: "SqlServer", failureStatus: HealthStatus.Degraded, tags: new string[] { "DB", "MsSql" })
.AddAsyncCheck($"DB PING ({dbServerAddr})", () => WebDoorCreator.API.Health.Checks.PingCheck(dbServerAddr))
.AddAsyncCheck($"Redis PING ({redisSrvAddr})", () => WebDoorCreator.API.Health.Checks.PingCheck(redisSrvAddr))
// 512 MB max allocated memory
.AddProcessAllocatedMemoryHealthCheck(512, "Max Process memory (<512MB)", failureStatus: HealthStatus.Degraded)
.AddRedis(connStringRedis, "Redis", failureStatus: HealthStatus.Degraded)
.AddAsyncCheck($"Config Table", () => WebDoorCreator.API.Health.Checks.ConfigCount(configuration))
.AddAsyncCheck($"Orders Table", () => WebDoorCreator.API.Health.Checks.OrdersCount(configuration))
.AddAsyncCheck($"Doors Table", () => WebDoorCreator.API.Health.Checks.DoorsCount(configuration))
;
#if false
builder.Services
.AddHealthChecksUI(s =>
{
s.AddHealthCheckEndpoint("WDC_API_HC", "health");
s.SetEvaluationTimeInSeconds(60);
s.SetMinimumSecondsBetweenFailureNotifications(120);
s.SetApiMaxActiveRequests(5);
s.SetHeaderText("WDC.API Health Check Status");
})
.AddInMemoryStorage();
#endif
// abilitazione x email management con MailKit
//builder.Services.AddTransient<IEmailSender, MailKitEmailSender>();
builder.Services.AddSingleton<IEmailSender, MailKitEmailSender>();
@@ -57,6 +126,7 @@ builder.Services.AddStackExchangeRedisExtensions<NewtonsoftSerializer>((options)
});
builder.Services.AddSingleton<QueueDataService>();
builder.Services.AddSingleton<WebDoorCreatorService>();
builder.Services.AddSingleton<IConnectionMultiplexer>(redisMultiplexer);
var app = builder.Build();
@@ -70,24 +140,24 @@ if (app.Environment.IsDevelopment() || app.Environment.IsStaging())
app.UseSwaggerUI();
}
//// cultura IT...
//var supportedCultures = new[]{
// new CultureInfo("it-IT")
// };
//app.UseRequestLocalization(new RequestLocalizationOptions
//{
// DefaultRequestCulture = new RequestCulture("it-IT"),
// SupportedCultures = supportedCultures,
// FallBackToParentCultures = false
//});
//CultureInfo.DefaultThreadCurrentCulture = CultureInfo.CreateSpecificCulture("it-IT");
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
// config healthcheck: https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks
// prende tutti i predicati
app.MapHealthChecks("/health", new HealthCheckOptions
{
Predicate = _ => true,
ResponseWriter = UIResponseWriter.WriteHealthCheckUIResponse
});
// nasconde tutti i dettagli
app.MapHealthChecks("/health/live", new HealthCheckOptions
{
Predicate = _ => false
});
app.Run();
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://wdc.egalware.com/UI/swagger/index.html</SiteUrlToLaunchAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid>
<SelfContained>false</SelfContained>
<MSDeployServiceURL>https://wdc-w-iis-01.ovh:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>wdc.egalware.com/SRV</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<EnableMsDeployAppOffline>true</EnableMsDeployAppOffline>
<UserName>steamware</UserName>
<_SavePWD>true</_SavePWD>
<_TargetId>IISWebDeploy</_TargetId>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAs/7D3mNhw0uqUXeNq4OiHAAAAAACAAAAAAADZgAAwAAAABAAAACWZ0w5h84UFtYYB4xT+4rFAAAAAASAAACgAAAAEAAAAIcwjcdAiCDZN1OwNWoZSfQYAAAAiyiNcp/zeuC6Vt16+OALvsaO0rbkiVMVFAAAAHS264wElPIM4sYvPHMhW0YsXNe9</EncryptedPassword>
<History>True|2024-04-19T17:27:31.3742108Z;False|2024-04-19T16:51:43.3272308+02:00;False|2024-04-19T16:41:46.2086401+02:00;False|2024-04-19T16:41:31.3019711+02:00;False|2024-04-19T16:08:22.4275238+02:00;False|2024-04-19T16:05:18.6039531+02:00;False|2024-04-19T15:59:02.0838144+02:00;True|2024-02-15T19:34:35.8362293+01:00;False|2024-02-15T19:33:47.6399861+01:00;True|2024-02-13T17:40:01.6315651+01:00;False|2024-02-13T17:37:21.2072257+01:00;False|2024-02-13T17:33:33.1471911+01:00;True|2023-05-22T15:37:00.8611764+02:00;True|2023-05-11T17:35:09.5858697+02:00;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://wdc.egalware.com/UI/swagger/index.html</SiteUrlToLaunchAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid>
<SelfContained>false</SelfContained>
<MSDeployServiceURL>https://wdc-w-iis-02.ovh:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>wdc.egalware.com/SRV</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<EnableMsDeployAppOffline>true</EnableMsDeployAppOffline>
<UserName>steamware</UserName>
<_SavePWD>true</_SavePWD>
<_TargetId>IISWebDeploy</_TargetId>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAs/7D3mNhw0uqUXeNq4OiHAAAAAACAAAAAAADZgAAwAAAABAAAACWZ0w5h84UFtYYB4xT+4rFAAAAAASAAACgAAAAEAAAAIcwjcdAiCDZN1OwNWoZSfQYAAAAiyiNcp/zeuC6Vt16+OALvsaO0rbkiVMVFAAAAHS264wElPIM4sYvPHMhW0YsXNe9</EncryptedPassword>
<History>True|2024-04-19T17:27:31.3742108Z;False|2024-04-19T16:51:43.3272308+02:00;False|2024-04-19T16:41:46.2086401+02:00;False|2024-04-19T16:41:31.3019711+02:00;False|2024-04-19T16:08:22.4275238+02:00;False|2024-04-19T16:05:18.6039531+02:00;False|2024-04-19T15:59:02.0838144+02:00;True|2024-02-15T19:34:35.8362293+01:00;False|2024-02-15T19:33:47.6399861+01:00;True|2024-02-13T17:40:01.6315651+01:00;False|2024-02-13T17:37:21.2072257+01:00;False|2024-02-13T17:33:33.1471911+01:00;True|2023-05-22T15:37:00.8611764+02:00;True|2023-05-11T17:35:09.5858697+02:00;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project>
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://wdc.egalware.com/UI/swagger/index.html</SiteUrlToLaunchAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid>
<SelfContained>false</SelfContained>
<MSDeployServiceURL>https://wdc-w-iis-01.ovh:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/WDC/SRV</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<EnableMsDeployAppOffline>true</EnableMsDeployAppOffline>
<UserName>steamware</UserName>
<_SavePWD>true</_SavePWD>
<_TargetId>IISWebDeploy</_TargetId>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
</Project>
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAANAh+Q4GwYESjv9I3Vz/gKgAAAAACAAAAAAADZgAAwAAAABAAAAAZCj4Je1goQrORLePgnlVVAAAAAASAAACgAAAAEAAAAGZfY+EFaA+HwqpXWVf0/JgYAAAAz5wRfMtrjB7GbijGZUlW6g9q8ulJwQecFAAAADgQDtnMlYLrSQDGZI7Dg2OKfUhu</EncryptedPassword>
<History>True|2024-04-19T17:25:01.4640398Z;False|2024-04-19T19:21:34.3241722+02:00;False|2024-04-19T19:15:31.0848527+02:00;False|2024-04-19T19:11:09.2511710+02:00;False|2024-04-19T19:09:49.4254115+02:00;False|2024-04-19T19:08:44.7222054+02:00;False|2024-04-19T19:01:26.7064709+02:00;False|2024-04-19T18:59:58.4177224+02:00;False|2024-04-19T18:59:10.9459272+02:00;False|2024-04-19T16:51:43.3272308+02:00;False|2024-04-19T16:41:46.2086401+02:00;False|2024-04-19T16:41:31.3019711+02:00;False|2024-04-19T16:08:22.4275238+02:00;False|2024-04-19T16:05:18.6039531+02:00;False|2024-04-19T15:59:02.0838144+02:00;True|2024-02-15T19:34:35.8362293+01:00;False|2024-02-15T19:33:47.6399861+01:00;True|2024-02-13T17:40:01.6315651+01:00;False|2024-02-13T17:37:21.2072257+01:00;False|2024-02-13T17:33:33.1471911+01:00;True|2023-05-22T15:37:00.8611764+02:00;True|2023-05-11T17:35:09.5858697+02:00;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
@@ -8,12 +8,12 @@ https://go.microsoft.com/fwlink/?LinkID=208121.
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish>https://iis04.egalware.com/WDC/SRV/swagger/index.html</SiteUrlToLaunchAfterPublish>
<SiteUrlToLaunchAfterPublish>https://seriate.egalware.com/WDC/SRV/swagger/index.html</SiteUrlToLaunchAfterPublish>
<ExcludeApp_Data>false</ExcludeApp_Data>
<ProjectGuid>c2109e71-4eae-4167-9052-175123ccc2bc</ProjectGuid>
<SelfContained>false</SelfContained>
<MSDeployServiceURL>https://iis04.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/WDC/SRV</DeployIisAppPath>
<DeployIisAppPath>seriate.egalware.com/WDC/SRV</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
@@ -7,7 +7,7 @@ by editing this MSBuild file. In order to learn more about this please visit htt
<PropertyGroup>
<TimeStampOfAssociatedLegacyPublishXmlFile />
<EncryptedPassword>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAk75miMJLMkCTEelQutKpbwAAAAACAAAAAAADZgAAwAAAABAAAAB43BVhUmznhAu3pUfV1IfOAAAAAASAAACgAAAAEAAAAEV8hgbujDFfsMjS77NS2oYYAAAAUHPGFaVWgRqQPDU4wk5KGABmVHKko4/9FAAAANtaROBOcPHljx4RnmQHj5aHdtYk</EncryptedPassword>
<History>True|2023-05-11T15:35:09.5858697Z;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<History>True|2023-05-22T13:37:00.8611764Z;True|2023-05-11T17:35:09.5858697+02:00;True|2022-01-27T10:34:09.2346456+01:00;True|2022-01-27T10:13:36.3080675+01:00;True|2022-01-27T10:05:45.6649507+01:00;True|2022-01-26T14:34:16.5263189+01:00;True|2022-01-26T13:04:22.2336648+01:00;False|2022-01-26T13:04:06.0677616+01:00;True|2021-11-08T09:03:37.7855257+01:00;True|2021-11-08T09:03:34.8263479+01:00;True|2021-11-08T09:03:31.8889390+01:00;True|2021-10-29T16:19:33.6539408+02:00;True|2021-10-29T16:19:28.2082360+02:00;True|2021-10-26T16:12:11.7740950+02:00;True|2021-10-26T16:11:56.2014641+02:00;True|2021-10-26T16:11:22.2897842+02:00;False|2021-10-26T16:10:58.3733037+02:00;False|2021-10-26T16:10:29.4793991+02:00;True|2021-10-21T17:35:11.9761128+02:00;True|2021-10-18T20:22:00.9305399+02:00;True|2021-10-18T18:32:29.4558070+02:00;True|2021-10-18T18:32:22.8950294+02:00;True|2021-10-18T18:16:13.7563877+02:00;True|2021-10-18T18:15:48.5678387+02:00;True|2021-10-18T12:45:45.7228681+02:00;True|2021-10-18T12:14:22.3221605+02:00;True|2021-10-18T12:14:15.7373530+02:00;True|2021-10-18T12:10:43.8607301+02:00;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
@@ -1,23 +1,14 @@
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:33043",
"sslPort": 44387
}
},
{
"profiles": {
"WebDoorCreator.API": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7043;http://localhost:5240",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"dotnetRunMessages": true,
"applicationUrl": "https://localhost:7043;http://localhost:5240"
},
"IIS Express": {
"commandName": "IISExpress",
@@ -26,6 +17,25 @@
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"WSL": {
"commandName": "WSL2",
"launchBrowser": true,
"launchUrl": "https://localhost:7043/swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development",
"ASPNETCORE_URLS": "https://localhost:7043;http://localhost:5240"
},
"distributionName": ""
}
},
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:33043",
"sslPort": 44387
}
}
}
}
+447
View File
@@ -0,0 +1,447 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="LocalSource">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>bd60bef3-b3d9-477e-9052-ab58c6f1ec86</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="Items">
<Query>
<DataSourceName>LocalSource</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Description">
<DataField>Description</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Price">
<DataField>Price</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Qty">
<DataField>Qty</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Total">
<DataField>Total</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>LocalSource</rd:DataSetName>
<rd:TableName>Items</rd:TableName>
<rd:ObjectDataSourceType>ReportViewerCore.ReportItem</rd:ObjectDataSourceType>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>8.31785cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.67938cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Description</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Price</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Qty</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Total</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.67938cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Description">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Description.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Description</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Price">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Price.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Price</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Qty">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Qty.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Qty</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Total">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Total.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Total</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>Items</DataSetName>
<Top>2.85433cm</Top>
<Left>0.3175cm</Left>
<Height>1.35875cm</Height>
<Width>15.875cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox6">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Title.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontSize>26pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Top>0.26141cm</Top>
<Left>0.3175cm</Left>
<Height>1.79062cm</Height>
<Width>15.875cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>2in</Height>
<Style />
</Body>
<Width>6.5in</Width>
<Page>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>2cm</LeftMargin>
<RightMargin>2cm</RightMargin>
<TopMargin>2cm</TopMargin>
<BottomMargin>2cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="Title">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<ReportParametersLayout>
<GridLayoutDefinition>
<NumberOfColumns>4</NumberOfColumns>
<NumberOfRows>2</NumberOfRows>
<CellDefinitions>
<CellDefinition>
<ColumnIndex>0</ColumnIndex>
<RowIndex>0</RowIndex>
<ParameterName>Title</ParameterName>
</CellDefinition>
</CellDefinitions>
</GridLayoutDefinition>
</ReportParametersLayout>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>156b21d2-9542-4902-99ef-7ec823774bb2</rd:ReportID>
</Report>
File diff suppressed because it is too large Load Diff
+39 -4
View File
@@ -4,9 +4,13 @@
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<UserSecretsId>36a4225d-c8d7-4b97-b6db-6ab2af37bfde</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-OVH-IIS01.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-OVH-IIS02.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-OVH-PROD-test.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS-PROD.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS01.pubxml" />
<_WebToolingArtifacts Remove="Properties\PublishProfiles\IIS02.pubxml" />
@@ -14,17 +18,34 @@
</ItemGroup>
<ItemGroup>
<None Include="Properties\PublishProfiles\IIS-OVH-IIS02.pubxml.user" />
<None Include="Properties\PublishProfiles\IIS-OVH-PROD-test.pubxml.user" />
<None Include="Properties\PublishProfiles\IIS-OVH-IIS01.pubxml.user" />
<None Include="Properties\PublishProfiles\IIS-PROD.pubxml.user" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
<PackageReference Include="NLog" Version="5.1.2" />
<PackageReference Include="StackExchange.Redis" Version="2.6.96" />
<PackageReference Include="AspNetCore.HealthChecks.Redis" Version="6.0.4" />
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="6.0.2" />
<PackageReference Include="AspNetCore.HealthChecks.System" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Core" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="6.0.5" />
<PackageReference Include="AspNetCore.HealthChecks.Uris" Version="6.0.3" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="6.0.29" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions" Version="6.0.29" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="NLog" Version="5.2.2" />
<PackageReference Include="SkiaSharp" Version="2.88.8" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="2.88.3" />
<PackageReference Include="StackExchange.Redis" Version="2.6.122" />
<PackageReference Include="StackExchange.Redis.Extensions.AspNetCore" Version="9.1.0" />
<PackageReference Include="StackExchange.Redis.Extensions.Core" Version="9.1.0" />
<PackageReference Include="StackExchange.Redis.Extensions.Newtonsoft" Version="9.1.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
<PackageReference Include="Svg" Version="3.4.4" />
<PackageReference Include="Svg.Skia" Version="1.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
</ItemGroup>
<ItemGroup>
@@ -32,4 +53,18 @@
<ProjectReference Include="..\WebDoorCreator.Data\WebDoorCreator.Data.csproj" />
</ItemGroup>
<ItemGroup>
<None Update="logs\.placeholder.txt">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Reports\Report.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Reports\ReportOrder.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="powershell.exe -ExecutionPolicy Unrestricted -NoProfile -NonInteractive -File $(ProjectDir)\post-build.ps1 -ProjectDir $(ProjectDir) -ProjectPath $(ProjectPath)" />
</Target>
</Project>
@@ -0,0 +1,12 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"ConnectionStrings": {
"Redis": "wdc-u-redis-01.ovh:6379, DefaultDatabase=12, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG",
"WDC.DB": "Server=WDC-W-SQL-01\\SQLEXPRESS;Database=DCA_WebDoorCreator; User ID=steamware;Password=viadante16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.UI;"
}
}
+10 -4
View File
@@ -7,8 +7,8 @@
},
"AllowedHosts": "*",
"ConnectionStrings": {
"Redis": "nkcredis.steamware.net:6379, DefaultDatabase=11, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false, password=BtN9Py1wtLfLRvmzWnOPJ7RytDM+CLiVsJ/16zduNTlV8IOPGNrtzJSXPUnImA5PqmUMhKaUqo9NdHIG",
"WDC.DB": "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.UI;"
"Redis": "redis.ufficio:26379,serviceName=devel, DefaultDatabase=11, connectTimeout=5000, syncTimeout=5000, asyncTimeout=5000, abortConnect=false, ssl=false",
"WDC.DB": "Server=SQL2016DEV;Database=WebDoorCreator; User ID=sa;Password=keyhammer16; integrated security=False; MultipleActiveResultSets=True; App=WebDoorCreator.SRV;"
},
"ExternalProviders": {
"MailKit": {
@@ -24,7 +24,13 @@
},
"MailDest": {
"Admin": "samuele@steamware.net",
"ProjCheck": "samuele.locatelli@egalware.com,mara.baroni@egalware.com",
"TimbCheck": "samuele.locatelli@egalware.com,mara.baroni@egalware.com"
"ProjCheck": "samuele.locatelli@egalware.com",
"TimbCheck": "samuele.locatelli@egalware.com"
},
"RuntimeOpt": {
"WaitReloadSvg": 200,
"VetoRemoveProcessing": 5,
"StatSampleSize": 30,
"LogTimingEnable": true
}
}
+32
View File
@@ -0,0 +1,32 @@
param([string]$ProjectDir, [string]$ProjectPath);
$MainVers="..\Resources\MainVers.txt"
$FileVers="..\Resources\VersNum.txt"
$FileManIn="..\Resources\manifest-original.xml"
$FileManOut="..\Resources\manifest.xml"
$FileCLogIn="..\Resources\ChangeLog-original.html"
$FileCLogOut="..\Resources\ChangeLog.html"
$MajMin=Get-Content $MainVers #"0.9."
$currentDate = get-date -format yyMM;
$currentTime = get-date -format ddHH;
$find = "<Version>(.|\n)*?</Version>";
$currRelNum=$MajMin + $currentDate +"." + $currentTime
$replace = "<Version>" + $MajMin + $currentDate +"." + $currentTime + "</Version>";
$csproj = Get-Content $ProjectPath
$csprojUpdated = $csproj -replace $find, $replace
Set-Content -Path $ProjectPath -Value $csprojUpdated
Set-Content -Path $FileVers -Value $currRelNum
# replace x manifest
$manData = Get-Content $FileManIn
$manData = $manData -replace "1.0.0.0", $currRelNum
$manData = $manData -replace "{{DIRNAME}}", "WDC"
$manData = $manData -replace "{{BRANCHNAME}}", "stable"
$manData = $manData -replace "{{PACKNAME}}", "WDC.API"
Set-Content -Path $FileManOut -Value $manData
# replace x ChangeLog
$clogData = Get-Content $FileCLogIn
$clogData = $clogData -replace "{{CURRENT-REL}}", $currRelNum
Set-Content -Path $FileCLogOut -Value $clogData
@@ -0,0 +1,23 @@
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 210 297"
version="1.1"
id="svg41"
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"
sodipodi:docname="Missing.svg">
<g
inkscape:label="Livello 1"
inkscape:groupmode="layer"
id="layer1">
<path
style="fill:#454c55;stroke:none;stroke-width:0.460184"
d="M 67.284871,27.840094 C 54.209292,29.845169 46.354698,40.041553 37.483749,49.537223 30.786635,56.705844 22.139596,63.788212 18.364192,73.342671 13.425835,85.840068 15.688899,101.95827 15.688899,115.24029 v 83.31911 42.37372 c 0,7.58822 -0.702068,15.87777 3.692177,22.37522 8.317054,12.29838 27.557626,8.09577 39.897523,8.09577 h 79.617931 c 12.51202,0 26.8348,2.07774 39.14178,-0.29328 20.95597,-4.03694 15.56774,-34.14276 15.56774,-50.65042 V 90.482618 57.154964 c 0,-6.779801 0.48839,-13.912333 -2.82399,-19.996591 C 184.24273,25.145859 170.34873,27.636197 159.357,27.636197 H 97.975587 c -9.965149,0 -20.828764,-1.308344 -30.690716,0.203897 M 65.950496,40.491145 V 68.58159 c 0,3.334243 0.635156,8.230973 -1.880591,10.762918 -2.011793,2.023943 -4.923857,1.615918 -7.460068,1.615918 -5.485632,0 -10.971706,-0.02807 -16.457327,3.51e-4 -3.463614,0.01808 -8.012815,1.523078 -7.777343,6.188941 0.285906,5.66571 6.133826,5.71331 10.001297,5.71331 9.131159,0 21.653851,2.511 28.904873,-4.80536 C 76.981364,82.306261 76.62552,75.34031 76.62552,67.629244 V 39.538921 h 78.72834 c 6.51178,0 22.20629,-3.148174 26.00571,3.816212 2.13101,3.906515 1.12667,9.914114 1.12667,14.275944 v 32.375431 120.931732 37.1365 c 0,5.08581 -0.86957,10.76627 -6.6719,11.37664 -12.057,1.26788 -24.7972,0.0499 -36.91781,0.0499 H 64.616109 38.818123 c -3.881264,0 -8.102032,0.52467 -10.615648,-3.37704 -2.606754,-4.04646 -1.39376,-10.98766 -1.39376,-15.66733 V 202.84434 121.42967 94.767548 c 0,-5.82043 -0.394349,-11.702756 1.918165,-17.139934 2.59243,-6.095472 7.972696,-10.587133 12.315209,-15.235482 6.361872,-6.809749 15.302659,-20.997658 24.908407,-21.901027 M 82.852622,149.04404 v -0.47611 c 2.228416,-1.68019 4.853137,-4.06073 6.164829,-6.66553 2.329384,-4.62682 -1.57368,-9.44601 -6.164829,-8.43713 -3.058838,0.67179 -5.856141,4.41734 -7.561479,7.00881 -2.09231,-2.23963 -4.330057,-5.57095 -7.116681,-6.80503 -4.373656,-1.9373 -8.256257,2.08393 -7.460067,6.80503 0.576892,3.41988 5.655983,5.35289 5.655983,8.56996 0,4.59303 -10.127493,8.24193 -4.321609,14.09569 5.910848,5.95899 8.604069,-4.54684 13.241932,-4.54684 3.099767,0 4.747268,5.79806 8.451512,6.10419 3.582359,0.29567 6.831128,-3.17374 5.852131,-7.08307 -0.79484,-3.17279 -4.32427,-6.70886 -6.741722,-8.56997 M 122.88576,133.6857 c -9.48787,3.93362 2.64207,11.32569 2.64207,15.35834 0,2.57527 -4.14146,4.93963 -5.25034,7.14164 -1.98378,3.9398 0.69032,8.54283 4.83046,8.52854 2.37029,-0.008 4.14858,-1.65495 5.7823,-3.31039 0.99056,-1.00411 2.41256,-3.18612 4.00314,-2.73905 3.99602,1.12314 5.45272,7.87723 10.67459,5.7376 5.41757,-2.22011 3.38931,-8.28002 0.43857,-11.54947 -0.94741,-1.04934 -2.98768,-2.58336 -2.57001,-4.28498 0.66941,-2.72953 4.0823,-4.4221 5.14402,-7.14163 1.96465,-5.03392 -2.79463,-10.02972 -7.46007,-7.53253 -2.13189,1.14124 -4.21841,5.60143 -6.6719,5.60143 -4.45949,0 -5.69601,-8.24194 -11.56283,-5.8095 m -24.46539,56.98172 c -11.577511,1.64734 -22.445577,5.80805 -31.580295,13.80716 -3.447589,3.019 -10.885415,12.52215 -1.77917,14.39182 5.186728,1.06506 11.254602,-7.31684 15.567751,-9.8983 9.005719,-5.39003 19.519294,-7.81533 29.801124,-6.46365 7.65399,1.00649 15.44988,3.90551 21.79485,8.6428 3.52988,2.63526 7.64111,8.85895 12.45376,7.69677 3.41067,-0.82366 5.02037,-5.08246 3.47917,-8.3819 -1.80408,-3.86172 -6.4366,-7.01927 -9.70583,-9.35316 -11.39247,-8.13337 -26.34952,-12.38788 -40.03136,-10.44154 z"
id="path22" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

@@ -0,0 +1,20 @@
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 210 297"
version="1.1"
id="svg41"
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"
sodipodi:docname="MissingOrange.svg">
<g id="layer1">
<path
style="fill:#FD8C00;stroke:none;stroke-width:0.460184"
d="M 67.284871,27.840094 C 54.209292,29.845169 46.354698,40.041553 37.483749,49.537223 30.786635,56.705844 22.139596,63.788212 18.364192,73.342671 13.425835,85.840068 15.688899,101.95827 15.688899,115.24029 v 83.31911 42.37372 c 0,7.58822 -0.702068,15.87777 3.692177,22.37522 8.317054,12.29838 27.557626,8.09577 39.897523,8.09577 h 79.617931 c 12.51202,0 26.8348,2.07774 39.14178,-0.29328 20.95597,-4.03694 15.56774,-34.14276 15.56774,-50.65042 V 90.482618 57.154964 c 0,-6.779801 0.48839,-13.912333 -2.82399,-19.996591 C 184.24273,25.145859 170.34873,27.636197 159.357,27.636197 H 97.975587 c -9.965149,0 -20.828764,-1.308344 -30.690716,0.203897 M 65.950496,40.491145 V 68.58159 c 0,3.334243 0.635156,8.230973 -1.880591,10.762918 -2.011793,2.023943 -4.923857,1.615918 -7.460068,1.615918 -5.485632,0 -10.971706,-0.02807 -16.457327,3.51e-4 -3.463614,0.01808 -8.012815,1.523078 -7.777343,6.188941 0.285906,5.66571 6.133826,5.71331 10.001297,5.71331 9.131159,0 21.653851,2.511 28.904873,-4.80536 C 76.981364,82.306261 76.62552,75.34031 76.62552,67.629244 V 39.538921 h 78.72834 c 6.51178,0 22.20629,-3.148174 26.00571,3.816212 2.13101,3.906515 1.12667,9.914114 1.12667,14.275944 v 32.375431 120.931732 37.1365 c 0,5.08581 -0.86957,10.76627 -6.6719,11.37664 -12.057,1.26788 -24.7972,0.0499 -36.91781,0.0499 H 64.616109 38.818123 c -3.881264,0 -8.102032,0.52467 -10.615648,-3.37704 -2.606754,-4.04646 -1.39376,-10.98766 -1.39376,-15.66733 V 202.84434 121.42967 94.767548 c 0,-5.82043 -0.394349,-11.702756 1.918165,-17.139934 2.59243,-6.095472 7.972696,-10.587133 12.315209,-15.235482 6.361872,-6.809749 15.302659,-20.997658 24.908407,-21.901027 M 82.852622,149.04404 v -0.47611 c 2.228416,-1.68019 4.853137,-4.06073 6.164829,-6.66553 2.329384,-4.62682 -1.57368,-9.44601 -6.164829,-8.43713 -3.058838,0.67179 -5.856141,4.41734 -7.561479,7.00881 -2.09231,-2.23963 -4.330057,-5.57095 -7.116681,-6.80503 -4.373656,-1.9373 -8.256257,2.08393 -7.460067,6.80503 0.576892,3.41988 5.655983,5.35289 5.655983,8.56996 0,4.59303 -10.127493,8.24193 -4.321609,14.09569 5.910848,5.95899 8.604069,-4.54684 13.241932,-4.54684 3.099767,0 4.747268,5.79806 8.451512,6.10419 3.582359,0.29567 6.831128,-3.17374 5.852131,-7.08307 -0.79484,-3.17279 -4.32427,-6.70886 -6.741722,-8.56997 M 122.88576,133.6857 c -9.48787,3.93362 2.64207,11.32569 2.64207,15.35834 0,2.57527 -4.14146,4.93963 -5.25034,7.14164 -1.98378,3.9398 0.69032,8.54283 4.83046,8.52854 2.37029,-0.008 4.14858,-1.65495 5.7823,-3.31039 0.99056,-1.00411 2.41256,-3.18612 4.00314,-2.73905 3.99602,1.12314 5.45272,7.87723 10.67459,5.7376 5.41757,-2.22011 3.38931,-8.28002 0.43857,-11.54947 -0.94741,-1.04934 -2.98768,-2.58336 -2.57001,-4.28498 0.66941,-2.72953 4.0823,-4.4221 5.14402,-7.14163 1.96465,-5.03392 -2.79463,-10.02972 -7.46007,-7.53253 -2.13189,1.14124 -4.21841,5.60143 -6.6719,5.60143 -4.45949,0 -5.69601,-8.24194 -11.56283,-5.8095 m -24.46539,56.98172 c -11.577511,1.64734 -22.445577,5.80805 -31.580295,13.80716 -3.447589,3.019 -10.885415,12.52215 -1.77917,14.39182 5.186728,1.06506 11.254602,-7.31684 15.567751,-9.8983 9.005719,-5.39003 19.519294,-7.81533 29.801124,-6.46365 7.65399,1.00649 15.44988,3.90551 21.79485,8.6428 3.52988,2.63526 7.64111,8.85895 12.45376,7.69677 3.41067,-0.82366 5.02037,-5.08246 3.47917,-8.3819 -1.80408,-3.86172 -6.4366,-7.01927 -9.70583,-9.35316 -11.39247,-8.13337 -26.34952,-12.38788 -40.03136,-10.44154 z"
id="path22" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

+10
View File
@@ -10,17 +10,27 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|x64.ActiveCfg = Debug|x64
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Debug|x64.Build.0 = Debug|x64
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|Any CPU.Build.0 = Release|Any CPU
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|x64.ActiveCfg = Release|x64
{96266312-9739-4F12-A6C2-16C1CAFDDA6E}.Release|x64.Build.0 = Release|x64
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|x64.ActiveCfg = Debug|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Debug|x64.Build.0 = Debug|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|Any CPU.Build.0 = Release|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|x64.ActiveCfg = Release|Any CPU
{4A07ADFC-CA24-4135-BA97-3B8E5D49BC09}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
+45
View File
@@ -0,0 +1,45 @@
'----------------------------------------------------------------------------
' EgalTech 2015-2015
'----------------------------------------------------------------------------
' File : ConstIni.vb Data : 12.02.15 Versione : 1.6b3
' Contenuto : Modulo costanti sezione e chiavi per file Ini.
'
'
'
' Modifiche : 12.02.15 DS Creazione modulo.
'
'
'----------------------------------------------------------------------------
Public Module ConstIni
' massimo numero di istanze del programma ammesse
Public Const MAX_INST As Integer = 32
' File con dati di licenza
Public Const LIC_FILE_NAME As String = "WebDoorCreator.CamSrv.lic"
Public Const S_LICENCE As String = "Licence"
Public Const K_LOCKID As String = "LockId"
Public Const K_KEY As String = "Key"
' File di log generale
Public Const GENLOG_FILE_NAME As String = "WebDoorCreator.CamSrv#.txt"
Public Const INI_FILE_NAME As String = "WebDoorCreator.CamSrv.ini"
Public Const S_GENERAL As String = "General"
Public Const K_DEBUG As String = "Debug"
Public Const K_LICENCE As String = "Licence"
Public Const K_NETKEY As String = "NetKey"
Public Const K_USERLEVEL As String = "UserLevel"
Public Const K_MAXINST As String = "MaxInstances"
Public Const K_INSTANCES As String = "Instances"
Public Const K_COMMANDLOG As String = "CommandLog"
Public Const K_STARTINSTANCES As String = "StartInstances"
Public Const K_PROCESSPATH As String = "ProcessPath"
Public Const K_PROCESSATSTART As String = "ProcessAtStart"
Public Const K_BASEURL As String = "BaseUrl"
Public Const K_BASEIP As String = "BaseIp"
Public Const K_MUTEXNAME As String = "MutexName"
End Module
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.0.0.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: AssemblyVersion("2.5.6.1")>
<Assembly: AssemblyFileVersion("2.5.6.1")>
+93 -74
View File
@@ -49,22 +49,24 @@ Partial Class ProcMan
Me.ThreadCurrentStatusList = New System.Windows.Forms.ListView()
Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.chkStatAggr = New System.Windows.Forms.CheckBox()
Me.btnExportStats = New System.Windows.Forms.Button()
Me.chkAutoRestart = New System.Windows.Forms.CheckBox()
Me.TimerCheck = New System.Windows.Forms.Timer(Me.components)
Me.ColumnHeader3 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader4 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.Button1 = New System.Windows.Forms.Button()
Me.TimerResetProcessing = New System.Windows.Forms.Timer(Me.components)
Me.StatusStrip1.SuspendLayout()
Me.GroupBox1.SuspendLayout()
Me.SuspendLayout()
'
'btnTestPing
'
Me.btnTestPing.Location = New System.Drawing.Point(17, 16)
Me.btnTestPing.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnTestPing.Location = New System.Drawing.Point(19, 20)
Me.btnTestPing.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.btnTestPing.Name = "btnTestPing"
Me.btnTestPing.Size = New System.Drawing.Size(100, 28)
Me.btnTestPing.Size = New System.Drawing.Size(112, 35)
Me.btnTestPing.TabIndex = 0
Me.btnTestPing.Text = "Test Ping"
Me.btnTestPing.UseVisualStyleBackColor = True
@@ -72,39 +74,39 @@ Partial Class ProcMan
'lblpingTest
'
Me.lblpingTest.AutoSize = True
Me.lblpingTest.Location = New System.Drawing.Point(153, 22)
Me.lblpingTest.Location = New System.Drawing.Point(172, 28)
Me.lblpingTest.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.lblpingTest.Name = "lblpingTest"
Me.lblpingTest.Size = New System.Drawing.Size(28, 16)
Me.lblpingTest.Size = New System.Drawing.Size(36, 20)
Me.lblpingTest.TabIndex = 1
Me.lblpingTest.Text = "???"
'
'lblTestAlive
'
Me.lblTestAlive.AutoSize = True
Me.lblTestAlive.Location = New System.Drawing.Point(365, 22)
Me.lblTestAlive.Location = New System.Drawing.Point(411, 28)
Me.lblTestAlive.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.lblTestAlive.Name = "lblTestAlive"
Me.lblTestAlive.Size = New System.Drawing.Size(28, 16)
Me.lblTestAlive.Size = New System.Drawing.Size(36, 20)
Me.lblTestAlive.TabIndex = 3
Me.lblTestAlive.Text = "???"
'
'btnTestAlive
'
Me.btnTestAlive.Location = New System.Drawing.Point(229, 16)
Me.btnTestAlive.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnTestAlive.Location = New System.Drawing.Point(258, 20)
Me.btnTestAlive.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.btnTestAlive.Name = "btnTestAlive"
Me.btnTestAlive.Size = New System.Drawing.Size(100, 28)
Me.btnTestAlive.Size = New System.Drawing.Size(112, 35)
Me.btnTestAlive.TabIndex = 2
Me.btnTestAlive.Text = "Test Alive"
Me.btnTestAlive.UseVisualStyleBackColor = True
'
'btnResetQueue
'
Me.btnResetQueue.Location = New System.Drawing.Point(17, 201)
Me.btnResetQueue.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnResetQueue.Location = New System.Drawing.Point(19, 251)
Me.btnResetQueue.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.btnResetQueue.Name = "btnResetQueue"
Me.btnResetQueue.Size = New System.Drawing.Size(100, 28)
Me.btnResetQueue.Size = New System.Drawing.Size(112, 35)
Me.btnResetQueue.TabIndex = 6
Me.btnResetQueue.Text = "Reset Q"
Me.btnResetQueue.UseVisualStyleBackColor = True
@@ -114,41 +116,41 @@ Partial Class ProcMan
Me.txtOut.BackColor = System.Drawing.SystemColors.ControlDarkDark
Me.txtOut.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txtOut.ForeColor = System.Drawing.Color.Yellow
Me.txtOut.Location = New System.Drawing.Point(16, 240)
Me.txtOut.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.txtOut.MinimumSize = New System.Drawing.Size(79, 147)
Me.txtOut.Location = New System.Drawing.Point(18, 300)
Me.txtOut.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.txtOut.MinimumSize = New System.Drawing.Size(88, 183)
Me.txtOut.Multiline = True
Me.txtOut.Name = "txtOut"
Me.txtOut.Size = New System.Drawing.Size(99, 173)
Me.txtOut.Size = New System.Drawing.Size(111, 215)
Me.txtOut.TabIndex = 7
Me.txtOut.Text = "---"
'
'btnQueueStatus
'
Me.btnQueueStatus.Location = New System.Drawing.Point(17, 79)
Me.btnQueueStatus.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnQueueStatus.Location = New System.Drawing.Point(19, 99)
Me.btnQueueStatus.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.btnQueueStatus.Name = "btnQueueStatus"
Me.btnQueueStatus.Size = New System.Drawing.Size(100, 28)
Me.btnQueueStatus.Size = New System.Drawing.Size(112, 35)
Me.btnQueueStatus.TabIndex = 8
Me.btnQueueStatus.Text = "Stato Queue"
Me.btnQueueStatus.UseVisualStyleBackColor = True
'
'StartProcess
'
Me.StartProcess.Location = New System.Drawing.Point(17, 23)
Me.StartProcess.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.StartProcess.Location = New System.Drawing.Point(19, 29)
Me.StartProcess.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.StartProcess.Name = "StartProcess"
Me.StartProcess.Size = New System.Drawing.Size(100, 28)
Me.StartProcess.Size = New System.Drawing.Size(112, 35)
Me.StartProcess.TabIndex = 9
Me.StartProcess.Text = "Start"
Me.StartProcess.UseVisualStyleBackColor = True
'
'StopProcess
'
Me.StopProcess.Location = New System.Drawing.Point(325, 22)
Me.StopProcess.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.StopProcess.Location = New System.Drawing.Point(366, 28)
Me.StopProcess.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.StopProcess.Name = "StopProcess"
Me.StopProcess.Size = New System.Drawing.Size(100, 28)
Me.StopProcess.Size = New System.Drawing.Size(112, 35)
Me.StopProcess.TabIndex = 10
Me.StopProcess.Text = "Stop"
Me.StopProcess.UseVisualStyleBackColor = True
@@ -157,17 +159,17 @@ Partial Class ProcMan
'
Me.StatusStrip1.ImageScalingSize = New System.Drawing.Size(20, 20)
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tsProgBar})
Me.StatusStrip1.Location = New System.Drawing.Point(0, 526)
Me.StatusStrip1.Location = New System.Drawing.Point(0, 659)
Me.StatusStrip1.Name = "StatusStrip1"
Me.StatusStrip1.Padding = New System.Windows.Forms.Padding(1, 0, 19, 0)
Me.StatusStrip1.Size = New System.Drawing.Size(736, 22)
Me.StatusStrip1.Padding = New System.Windows.Forms.Padding(1, 0, 21, 0)
Me.StatusStrip1.Size = New System.Drawing.Size(828, 26)
Me.StatusStrip1.TabIndex = 11
Me.StatusStrip1.Text = "StatusStrip1"
'
'tsProgBar
'
Me.tsProgBar.Name = "tsProgBar"
Me.tsProgBar.Size = New System.Drawing.Size(133, 14)
Me.tsProgBar.Size = New System.Drawing.Size(150, 18)
Me.tsProgBar.Step = 1
'
'txtQueue
@@ -175,42 +177,42 @@ Partial Class ProcMan
Me.txtQueue.BackColor = System.Drawing.SystemColors.ControlDarkDark
Me.txtQueue.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.0!)
Me.txtQueue.ForeColor = System.Drawing.SystemColors.Window
Me.txtQueue.Location = New System.Drawing.Point(17, 114)
Me.txtQueue.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.txtQueue.Location = New System.Drawing.Point(19, 142)
Me.txtQueue.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.txtQueue.Multiline = True
Me.txtQueue.Name = "txtQueue"
Me.txtQueue.Size = New System.Drawing.Size(99, 78)
Me.txtQueue.Size = New System.Drawing.Size(111, 96)
Me.txtQueue.TabIndex = 12
Me.txtQueue.Text = "Q Status:"
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Location = New System.Drawing.Point(132, 30)
Me.Label1.Location = New System.Drawing.Point(148, 38)
Me.Label1.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(35, 16)
Me.Label1.Size = New System.Drawing.Size(44, 20)
Me.Label1.TabIndex = 13
Me.Label1.Text = "num:"
'
'txtNumThread
'
Me.txtNumThread.Location = New System.Drawing.Point(171, 26)
Me.txtNumThread.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.txtNumThread.Location = New System.Drawing.Point(192, 32)
Me.txtNumThread.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.txtNumThread.Name = "txtNumThread"
Me.txtNumThread.Size = New System.Drawing.Size(41, 22)
Me.txtNumThread.Size = New System.Drawing.Size(46, 26)
Me.txtNumThread.TabIndex = 14
Me.txtNumThread.Text = "1"
Me.txtNumThread.Text = "0"
Me.txtNumThread.TextAlign = System.Windows.Forms.HorizontalAlignment.Right
'
'lblRunning
'
Me.lblRunning.AutoSize = True
Me.lblRunning.Location = New System.Drawing.Point(221, 30)
Me.lblRunning.Location = New System.Drawing.Point(249, 38)
Me.lblRunning.Margin = New System.Windows.Forms.Padding(4, 0, 4, 0)
Me.lblRunning.MinimumSize = New System.Drawing.Size(100, 0)
Me.lblRunning.MinimumSize = New System.Drawing.Size(112, 0)
Me.lblRunning.Name = "lblRunning"
Me.lblRunning.Size = New System.Drawing.Size(100, 16)
Me.lblRunning.Size = New System.Drawing.Size(112, 20)
Me.lblRunning.TabIndex = 15
Me.lblRunning.Text = "running: -"
Me.lblRunning.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
@@ -226,10 +228,10 @@ Partial Class ProcMan
'
Me.LISTThreadStatus.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.chThread, Me.chTime, Me.chOther})
Me.LISTThreadStatus.HideSelection = False
Me.LISTThreadStatus.Location = New System.Drawing.Point(17, 59)
Me.LISTThreadStatus.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.LISTThreadStatus.Location = New System.Drawing.Point(19, 74)
Me.LISTThreadStatus.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.LISTThreadStatus.Name = "LISTThreadStatus"
Me.LISTThreadStatus.Size = New System.Drawing.Size(536, 173)
Me.LISTThreadStatus.Size = New System.Drawing.Size(602, 215)
Me.LISTThreadStatus.TabIndex = 16
Me.LISTThreadStatus.UseCompatibleStateImageBehavior = False
Me.LISTThreadStatus.View = System.Windows.Forms.View.Details
@@ -259,11 +261,11 @@ Partial Class ProcMan
Me.GroupBox1.Controls.Add(Me.StopProcess)
Me.GroupBox1.Controls.Add(Me.Label1)
Me.GroupBox1.Controls.Add(Me.StartProcess)
Me.GroupBox1.Location = New System.Drawing.Point(157, 79)
Me.GroupBox1.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox1.Location = New System.Drawing.Point(177, 99)
Me.GroupBox1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Padding = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.GroupBox1.Size = New System.Drawing.Size(563, 438)
Me.GroupBox1.Padding = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.GroupBox1.Size = New System.Drawing.Size(633, 548)
Me.GroupBox1.TabIndex = 17
Me.GroupBox1.TabStop = False
Me.GroupBox1.Text = "Threads"
@@ -272,10 +274,10 @@ Partial Class ProcMan
'
Me.ThreadCurrentStatusList.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1, Me.ColumnHeader2, Me.ColumnHeader4, Me.ColumnHeader3})
Me.ThreadCurrentStatusList.HideSelection = False
Me.ThreadCurrentStatusList.Location = New System.Drawing.Point(17, 257)
Me.ThreadCurrentStatusList.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.ThreadCurrentStatusList.Location = New System.Drawing.Point(19, 321)
Me.ThreadCurrentStatusList.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.ThreadCurrentStatusList.Name = "ThreadCurrentStatusList"
Me.ThreadCurrentStatusList.Size = New System.Drawing.Size(536, 173)
Me.ThreadCurrentStatusList.Size = New System.Drawing.Size(602, 215)
Me.ThreadCurrentStatusList.TabIndex = 18
Me.ThreadCurrentStatusList.UseCompatibleStateImageBehavior = False
Me.ThreadCurrentStatusList.View = System.Windows.Forms.View.Details
@@ -290,25 +292,37 @@ Partial Class ProcMan
Me.ColumnHeader2.Text = "Thread Status"
Me.ColumnHeader2.Width = 100
'
'ColumnHeader4
'
Me.ColumnHeader4.DisplayIndex = 3
Me.ColumnHeader4.Text = "Thread Phase"
Me.ColumnHeader4.Width = 100
'
'ColumnHeader3
'
Me.ColumnHeader3.DisplayIndex = 2
Me.ColumnHeader3.Text = "Process Status"
Me.ColumnHeader3.Width = 100
'
'chkStatAggr
'
Me.chkStatAggr.AutoSize = True
Me.chkStatAggr.Checked = True
Me.chkStatAggr.CheckState = System.Windows.Forms.CheckState.Checked
Me.chkStatAggr.Location = New System.Drawing.Point(435, 26)
Me.chkStatAggr.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.chkStatAggr.Location = New System.Drawing.Point(489, 32)
Me.chkStatAggr.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.chkStatAggr.Name = "chkStatAggr"
Me.chkStatAggr.Size = New System.Drawing.Size(91, 20)
Me.chkStatAggr.Size = New System.Drawing.Size(111, 24)
Me.chkStatAggr.TabIndex = 17
Me.chkStatAggr.Text = "Aggr Stats"
Me.chkStatAggr.UseVisualStyleBackColor = True
'
'btnExportStats
'
Me.btnExportStats.Location = New System.Drawing.Point(612, 16)
Me.btnExportStats.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.btnExportStats.Location = New System.Drawing.Point(688, 20)
Me.btnExportStats.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.btnExportStats.Name = "btnExportStats"
Me.btnExportStats.Size = New System.Drawing.Size(100, 28)
Me.btnExportStats.Size = New System.Drawing.Size(112, 35)
Me.btnExportStats.TabIndex = 18
Me.btnExportStats.Text = "Export Stats"
Me.btnExportStats.UseVisualStyleBackColor = True
@@ -316,10 +330,10 @@ Partial Class ProcMan
'chkAutoRestart
'
Me.chkAutoRestart.AutoSize = True
Me.chkAutoRestart.Location = New System.Drawing.Point(465, 21)
Me.chkAutoRestart.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.chkAutoRestart.Location = New System.Drawing.Point(523, 26)
Me.chkAutoRestart.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.chkAutoRestart.Name = "chkAutoRestart"
Me.chkAutoRestart.Size = New System.Drawing.Size(99, 20)
Me.chkAutoRestart.Size = New System.Drawing.Size(122, 24)
Me.chkAutoRestart.TabIndex = 19
Me.chkAutoRestart.Text = "AutoRestart"
Me.chkAutoRestart.UseVisualStyleBackColor = True
@@ -328,23 +342,26 @@ Partial Class ProcMan
'
Me.TimerCheck.Interval = 30000
'
'ColumnHeader3
'Button1
'
Me.ColumnHeader3.DisplayIndex = 2
Me.ColumnHeader3.Text = "Process Status"
Me.ColumnHeader3.Width = 100
Me.Button1.Location = New System.Drawing.Point(688, 65)
Me.Button1.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size(112, 35)
Me.Button1.TabIndex = 20
Me.Button1.Text = "Kill All Procs"
Me.Button1.UseVisualStyleBackColor = True
'
'ColumnHeader4
'TimerResetProcessing
'
Me.ColumnHeader4.DisplayIndex = 3
Me.ColumnHeader4.Text = "Thread Phase"
Me.ColumnHeader4.Width = 100
Me.TimerResetProcessing.Interval = 3000
'
'ProcMan
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(8.0!, 16.0!)
Me.AutoScaleDimensions = New System.Drawing.SizeF(9.0!, 20.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(736, 548)
Me.ClientSize = New System.Drawing.Size(828, 685)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.chkAutoRestart)
Me.Controls.Add(Me.btnExportStats)
Me.Controls.Add(Me.GroupBox1)
@@ -358,7 +375,7 @@ Partial Class ProcMan
Me.Controls.Add(Me.lblpingTest)
Me.Controls.Add(Me.btnTestPing)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Margin = New System.Windows.Forms.Padding(4, 5, 4, 5)
Me.Name = "ProcMan"
Me.Text = "MainForm"
Me.StatusStrip1.ResumeLayout(False)
@@ -401,4 +418,6 @@ Partial Class ProcMan
Friend WithEvents ColumnHeader2 As ColumnHeader
Friend WithEvents ColumnHeader3 As ColumnHeader
Friend WithEvents ColumnHeader4 As ColumnHeader
Friend WithEvents Button1 As Button
Friend WithEvents TimerResetProcessing As Timer
End Class
+3
View File
@@ -129,6 +129,9 @@
<metadata name="TimerCheck.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>354, 17</value>
</metadata>
<metadata name="TimerResetProcessing.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>511, 22</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
File diff suppressed because it is too large Load Diff
@@ -50,7 +50,32 @@
<PropertyGroup>
<ApplicationIcon>Resources\Temp.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<DefineDebug>true</DefineDebug>
<DefineTrace>true</DefineTrace>
<OutputPath>bin\x64\Debug\</OutputPath>
<DocumentationFile>WebDoorCreator.CamSrv.xml</DocumentationFile>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DefineTrace>true</DefineTrace>
<OutputPath>bin\x64\Release\</OutputPath>
<DocumentationFile>WebDoorCreator.CamSrv.xml</DocumentationFile>
<Optimize>true</Optimize>
<NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="EgtUILib, Version=2.5.5.1, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ExtLib\EgtUILib.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\DemoServer\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
@@ -96,6 +121,7 @@
<Import Include="System.Threading.Tasks" />
</ItemGroup>
<ItemGroup>
<Compile Include="ConstIni.vb" />
<Compile Include="ProcMan.vb">
<SubType>Form</SubType>
</Compile>
+20
View File
@@ -24,8 +24,14 @@ namespace WebDoorCreator.Core
public static readonly string CALC_REQ_ERRS = $"{BASE_HASH}:CalcRequests:Errors";
public static readonly string CALC_REQ_PEND = $"{BASE_HASH}:CalcRequests:Pending";
public static readonly string CALC_REQ_PROC = $"{BASE_HASH}:CalcRequests:Processing";
public static readonly string CALC_REQ_TYPE = $"{BASE_HASH}:CalcRequests:Type";
public static readonly string CALC_REQ_DDF_CACHE = $"{BASE_HASH}:CalcRequests:CacheDDF";
public static readonly string CALC_REQ_SVG_CACHE = $"{BASE_HASH}:CalcRequests:CacheSVG";
public static readonly string CALC_REQ_VETO_REC = $"{BASE_HASH}:CalcRequests:VetoRecalc";
public static readonly string DOOR_TPL_LIST = $"{BASE_HASH}:Template:DoorList";
// REDIS KEY dati x registrazione statistiche esecuzione
public static readonly string STATS_DATA = $"{BASE_HASH}:CallStats";
// REDIS Channels messaggi x QueueMan (verso UI/srv)
public static readonly string CALC_REQ_QUEUE = $"CalcRequest";
@@ -36,18 +42,32 @@ namespace WebDoorCreator.Core
// classi utilità x cache REDIS dati DB
public const string redisBaseAddr = "WDC";
public const string rKeyConfig = $"{redisBaseAddr}:Cache:Config";
public const string rKeyCompany = $"{redisBaseAddr}:Cache:Company";
public const string rKeyDoor = $"{redisBaseAddr}:Cache:Door";
public const string rKeyDoorOp = $"{redisBaseAddr}:Cache:DoorOp";
public const string rKeyDoorOpType = $"{redisBaseAddr}:Cache:DoorOpType";
public const string rKeyGraphicParameters = $"{redisBaseAddr}:Cache:GraphicParameters";
public const string rKeyListValues = $"{redisBaseAddr}:Cache:ListValues";
public const string rKeyDoorLast = $"{redisBaseAddr}:Cache:DoorList";
public const string rKeyDoorsByOrder = $"{redisBaseAddr}:Cache:DoorsByOrder";
public const string rKeyOrderByComp = $"{redisBaseAddr}:Cache:OrderByComp";
public const string rKeyOrderDetail = $"{redisBaseAddr}:Cache:OrderDetail";
public const string rKeyOrderStatus = $"{redisBaseAddr}:Cache:OrderStatus";
public const string rKeyRoles = $"{redisBaseAddr}:Cache:Roles";
public const string rKeyUsers = $"{redisBaseAddr}:Cache:Users";
public const string rKeyUsersAll = $"{redisBaseAddr}:Cache:UsersAll";
public const string rKeyUsersData = $"{redisBaseAddr}:Cache:UsersData";
public const string rKeyUsersDataSearch = $"{rKeyUsersData}:Search";
public const string rKeyUsersView = $"{redisBaseAddr}:Cache:UsersView";
public const string rKeyVocLemma = $"{redisBaseAddr}:Cache:VocLemma";
public const string rKeyVocLemmaTEMP = $"{redisBaseAddr}:Cache:VocLemmaTEMP";
public const string rKeyLanguage = $"{redisBaseAddr}:Cache:Languages";
public const string rKeyDirsScan = $"{redisBaseAddr}:Cache:Scan";
/// <summary>
/// variabili accessorie ulteriori
/// </summary>
public const int StatusIdTemplate = 10000;
}
}
+9 -1
View File
@@ -4,7 +4,7 @@
{
#region Public Enums
public enum UserLevel
{
@@ -32,6 +32,14 @@
CodeDescending
}
public enum fileStatus
{
none = 0,
add,
mod,
rem
}
#endregion Public Enums
}
}
+50
View File
@@ -0,0 +1,50 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Core
{
public class ExecStats
{
/// <summary>
/// Numero chiamate registrate
/// </summary>
public int NumCall { get; set; } = 0;
/// <summary>
/// Durata totale chiamate
/// </summary>
public TimeSpan TotalTime { get; set; } = new TimeSpan(0, 0, 0);
/// <summary>
/// Tempo medio (calcolato)
/// </summary>
[NotMapped]
public TimeSpan AvgTime
{
get
{
TimeSpan answ = TotalTime;
if (NumCall > 1)
{
answ = TotalTime / NumCall;
}
return answ;
}
}
/// <summary>
/// Init classe
/// </summary>
/// <param name="numCall"></param>
/// <param name="duration"></param>
public ExecStats(int numCall, TimeSpan duration)
{
this.NumCall = numCall;
this.TotalTime = duration;
}
}
}
+102
View File
@@ -0,0 +1,102 @@
using Microsoft.Reporting.NETCore;
using Microsoft.ReportingServices.ReportProcessing.ReportObjectModel;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Reflection;
namespace WebDoorCreator.Core.ReportViewer
{
/// <summary>
/// Gestione report dotNet core
///
/// https://github.com/lkosson/reportviewercore/
/// </summary>
public class Report
{
/// <summary>
/// Effettua setup del Report corrente
/// </summary>
/// <param name="ReportObj">Oggetto LocalReport da impiegare</param>
/// <param name="FileNameRdlc">Nome del Report (file rdlc) da usare</param>
/// <param name="RepParams">Parametri opzionali report</param>
/// <param name="ReportDatasets">Dizionario dei dataset del report (DsName + DataTable relativa)</param>
public static void Load(LocalReport ReportObj, string FileNameRdlc, List<ReportParameter> RepParams, Dictionary<string, DataTable> ReportDatasets)
{
// setup preliminari
ReportObj.EnableExternalImages = true;
// calcolo path complessivo
string reportPath = Path.Combine(AppContext.BaseDirectory, "Reports", FileNameRdlc);
/*------------------------------------------------------------------------------------------
* NB: SE volessi includere i ReportObj come EMBEDDED potrei usare una versione alternativa,
* ad esempio (x ReportObj inclusi in area WebDoorCreator.Core\ReportViewer\Report.rdlc
*
* using var rs = Assembly.GetExecutingAssembly().GetManifestResourceStream("WebDoorCreator.Core.ReportViewer.Report.rdlc");
* ReportObj.LoadReportDefinition(rs);
*
* oppure con filestream
* using (FileStream fs = File.OpenRead(reportPath))
* {
* ReportObj.LoadReportDefinition(fs);
* ....
* }
*
* ------------------------------------------------------------------------------------------*/
ReportObj.ReportPath = reportPath;
foreach (var item in ReportDatasets)
{
ReportObj.DataSources.Add(new ReportDataSource(item.Key, item.Value));
}
ReportObj.SetParameters(RepParams);
}
/// <summary>
/// Parametri associati al report
/// </summary>
public class RenderParams
{
public string FileName { get; set; } = "";
public string Extension { get; set; } = "";
public string MimeType { get; set; } = "";
public string RenderFormat { get; set; } = "";
/// <summary>
/// Crea setup parametri report dato formato desiderato
/// </summary>
/// <param name="OutFormat"></param>
public RenderParams(string OutFormat)
{
this.FileName = $"{DateTime.Now:yyyyMMdd_HHmmss}";
switch (OutFormat.ToUpper())
{
case "HTML":
this.Extension = "html";
this.RenderFormat = "HTML5";
this.MimeType = "text/html";
break;
case "DOCX":
this.Extension = "docx";
this.RenderFormat = "WORDOPENXML";
this.MimeType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
break;
case "XLSX":
this.Extension = "xlsx";
this.RenderFormat = "EXCELOPENXML";
this.MimeType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
break;
case "PDF":
default:
this.Extension = "pdf";
this.RenderFormat = "PDF";
this.MimeType = "application/pdf";
break;
}
}
}
}
}
@@ -0,0 +1,447 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="LocalSource">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>bd60bef3-b3d9-477e-9052-ab58c6f1ec86</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="Items">
<Query>
<DataSourceName>LocalSource</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="Description">
<DataField>Description</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Price">
<DataField>Price</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
<Field Name="Qty">
<DataField>Qty</DataField>
<rd:TypeName>System.Int32</rd:TypeName>
</Field>
<Field Name="Total">
<DataField>Total</DataField>
<rd:TypeName>System.Decimal</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>LocalSource</rd:DataSetName>
<rd:TableName>Items</rd:TableName>
<rd:ObjectDataSourceType>ReportViewerCore.ReportItem</rd:ObjectDataSourceType>
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportSections>
<ReportSection>
<Body>
<ReportItems>
<Tablix Name="Tablix1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>8.31785cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.51905cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.67938cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Description</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Price</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Qty</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Total</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.67938cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Description">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Description.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Description</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Price">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Price.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Price</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Qty">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Qty.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Qty</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Total">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Total.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Total</rd:DefaultName>
<Style>
<Border>
<Style>Solid</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>Items</DataSetName>
<Top>2.85433cm</Top>
<Left>0.3175cm</Left>
<Height>1.35875cm</Height>
<Width>15.875cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
<Textbox Name="Textbox6">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!Title.Value</Value>
<Style>
<FontFamily>Cambria</FontFamily>
<FontSize>26pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Top>0.26141cm</Top>
<Left>0.3175cm</Left>
<Height>1.79062cm</Height>
<Width>15.875cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>2in</Height>
<Style />
</Body>
<Width>6.5in</Width>
<Page>
<PageHeight>29.7cm</PageHeight>
<PageWidth>21cm</PageWidth>
<LeftMargin>2cm</LeftMargin>
<RightMargin>2cm</RightMargin>
<TopMargin>2cm</TopMargin>
<BottomMargin>2cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
</ReportSection>
</ReportSections>
<ReportParameters>
<ReportParameter Name="Title">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<ReportParametersLayout>
<GridLayoutDefinition>
<NumberOfColumns>4</NumberOfColumns>
<NumberOfRows>2</NumberOfRows>
<CellDefinitions>
<CellDefinition>
<ColumnIndex>0</ColumnIndex>
<RowIndex>0</RowIndex>
<ParameterName>Title</ParameterName>
</CellDefinition>
</CellDefinitions>
</GridLayoutDefinition>
</ReportParametersLayout>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>156b21d2-9542-4902-99ef-7ec823774bb2</rd:ReportID>
</Report>
@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace WebDoorCreator.Core.ReportViewer
{
public class ReportItem
{
public string Description { get; set; } = "";
public decimal Price { get; set; } = 0;
public int Qty { get; set; } = 0;
public decimal Total => Price * Qty;
}
}
+18 -3
View File
@@ -7,10 +7,25 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="EntityFrameworkCore.SqlServer.HierarchyId" Version="3.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.14" />
<PackageReference Include="NLog" Version="5.1.2" />
<Compile Remove="ReportViewer\ReportExtUtils.cs" />
</ItemGroup>
<ItemGroup>
<None Remove="ReportViewer\Report.rdlc" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.27" />
<PackageReference Include="NLog" Version="5.2.2" />
<PackageReference Include="ReportViewerCore.NETCore" Version="15.1.17" />
<PackageReference Include="ToDataTable" Version="0.1.2" />
<PackageReference Include="YamlDotNet" Version="13.1.0" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="ReportViewer\Report.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</EmbeddedResource>
</ItemGroup>
</Project>
+8 -2
View File
@@ -3,6 +3,7 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using NLog;
using NLog.Fluent;
using YamlDotNet.Serialization;
namespace WebDoorCreator.Data
{
@@ -13,13 +14,16 @@ namespace WebDoorCreator.Data
private IConfiguration _configuration { get; set; } = null!;
public ApplicationDbContext()
{
Log.Info($"ApplicationDbContext Init");
try
{
// se non ci fosse... crea o migra!
Database.Migrate();
}
catch (Exception exc)
{ }
{
Log.Error($"Exc during ApplicationDbContext() init:{Environment.NewLine}{exc}");
}
}
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IConfiguration configuration) : base(options)
{
@@ -34,7 +38,9 @@ namespace WebDoorCreator.Data
Database.Migrate();
}
catch (Exception exc)
{ }
{
Log.Error($"Exc during ApplicationDbContext(DbContextOptions<ApplicationDbContext> options, IConfiguration configuration) init:{Environment.NewLine}{exc}");
}
}
}
protected override void OnModelCreating(ModelBuilder builder)
@@ -0,0 +1,37 @@
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System.Reflection.Emit;
using WebDoorCreator.Data.DbModels;
namespace WebDoorCreator.Data
{
public class ConfigConfiguration : IEntityTypeConfiguration<ConfigModel>
{
#region Public Methods
public void Configure(EntityTypeBuilder<ConfigModel> builder)
{
// aggiungo config URL x generazione immagini report
builder.HasData(
seedConfig("prt_ImageCodeBaseUrl", "https://iis01.egalware.com/WDC/SRV/api/", "https://seriate.egalware.com/WDC/SRV/api/", "URL di base per recupero immagini png"),
seedConfig("prt_ReportServerUrl", "http://w2019-sql-steam/reportserver?/Test/WebDoor/", "http://w2019-sql-steam/reportserver?/Test/WebDoor/", "URL di base del Report Server")
);
}
#endregion Public Methods
protected ConfigModel seedConfig(string chiave, string valore, string valoreStd, string note)
{
var newRec = new ConfigModel()
{
chiave = chiave,
valore = valore,
valoreStd = valoreStd,
note = note
};
return newRec;
}
}
}
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -37,7 +37,7 @@ namespace WebDoorCreator.Data.DDF
{
string outDdf = "";
try
{
{
DoorOpsDTO CurrentDoorOp = new DoorOpsDTO();
EdgesDto CurrentEdges = new EdgesDto();
SizeDto CurrentSize = new SizeDto();
@@ -46,10 +46,13 @@ namespace WebDoorCreator.Data.DDF
FinishingDto CurrentFinishing = new FinishingDto();
DDFDto CurrentConf = new DDFDto();
ListValuesModel CurrentCompoOrder = new ListValuesModel();
Dictionary<string, List<Dictionary<string, string>>> dictDoorOP = new Dictionary<string, List<Dictionary<string, string>>>();
Dictionary<string, Dictionary<string, string>> dictBaseDoorOp = new Dictionary<string, Dictionary<string, string>>();
Dictionary<string, Dictionary<string, string>> dictBaseSwing = new Dictionary<string, Dictionary<string, string>>();
// per prima cosa popolo gli oggetti di appoggio...
dictDoorOP = new Dictionary<string, List<Dictionary<string, string>>>();
var i = 0;
foreach (var item in listOp.Where(x=>x.ObjectId != "Size" && x.ObjectId != "Profiles" && x.ObjectId != "Swing" && x.ObjectId != "Properties" && x.ObjectId != "Finishing"))
foreach (var item in listOp.Where(x => x.ObjectId != "Size" && x.ObjectId != "Profiles" && x.ObjectId != "Swing" && x.ObjectId != "Properties" && x.ObjectId != "Finishing"))
{
var deserialized = JsonConvert.DeserializeObject<Dictionary<string, string>>(item.JsoncActVal!);
if (deserialized != null)
@@ -122,7 +125,7 @@ namespace WebDoorCreator.Data.DDF
}
i++;
}
CurrentSize.size = dictBaseDoorOp;
CurrentSize.size = dictBaseDoorOp;
string sizeSer = CurrentSize.GetSerialized(RemDoorOp);
//dictBaseDoorOp.Clear();
foreach (var item in listOp.Where(x => x.ObjectId == "Swing"))
@@ -148,9 +151,6 @@ namespace WebDoorCreator.Data.DDF
#region Protected Properties
protected Dictionary<string, List<Dictionary<string, string>>> dictDoorOP { get; set; } = new Dictionary<string, List<Dictionary<string, string>>>();
protected Dictionary<string, Dictionary<string, string>> dictBaseDoorOp { get; set; } = new Dictionary<string, Dictionary<string, string>>();
protected Dictionary<string, Dictionary<string, string>> dictBaseSwing { get; set; } = new Dictionary<string, Dictionary<string, string>>();
protected List<string> FootRows { get; set; } = new List<string>();
protected string FormatVers { get; set; } = "0";
protected List<string> HeadRows { get; set; } = new List<string>();
+23
View File
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// Oggetto contenitore richiesta calcolo
/// </summary>
public class CalcReqtDTO
{
/// <summary>
/// DDF file content (origin)
/// </summary>
public string DDF { get; set; } = "";
/// <summary>
/// MimeType (out) requested: svg / 3dm...
/// </summary>
public string MimeType { get; set; } = "";
}
}
+7 -3
View File
@@ -24,11 +24,15 @@ namespace WebDoorCreator.Data.DTO
/// </summary>
public string ErrorMsg { get; set; } = "";
/// <summary>
/// SVG generated
/// Object RAW generated output ( was SvgGen )
/// </summary>
public string SvgGen { get; set; } = "";
public string RawContent { get; set; } = "";
/// <summary>
/// Articat path (ex 3d zip/pack)
/// MimeType: svg / 3dm...
/// </summary>
public string MimeType { get; set; } = "";
/// <summary>
/// Artifats path (ex 3d zip/pack)
/// </summary>
public string artifactPath { get; set; } = "";
}
+21
View File
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
public class CostingDTO
{
/// <summary>
/// Order's UID
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// Dictionary of evaluated unit cost for each Door in Order
/// </summary>
public Dictionary<int, double> DoorUnitCost { get; set; } = new Dictionary<int, double>();
}
}
+59
View File
@@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// COmpany data DTO
/// </summary>
[Serializable]
public class CustomerDTO
{
public int CompanyId { get; set; }
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
[MaxLength(250)]
public string CompanyExtCode { get; set; } = "";
/// <summary>
/// Nome / ragione Sociale
/// </summary>
[MaxLength(500)]
public string CompanyName { get; set; } = "";
/// <summary>
/// indirizzo
/// </summary>
[MaxLength(250)]
public string Address { get; set; } = "";
/// <summary>
/// CAP
/// </summary>
public int ZipCode { get; set; } = 0;
/// <summary>
/// Citta
/// </summary>
[MaxLength(50)]
public string City { get; set; } = "";
/// <summary>
/// Stato
/// </summary>
[MaxLength(50)]
public string State { get; set; } = "";
/// <summary>
/// VAT / P.Iva
/// </summary>
[MaxLength(50)]
public string VAT { get; set; } = "";
}
}
+22
View File
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// Serialized door data for cost evaluation
/// </summary>
[Serializable]
public class DoorCostingDTO
{
public int DoorId { get; set; } = 0;
public int Quantity { get; set; } = 1;
public double EstimatedWorkTime { get; set; } = 0;
public Dictionary<string, List<string>> BOMList { get; set; }= new Dictionary<string, List<string>>();
}
}
+35
View File
@@ -0,0 +1,35 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// Door cost data DTO
/// </summary>
public class DoorPriceDTO
{
/// <summary>
/// Door UID
/// </summary>
public int OrderId { get; set; } = 0;
/// <summary>
/// Door UID
/// </summary>
public int DoorId { get; set; } = 0;
/// <summary>
/// Articat path (ex 3d zip/pack)
/// </summary>
public decimal UnitCost { get; set; } = 0;
/// <summary>
/// Valid = true / cannot deliver = false
/// </summary>
public bool Valid { get; set; } = true;
/// <summary>
/// Error message (optional)
/// </summary>
public string ErrorMsg { get; set; } = "";
}
}
-1
View File
@@ -35,7 +35,6 @@ namespace WebDoorCreator.Data.DTO
}
if (item.Contains("Separator"))
{
//sb.Remove(item);
sb.AppendLine(" ");
}
}
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static WebDoorCreator.Core.Enum;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// File data DTO
/// </summary>
[Serializable]
public class FileDTO
{
//public string HwCode { get; set; } = "";
public string FileBaseDir { get; set; } = "";
//public string FileAbsPath { get; set; } = "";
public string FileRelPath { get; set; } = "";
public string FileMD5 { get; set; } = "";
public long FileDim { get; set; } = 0;
public DateTime lastModTime { get; set; } = DateTime.Now;
public fileStatus status { get; set; } = fileStatus.none;
public bool action { get; set; } = false;
}
}
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DTO
{
/// <summary>
/// Serialized order data
/// </summary>
[Serializable]
public class OrderDetailsDTO
{
/// <summary>
/// Order UID (DB)
/// </summary>
public int OrderId { get; set; }
/// <summary>
/// Customer Info
/// </summary>
public CustomerDTO CustomerInfo { get; set; } = new CustomerDTO();
/// <summary>
/// Order reference / Ext code
/// </summary>
public string OrderExtCode { get; set; } = "";
/// <summary>
/// Order description
/// </summary>
public string OrderDescript { get; set; } = "";
/// <summary>
/// Door list for current order
/// </summary>
public List<DoorCostingDTO> DoorsList { get; set; } = new List<DoorCostingDTO>();
}
}
@@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DbModels
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
[Table("Config")]
public partial class ConfigModel
{
[Key]
public string chiave { get; set; } = null!;
public string valore { get; set; } = "";
public string valoreStd { get; set; } = "";
public string note { get; set; } = "";
}
}
+48 -8
View File
@@ -22,6 +22,11 @@ namespace WebDoorCreator.Data.DbModels
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorId { get; set; }
/// <summary>
/// Parent element ID
/// </summary>
public int ParentId { get; set; }
/// <summary>
/// Ordine cui è associata la porta
/// </summary>
@@ -32,11 +37,6 @@ namespace WebDoorCreator.Data.DbModels
/// </summary>
public string MeasureUnit { get; set; } = "";
/// <summary>
/// Door's Type
/// </summary>
public int TypeId { get; set; } = 0;
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
@@ -88,11 +88,16 @@ namespace WebDoorCreator.Data.DbModels
/// </summary>
public string UserIdLock { get; set; } = "";
/// <summary>
/// Valore booleano per indicare se è in stato cancellazione logica
/// </summary>
public bool isLogicDel { get; set; } = false;
[ForeignKey("OrderId")]
public virtual OrderModel? OrderNav { get; set; }
[ForeignKey("TypeId")]
public virtual DoorTypeModel? TypeNav { get; set; }
//[ForeignKey("TypeId")]
// public virtual DoorTypeModel? TypeNav { get; set; }
public DoorModel ObjClone(string userId)
@@ -102,7 +107,7 @@ namespace WebDoorCreator.Data.DbModels
{
MeasureUnit = MeasureUnit,
OrderId = OrderId,
TypeId = TypeId,
ParentId = ParentId,
DoorExtCode = DoorExtCode,
DateIns = adesso,
UserIdIns = userId,
@@ -116,5 +121,40 @@ namespace WebDoorCreator.Data.DbModels
};
return answ;
}
public override bool Equals(object? obj)
{
if (obj == null)
return false;
if (!(obj is DoorModel item))
return false;
if (Quantity != item.Quantity)
return false;
if (DoorExtCode != item.DoorExtCode)
return false;
if (DoorDescript != item.DoorDescript)
return false;
if (UnitCost != item.UnitCost)
return false;
//if (MeasureUnit != item.MeasureUnit)
// return false;
//if (UnitCost != item.UnitCost)
// return false;
return true;
}
public override int GetHashCode()
{
return base.GetHashCode();
}
}
}
+9 -9
View File
@@ -131,11 +131,11 @@ namespace WebDoorCreator.Data.DbModels
}
}
/// <summary>
/// COmparazione tra il dizionario currVal corrente e quello ricevuto
/// Comparazione tra il dizionario currVal corrente e quello ricevuto
/// </summary>
/// <param name="newDict">Dizionario x comparazione</param>
/// <returns></returns>
public bool JsoncActValEquals(Dictionary<string, string> newDict)
public bool JsonActValEquals(Dictionary<string, string> newDict)
{
string JsonNewVal = JsonConvert.SerializeObject(newDict);
bool answ = JsoncActVal.Equals(JsonNewVal);
@@ -156,9 +156,10 @@ namespace WebDoorCreator.Data.DbModels
/// <summary>
/// Clone oggetto
/// </summary>
/// <param name="userId"></param>
/// <param name="userName"></param>
/// <param name="doorId"></param>
/// <returns></returns>
public DoorOpModel ObjClone(string userId, int doorId)
public DoorOpModel ObjClone(string userName, int doorId)
{
DoorOpModel answ = new DoorOpModel();
DateTime adesso = DateTime.Now;
@@ -168,8 +169,8 @@ namespace WebDoorCreator.Data.DbModels
{
DateIns = adesso,
DateMod = adesso,
UserIdIns = userId,
UserIdMod = userId,
UserIdIns = userName,
UserIdMod = userName,
ObjectId = ObjectId,
DoorId = DoorId,
JsoncConfigVal = JsoncConfigVal,
@@ -184,8 +185,8 @@ namespace WebDoorCreator.Data.DbModels
{
DateIns = adesso,
DateMod = adesso,
UserIdIns = userId,
UserIdMod = userId,
UserIdIns = userName,
UserIdMod = userName,
ObjectId = ObjectId,
DoorId = doorId,
JsoncConfigVal = JsoncConfigVal,
@@ -197,6 +198,5 @@ namespace WebDoorCreator.Data.DbModels
return answ;
}
}
}
+31 -13
View File
@@ -21,6 +21,11 @@ namespace WebDoorCreator.Data.DbModels
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorOpTypId { get; set; }
/// <summary>
/// Indica Id del parent: se 0 sono root, altrimenti indica il type parent
/// </summary>
public int ParentId { get; set; } = 0;
/// <summary>
/// Codice univoco dell'operazione da svolgere (calcolato, idealmente 4 char da 36 val 0..Z)
/// </summary>
@@ -68,20 +73,14 @@ namespace WebDoorCreator.Data.DbModels
public string FPath { get; set; } = "";
/// <summary>
/// Idx univoco dell'elemento parent (se 0 = root)
/// Unit cost for the door
/// </summary>
public int ParentDoorOpId { get; set; } = 0;
public decimal UnitCost { get; set; } = 0;
/// <summary>
/// Idx univoco dell'elemento parent (se 0 = root)
/// </summary>
public HierarchyId? DoorOpIdPathFromPatriarch { get; set; }
/// <summary>
/// Oggetto Json per specifica configurazione (template)
/// </summary>
public string JsoncConfig { get; set; } = "";
///// <summary>
///// Oggetto Json per specifica configurazione (template)
///// </summary>
//public string JsoncConfig { get; set; } = "";
/// <summary>
/// Codice esterno (opzionale)
@@ -108,6 +107,21 @@ namespace WebDoorCreator.Data.DbModels
/// </summary>
public DateTime ValidUntil { get; set; } = new DateTime(3000, 1, 1);
/// <summary>
/// MD5 Calcolato per controllo uguaglianze
/// </summary>
public string FileMD5 { get; set; } = "";
/// <summary>
/// Dimensione file corrente
/// </summary>
public long FileDim { get; set; } = 0;
/// <summary>
/// Dimensione file corrente
/// </summary>
public DateTime LastMod { get; set; } = DateTime.Today;
/// <summary>
/// Check validità item
/// </summary>
@@ -116,7 +130,11 @@ namespace WebDoorCreator.Data.DbModels
{
get => DateTime.Today >= ValidFrom && DateTime.Today <= ValidUntil;
}
/// <summary>
/// Stato della door operation {-1=DELETED, 0=UNCHANGED, 1=ADDED, 2=MODIFIED}
/// </summary>
[NotMapped]
public int status { get; set; } = 0;
/// <summary>
/// Numero massimo associabile a singola Door
/// </summary>
@@ -0,0 +1,144 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace WebDoorCreator.Data.DbModels
{
/// <summary>
/// Tabella dati Door Operation Type (astratte) TEMP
/// </summary>
[Table("DoorOpTypeTemp")]
public class DoorOpTypeTempModel
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorOpTypId { get; set; }
/// <summary>
/// Codice univoco dell'operazione da svolgere (calcolato, idealmente 4 char da 36 val 0..Z)
/// </summary>
public string OpCode { get; set; } = "";
/// <summary>
/// Descrizione
/// </summary>
public string Description { get; set; } = "";
/// <summary>
/// Indica se sia da creare sempre
/// </summary>
public bool IsDefault { get; set; } = false;
/// <summary>
/// Indica se ci sia un hardware correlato all'operazione
/// </summary>
public bool HasHw { get; set; } = true;
/// <summary>
/// Indica se sia un oggetto concreto (= con un file, che si può produrre) o abstract (ha figli, è un gruppo logico)
/// </summary>
public bool IsConcrete { get; set; } = true;
/// <summary>
/// Codice dell'HW collegato
/// </summary>
public string HwCode { get; set; } = "";
/// <summary>
/// Descrizione dell'HW collegato
/// </summary>
public string HwDescription { get; set; } = "";
/// <summary>
/// URL dell'immagine/link di riferimento
/// </summary>
public string DisplayUrl { get; set; } = "";
/// <summary>
/// Path folder/file di riferimento
/// </summary>
public string FPath { get; set; } = "";
/// <summary>
/// Idx univoco dell'elemento parent (se 0 = root)
/// </summary>
public int ParentDoorOpId { get; set; } = 0;
///// <summary>
///// Idx univoco dell'elemento parent (se 0 = root)
///// </summary>
//public HierarchyId? DoorOpIdPathFromPatriarch { get; set; }
/// <summary>
/// Unit cost for the door
/// </summary>
public decimal UnitCost { get; set; } = 0;
///// <summary>
///// Oggetto Json per specifica configurazione (template)
///// </summary>
//public string JsoncConfig { get; set; } = "";
/// <summary>
/// Codice esterno (opzionale)
/// </summary>
public string ExtOpCode { get; set; } = "";
/// <summary>
/// Descrizione esterna (opzionale)
/// </summary>
public string ExtDescript { get; set; } = "";
/// <summary>
/// Revisione dell'item
/// </summary>
public string Rev { get; set; } = "";
/// <summary>
/// Inizio validità item
/// </summary>
public DateTime ValidFrom { get; set; } = new DateTime(2000, 1, 1);
/// <summary>
/// Fine validità item
/// </summary>
public DateTime ValidUntil { get; set; } = new DateTime(3000, 1, 1);
/// <summary>
/// MD5 Calcolato per controllo uguaglianze
/// </summary>
public string FileMD5 { get; set; } = "";
/// <summary>
/// Dimensione file corrente
/// </summary>
public long FileDim { get; set; } = 0;
/// <summary>
/// Data ultima modifica
/// </summary>
public DateTime LastMod { get; set; } = DateTime.Today;
/// <summary>
/// Check validità item
/// </summary>
[NotMapped]
public bool IsActive
{
get => DateTime.Today >= ValidFrom && DateTime.Today <= ValidUntil;
}
/// <summary>
/// Numero massimo associabile a singola Door
/// </summary>
public int MaxAllowed { get; set; } = 1;
}
}
@@ -1,34 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace WebDoorCreator.Data.DbModels
{
/// <summary>
/// Tabella dati Door Type
/// </summary>
[Table("DoorType")]
public class DoorTypeModel
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int TypeId { get; set; }
/// <summary>
/// Codice univoco del modello
/// </summary>
public string TypeCode { get; set; } = "";
/// <summary>
/// Descrizione
/// </summary>
public string Description { get; set; } = "";
}
}
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WebDoorCreator.Data.DbModels
{
[Table("TestTable")]
public class IdentityTableSeedTest
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int IdUni { get; set; } = 0;
[MaxLength(50)]
public string Campo1 { get; set; } = "";
[MaxLength(500)]
public string Campo2 { get; set; } = "";
}
}
@@ -12,18 +12,33 @@ namespace WebDoorCreator.Data.DbModels
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
[Table("SerializedDoors")]
public partial class SerializedDoorsModel
[Table("ListValues")]
public partial class ListValuesModel
{
#region Public Properties
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorTmpId { get; set; }
[MaxLength(50)]
public string TableName { get; set; }
public string DoorSerVal { get; set; }
[MaxLength(50)]
public string FieldName { get; set; }
public bool Lock { get; set; }
[MaxLength(250)]
public string Value { get; set; }
[MaxLength(250)]
public string Label { get; set; }
public int Ordinal { get; set; }
[MaxLength(50)]
public string InputType{ get; set; }
[MaxLength(100)]
public string DefaultVal { get; set; }
[MaxLength(5)]
public bool isSerializable { get; set; }
#endregion Public Properties
}
@@ -23,10 +23,10 @@ namespace WebDoorCreator.Data.DbModels
[MaxLength(50)]
public string FieldName { get; set; }
[MaxLength(50)]
[MaxLength(250)]
public string Value { get; set; }
[MaxLength(50)]
[MaxLength(250)]
public string Label { get; set; }
public int Ordinal { get; set; }
+22 -1
View File
@@ -51,6 +51,26 @@ namespace WebDoorCreator.Data.DbModels
/// </summary>
public string UserIdMod { get; set; } = "";
/// <summary>
/// Data promessa di consegna
/// </summary>
public DateTime DateDelivery { get; set; } = DateTime.Now.AddDays(60);
/// <summary>
/// Expected order delivery from DCA
/// </summary>
public DateTime DateProm { get; set; } = DateTime.Now.AddDays(60);
/// <summary>
/// Date Order confirmed by customer from Order table
/// </summary>
public DateTime DateOrd { get; set; }
/// <summary>
/// Eventuale sconto globale
/// </summary>
public double Discount { get; set; } = 0;
/// <summary>
/// Stato globale dell'ordine
/// </summary>
@@ -61,9 +81,10 @@ namespace WebDoorCreator.Data.DbModels
/// </summary>
public string OrderDescript { get; set; } = "";
[ForeignKey("CompanyId")]
public virtual CompanyModel? CompanyNav { get; set; }
}
}
@@ -14,7 +14,6 @@ namespace WebDoorCreator.Data.DbModels
/// <summary>
/// View to retrieve data from multiple tables
/// </summary>
//[Table("v_OrderStatus")]
public class OrderStatusViewModel
{
/// <summary>
@@ -70,5 +69,25 @@ namespace WebDoorCreator.Data.DbModels
/// TotCost represent the total cost of the order
/// </summary>
public decimal TotCost { get; set; } = 0;
/// <summary>
/// Expected order delivery from DCA
/// </summary>
public DateTime DateProm { get; set; } = DateTime.Now.AddDays(60);
/// <summary>
/// Date Order confirmed by customer from Order table
/// </summary>
public DateTime DateOrd { get; set; }
/// <summary>
/// Effective order delivery date
/// </summary>
public DateTime DateDelivery { get; set; }
/// <summary>
/// Eventuale sconto globale
/// </summary>
public double Discount { get; set; } = 0;
}
}
@@ -0,0 +1,146 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static WebDoorCreator.Core.Enum;
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
namespace WebDoorCreator.Data.DbModels
{
public class PrtRepOrderModel
{
public int OrderId { get; set; }
/// <summary>
/// Company cui è associato l'ordine
/// </summary>
public int CompanyId { get; set; }
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
public string OrderExtCode { get; set; } = "";
/// <summary>
/// Data inserimento ordine
/// </summary>
public DateTime DateIns { get; set; } = DateTime.Now;
/// <summary>
/// Codice utente che ha creato
/// </summary>
public string UserIdIns { get; set; } = "";
/// <summary>
/// Data (ultima) modifica ordine
/// </summary>
public DateTime DateMod { get; set; } = DateTime.Now;
/// <summary>
/// Codice utente che ha creato
/// </summary>
public string UserIdMod { get; set; } = "";
/// <summary>
/// Stato globale dell'ordine
/// </summary>
public int Status { get; set; } = 10;
/// <summary>
/// Descrizione
/// </summary>
public string OrderDescript { get; set; } = "";
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
public string CompanyExtCode { get; set; } = "";
/// <summary>
/// Nome / ragione Sociale
/// </summary>
public string CompanyName { get; set; } = "";
/// <summary>
/// indirizzo
/// </summary>
public string Address { get; set; } = "";
/// <summary>
/// CAP
/// </summary>
public int ZipCode { get; set; } = 0;
/// <summary>
/// Citta
/// </summary>
public string City { get; set; } = "";
/// <summary>
/// Stato
/// </summary>
public string State { get; set; } = "";
/// <summary>
/// VAT / P.Iva
/// </summary>
public string VAT { get; set; } = "";
/// <summary>
/// Current Door ID
/// </summary>
public int DoorId { get; set; }
/// <summary>
/// Door's parent ID
/// </summary>
public int ParentId { get; set; } = 0;
/// <summary>
/// Codice esterno x riferimento (es ERP)
/// </summary>
public string DoorExtCode { get; set; } = "";
/// <summary>
/// Descrizione
/// </summary>
public string DoorDescript { get; set; } = "";
/// <summary>
/// Quantity Ordered
/// </summary>
public int Quantity { get; set; } = 1;
/// <summary>
/// Unit cost for the door
/// </summary>
public decimal UnitCost { get; set; } = 0;
/// <summary>
/// Unità di misura
/// </summary>
public string MeasureUnit { get; set; } = "";
/// <summary>
/// Tipo DoorOP
/// </summary>
public string ObjectType { get; set; } = "";
/// <summary>
/// Chiave DoorOP
/// </summary>
public string ObjectKey { get; set; } = "";
/// <summary>
/// Valore DoorOp
/// </summary>
public string ObjectVal { get; set; } = "";
/// <summary>
/// Quantità DoorOp
/// </summary>
public int ObjectQty { get; set; } = 1;
}
}
@@ -12,33 +12,17 @@ namespace WebDoorCreator.Data.DbModels
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
[Table("ListValues")]
public partial class ListValuesModel
[Table("SerializedDoors")]
public partial class SerializedDoorsModel
{
#region Public Properties
[MaxLength(50)]
public string TableName { get; set; }
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int DoorTmpId { get; set; }
public string DoorSerVal { get; set; }
[MaxLength(50)]
public string FieldName { get; set; }
[MaxLength(50)]
public string Value { get; set; }
[MaxLength(50)]
public string Label { get; set; }
public int Ordinal { get; set; }
[MaxLength(50)]
public string InputType{ get; set; }
[MaxLength(100)]
public string DefaultVal { get; set; }
[MaxLength(5)]
public bool isSerializable { get; set; }
public bool Lock { get; set; }
#endregion Public Properties
}
+13 -1
View File
@@ -34,10 +34,22 @@ namespace WebDoorCreator.Data.DbModels
/// RoleId from AspNetUserRoles table
/// </summary>
public string RoleId { get; set; } = "";
/// <summary>
/// Name from AspNetRole table
/// </summary>
public string RoleName { get; set; } = "";
/// <summary>
/// ClaimId from AspNetUserRoles table
/// </summary>
public int ClaimId { get; set; } = 0;
/// <summary>
/// ClaimType from AspNetRole table
/// </summary>
public string ClaimType { get; set; } = "";
/// <summary>
/// ClaimValue from AspNetRole table
/// </summary>
public string ClaimValue { get; set; } = "";
}
}
@@ -35,5 +35,9 @@ namespace WebDoorCreator.Data.DbModels
/// </summary>
[MaxLength(500)]
public string Traduzione { get; set; } = "";
/// <summary>
/// Indica se è da salvare su db o no
/// </summary>
public bool IsConfSave { get; set; } = false;
}
}
+8 -9
View File
@@ -10,7 +10,7 @@ namespace WebDoorCreator.Data
public MessagePipe(IConnectionMultiplexer redisConn, string channelName, bool enableLog = false)
{
_channel = channelName;
_channel = new RedisChannel(channelName, RedisChannel.PatternMode.Literal); ;
redis = redisConn;
redisDb = redis.GetDatabase();
this.enableLog = enableLog;
@@ -28,6 +28,11 @@ namespace WebDoorCreator.Data
#region Public Methods
/// <summary>
/// Invio messaggio sul canale + salvataggio in cache REDIS
/// </summary>
/// <param name="memKey">Chiave REDIS x salvare valore</param>
/// <param name="message"></param>
public bool saveAndSendMessage(string memKey, string message)
{
bool answ = false;
@@ -94,7 +99,7 @@ namespace WebDoorCreator.Data
/// <summary>
/// Canale associato al gestore pipeline messaggi
/// </summary>
private string _channel { get; set; } = "";
private RedisChannel _channel { get; set; } = new RedisChannel("Default", RedisChannel.PatternMode.Literal);
#endregion Private Properties
@@ -108,7 +113,7 @@ namespace WebDoorCreator.Data
{
Log.Trace($"ch {channel} | {message}");
// messaggio
PubSubEventArgs mea = new PubSubEventArgs(message);
PubSubEventArgs mea = new PubSubEventArgs($"{message}");
// se qualcuno ascolta sollevo evento nuovo valore...
if (EA_NewMessage != null)
{
@@ -119,12 +124,6 @@ namespace WebDoorCreator.Data
}
#endregion Private Methods
/// <summary>
/// Invio messaggio sul canale + salvataggio in cache REDIS
/// </summary>
/// <param name="memKey">Chiave REDIS x salvare valore</param>
/// <param name="message"></param>
}
public class PubSubEventArgs : EventArgs
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{
Id = "2d778017-0768-47f4-b807-9094d4aa39c7",
ConcurrencyStamp = "b83e70eb-09cd-4ac7-8571-c821029ae152",
Name = "Admin",
NormalizedName = "ADMIN"
Name = "DcaAdmin",
NormalizedName = "DCAADMIN"
},
new
{
@@ -15,7 +15,7 @@ namespace WebDoorCreator.Data.Migrations
{
{ "0bef594b-861c-4c48-b967-c408174074c6", "a470e2f3-6c5e-4123-bf2e-f6f8b4d11328", "Undef", "UNDEF" },
{ "2bdc3737-48c3-4340-b55d-1739eec7aede", "980f5e55-80d8-466d-8451-746acfa837d4", "SuperAdmin", "SUPERADMIN" },
{ "2d778017-0768-47f4-b807-9094d4aa39c7", "b83e70eb-09cd-4ac7-8571-c821029ae152", "Admin", "ADMIN" },
{ "2d778017-0768-47f4-b807-9094d4aa39c7", "b83e70eb-09cd-4ac7-8571-c821029ae152", "DcaAdmin", "DCAADMIN" },
{ "585875c2-1787-4c33-aa4d-dfa37ada8766", "0b6d6096-d9b8-4abe-a6b7-4adac55afc37", "CompAdmin", "COMPADMIN" },
{ "7444754d-5643-461b-a3c1-aeb8665631d7", "9e3fac4e-50ec-437d-a968-a976ecdc27b5", "CompUser", "COMPUSER" },
{ "9c1c4523-526d-4efa-af94-a24cb04312b8", "9ab5dd98-2d81-4baf-b01c-62c0c893c086", "User", "USER" }
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{
Id = "be0e13af-b32e-490d-b798-36e090e91727",
ConcurrencyStamp = "8bf806ed-63c9-4f86-b20e-836296469772",
Name = "Admin",
NormalizedName = "ADMIN"
Name = "DcaAdmin",
NormalizedName = "DCAADMIN"
},
new
{
@@ -47,7 +47,7 @@ namespace WebDoorCreator.Data.Migrations
{ "31011aea-c9a3-4f34-a9fd-7b7a4bcbefa6", "32cd475f-bbe2-4940-bfd1-fe26cafd4fae", "Undef", "UNDEF" },
{ "a5ab56f6-fba3-434d-b316-e5bac2631411", "22a4245e-1026-4990-97ce-9e4a851b0f23", "CompAdmin", "COMPADMIN" },
{ "b904f672-414e-4782-b0a5-30c4a0d952f5", "f5e19beb-0c79-41b7-9dee-9b276454eaf8", "CompUser", "COMPUSER" },
{ "be0e13af-b32e-490d-b798-36e090e91727", "8bf806ed-63c9-4f86-b20e-836296469772", "Admin", "ADMIN" },
{ "be0e13af-b32e-490d-b798-36e090e91727", "8bf806ed-63c9-4f86-b20e-836296469772", "DcaAdmin", "DCAADMIN" },
{ "c9cb6d11-c9a5-43d8-bd04-70be1724ba4a", "07b2ba6d-4f23-43d1-b48c-5b05d14b7e7e", "SuperAdmin", "SUPERADMIN" }
});
@@ -110,7 +110,7 @@ namespace WebDoorCreator.Data.Migrations
{
{ "0bef594b-861c-4c48-b967-c408174074c6", "a470e2f3-6c5e-4123-bf2e-f6f8b4d11328", "Undef", "UNDEF" },
{ "2bdc3737-48c3-4340-b55d-1739eec7aede", "980f5e55-80d8-466d-8451-746acfa837d4", "SuperAdmin", "SUPERADMIN" },
{ "2d778017-0768-47f4-b807-9094d4aa39c7", "b83e70eb-09cd-4ac7-8571-c821029ae152", "Admin", "ADMIN" },
{ "2d778017-0768-47f4-b807-9094d4aa39c7", "b83e70eb-09cd-4ac7-8571-c821029ae152", "DcaAdmin", "DCAADMIN" },
{ "585875c2-1787-4c33-aa4d-dfa37ada8766", "0b6d6096-d9b8-4abe-a6b7-4adac55afc37", "CompAdmin", "COMPADMIN" },
{ "7444754d-5643-461b-a3c1-aeb8665631d7", "9e3fac4e-50ec-437d-a968-a976ecdc27b5", "CompUser", "COMPUSER" },
{ "9c1c4523-526d-4efa-af94-a24cb04312b8", "9ab5dd98-2d81-4baf-b01c-62c0c893c086", "User", "USER" }
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{
Id = "f5f76968-2225-482a-82ac-f54bd05390b3",
ConcurrencyStamp = "b54f1873-a97b-4bb1-9e61-7bd2db0a2316",
Name = "Admin",
NormalizedName = "ADMIN"
Name = "DcaAdmin",
NormalizedName = "DCAADMIN"
},
new
{
@@ -58,7 +58,7 @@ namespace WebDoorCreator.Data.Migrations
{ "549ec954-a966-484c-8db8-c7d839e8c4af", "84b61e19-8786-45e4-8977-af6466a87878", "User", "USER" },
{ "6abfe01f-48f9-4a48-8e49-ac5f29a8753a", "e981295d-29b1-4805-a70e-3c83dc4bcfd7", "CompAdmin", "COMPADMIN" },
{ "7fb23328-c054-4b3d-92e0-f949745c8924", "d795b502-0429-4271-a12d-2549f1eb1b17", "Undef", "UNDEF" },
{ "f5f76968-2225-482a-82ac-f54bd05390b3", "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", "Admin", "ADMIN" }
{ "f5f76968-2225-482a-82ac-f54bd05390b3", "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", "DcaAdmin", "DCAADMIN" }
});
migrationBuilder.InsertData(
@@ -122,7 +122,7 @@ namespace WebDoorCreator.Data.Migrations
{ "31011aea-c9a3-4f34-a9fd-7b7a4bcbefa6", "32cd475f-bbe2-4940-bfd1-fe26cafd4fae", "Undef", "UNDEF" },
{ "a5ab56f6-fba3-434d-b316-e5bac2631411", "22a4245e-1026-4990-97ce-9e4a851b0f23", "CompAdmin", "COMPADMIN" },
{ "b904f672-414e-4782-b0a5-30c4a0d952f5", "f5e19beb-0c79-41b7-9dee-9b276454eaf8", "CompUser", "COMPUSER" },
{ "be0e13af-b32e-490d-b798-36e090e91727", "8bf806ed-63c9-4f86-b20e-836296469772", "Admin", "ADMIN" },
{ "be0e13af-b32e-490d-b798-36e090e91727", "8bf806ed-63c9-4f86-b20e-836296469772", "DcaAdmin", "DCAADMIN" },
{ "c9cb6d11-c9a5-43d8-bd04-70be1724ba4a", "07b2ba6d-4f23-43d1-b48c-5b05d14b7e7e", "SuperAdmin", "SUPERADMIN" }
});
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{
Id = "0fe4015b-cf98-4229-a120-57eb9c2ca945",
ConcurrencyStamp = "ccb4b655-3619-463d-a702-d0c9497e772c",
Name = "Admin",
NormalizedName = "ADMIN"
Name = "DcaAdmin",
NormalizedName = "DCAADMIN"
},
new
{
@@ -53,7 +53,7 @@ namespace WebDoorCreator.Data.Migrations
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
values: new object[,]
{
{ "0fe4015b-cf98-4229-a120-57eb9c2ca945", "ccb4b655-3619-463d-a702-d0c9497e772c", "Admin", "ADMIN" },
{ "0fe4015b-cf98-4229-a120-57eb9c2ca945", "ccb4b655-3619-463d-a702-d0c9497e772c", "DcaAdmin", "DCAADMIN" },
{ "1f63e241-4a96-437c-9af9-55748e0f6ed5", "684c9e79-7c20-4e25-ade2-66529980ef38", "Undef", "UNDEF" },
{ "34e09fbe-45db-4225-af17-793b4a0f90a1", "3895c7f6-8f63-4c30-9f93-0af0504f5e91", "CompUser", "COMPUSER" },
{ "9dfb7941-838f-483e-b1c2-10e01abb3d2d", "15368102-cd08-46cf-a376-dbbc8c6a8f71", "User", "USER" },
@@ -135,7 +135,7 @@ namespace WebDoorCreator.Data.Migrations
{ "549ec954-a966-484c-8db8-c7d839e8c4af", "84b61e19-8786-45e4-8977-af6466a87878", "User", "USER" },
{ "6abfe01f-48f9-4a48-8e49-ac5f29a8753a", "e981295d-29b1-4805-a70e-3c83dc4bcfd7", "CompAdmin", "COMPADMIN" },
{ "7fb23328-c054-4b3d-92e0-f949745c8924", "d795b502-0429-4271-a12d-2549f1eb1b17", "Undef", "UNDEF" },
{ "f5f76968-2225-482a-82ac-f54bd05390b3", "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", "Admin", "ADMIN" }
{ "f5f76968-2225-482a-82ac-f54bd05390b3", "b54f1873-a97b-4bb1-9e61-7bd2db0a2316", "DcaAdmin", "DCAADMIN" }
});
migrationBuilder.InsertData(
@@ -69,8 +69,8 @@ namespace WebDoorCreator.Data.Migrations
{
Id = "4225aeef-4a9b-4629-bbb2-4f3ea6c93595",
ConcurrencyStamp = "2a53a882-ccfd-46f5-8c31-04e5945bfc07",
Name = "Admin",
NormalizedName = "ADMIN"
Name = "DcaAdmin",
NormalizedName = "DCAADMIN"
},
new
{
@@ -63,7 +63,7 @@ namespace WebDoorCreator.Data.Migrations
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
values: new object[,]
{
{ "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", "2a53a882-ccfd-46f5-8c31-04e5945bfc07", "Admin", "ADMIN" },
{ "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", "2a53a882-ccfd-46f5-8c31-04e5945bfc07", "DcaAdmin", "DCAADMIN" },
{ "7d3b9719-8a33-4790-b0ce-9df3552458f3", "f271ed2d-48dc-4293-b485-15cfb28b3ce7", "Undef", "UNDEF" },
{ "7f512221-c37f-438c-920a-76458e217611", "315f6b4a-8700-4ae7-a74b-37a70fbc1c90", "User", "USER" },
{ "820b2520-2f28-47cc-8453-ea6871f6e0e6", "0ea8eb3e-972e-4a40-b265-f892335e3db0", "CompUser", "COMPUSER" },
@@ -140,7 +140,7 @@ namespace WebDoorCreator.Data.Migrations
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
values: new object[,]
{
{ "0fe4015b-cf98-4229-a120-57eb9c2ca945", "ccb4b655-3619-463d-a702-d0c9497e772c", "Admin", "ADMIN" },
{ "0fe4015b-cf98-4229-a120-57eb9c2ca945", "ccb4b655-3619-463d-a702-d0c9497e772c", "DcaAdmin", "DCAADMIN" },
{ "1f63e241-4a96-437c-9af9-55748e0f6ed5", "684c9e79-7c20-4e25-ade2-66529980ef38", "Undef", "UNDEF" },
{ "34e09fbe-45db-4225-af17-793b4a0f90a1", "3895c7f6-8f63-4c30-9f93-0af0504f5e91", "CompUser", "COMPUSER" },
{ "9dfb7941-838f-483e-b1c2-10e01abb3d2d", "15368102-cd08-46cf-a376-dbbc8c6a8f71", "User", "USER" },
@@ -97,7 +97,7 @@ namespace WebDoorCreator.Data.Migrations
columns: new[] { "Id", "ConcurrencyStamp", "Name", "NormalizedName" },
values: new object[,]
{
{ "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", "2a53a882-ccfd-46f5-8c31-04e5945bfc07", "Admin", "ADMIN" },
{ "4225aeef-4a9b-4629-bbb2-4f3ea6c93595", "2a53a882-ccfd-46f5-8c31-04e5945bfc07", "DcaAdmin", "DCAADMIN" },
{ "7d3b9719-8a33-4790-b0ce-9df3552458f3", "f271ed2d-48dc-4293-b485-15cfb28b3ce7", "Undef", "UNDEF" },
{ "7f512221-c37f-438c-920a-76458e217611", "315f6b4a-8700-4ae7-a74b-37a70fbc1c90", "User", "USER" },
{ "820b2520-2f28-47cc-8453-ea6871f6e0e6", "0ea8eb3e-972e-4a40-b265-f892335e3db0", "CompUser", "COMPUSER" },
@@ -62,8 +62,8 @@ namespace WebDoorCreator.Data.Migrations.WDCData
{
Id = "851dd9d6-570c-48b0-ac48-e494c5fac5d7",
ConcurrencyStamp = "13d724e3-b415-4719-8387-e21952306ce3",
Name = "Admin",
NormalizedName = "ADMIN"
Name = "DcaAdmin",
NormalizedName = "DCAADMIN"
},
new
{
@@ -106,7 +106,7 @@ namespace WebDoorCreator.Data.Migrations.WDCData
{ "246c1608-059d-4f2b-98b2-f57ab47de3b7", "1b81eff5-4ff6-4756-9bb5-983869fd4b41", "CompAdmin", "COMPADMIN" },
{ "695e212d-f79c-45dd-931d-6390c4533c6e", "a4788fda-3f24-41dc-b492-a621de69f031", "SuperAdmin", "SUPERADMIN" },
{ "805c6051-0372-4e2b-9b94-f5c8881ef7cb", "a73832bd-be3e-4a48-8b0a-475c8930b4c5", "CompUser", "COMPUSER" },
{ "851dd9d6-570c-48b0-ac48-e494c5fac5d7", "13d724e3-b415-4719-8387-e21952306ce3", "Admin", "ADMIN" },
{ "851dd9d6-570c-48b0-ac48-e494c5fac5d7", "13d724e3-b415-4719-8387-e21952306ce3", "DcaAdmin", "DCAADMIN" },
{ "d0cafb49-7d19-4d4f-a280-6837e5842e8b", "7f94eb48-1f91-4e88-bae6-bb655dba168b", "User", "USER" }
});

Some files were not shown because too many files have changed in this diff Show More