Compare commits

...

298 Commits

Author SHA1 Message Date
Samuele Locatelli 73cabee7ee Merge branch 'release/ReloadConfFix' 2021-08-11 16:01:18 +02:00
Samuele Locatelli 18992da8bf Fix problema lettura NKC_WFConnectionString 2021-08-11 16:00:48 +02:00
Samuele Locatelli d4eabe8edd Merge tag 'FixAppConf' into develop
Rilascio produzione (master)
2021-08-11 15:33:02 +02:00
Samuele Locatelli ba88680aa1 Merge branch 'release/FixAppConf' 2021-08-11 15:32:52 +02:00
Samuele Locatelli dff09fc549 Update x fix librerie steamwarelibs 2021-08-11 15:31:17 +02:00
Samuele Locatelli 2e24c01bd9 rimozione error page specifiche (usa Oops.. ) 2021-08-11 11:44:24 +02:00
Samuele Locatelli f60f5868ca Aumento stato sessione da 120 a 480 minuti (redis) 2021-08-11 11:43:25 +02:00
Samuele Locatelli 0c7841e8d8 Merge tag 'FixdllAndVocabolario' into develop
Fix minori vocabolario e dll inserite x errore
2021-08-11 09:09:47 +02:00
Samuele Locatelli 7571b732eb Merge branch 'release/FixdllAndVocabolario' 2021-08-11 09:09:30 +02:00
Samuele Locatelli fb610a6738 fix dll inserite in root x errore da nuget + fix vocabolario 2021-08-11 09:09:06 +02:00
Samuele Locatelli 1a28398470 review gitSpread (NON forza il master) 2021-08-11 08:58:30 +02:00
Samuele Locatelli affaccc1e5 Merge tag 'NugetUpdateSteamwareLibs' into develop
Upgrade pacchetti Nuget generico, ma in particolare le steamware libs x errore restart multiplo reload conf redis x app config
2021-08-11 08:57:27 +02:00
Samuele Locatelli fb780c3328 Merge branch 'release/NugetUpdateSteamwareLibs' 2021-08-11 08:56:47 +02:00
Samuele Locatelli 3ce630a683 refresh 2021-08-11 08:55:19 +02:00
Samuele Locatelli 2f1e11072c update nuget DNSClient 2021-08-11 08:55:14 +02:00
Samuele Locatelli 6ac8959b37 update nuget Mongo 2021-08-11 08:54:55 +02:00
Samuele Locatelli 963aa925bd refresh redis lib 2021-08-11 08:49:15 +02:00
Samuele Locatelli cfd7788f71 space refresh 2021-08-11 08:48:37 +02:00
Samuele Locatelli 2865795574 Update librerie steamware x reload conf redis 2021-08-11 08:47:51 +02:00
Samuele Locatelli 66d16ed021 piccolo check preliminare 2021-08-11 08:46:23 +02:00
Samuele Locatelli 66fc9b47a2 Merge branch 'develop' into SDK 2021-07-28 20:34:52 +02:00
Samuele Locatelli d480797945 Completato fix x reset errori stima/nesting 2021-07-28 20:34:46 +02:00
Samuele Locatelli 7bd6cc5621 Update prox risp nesting 2021-07-28 18:03:34 +02:00
Samuele Locatelli 5964fcd3d6 fix ripetizione stima post errore nesting 2021-07-28 17:27:00 +02:00
Samuele Locatelli c34e919570 Merge branch 'develop' into SDK 2021-07-28 15:53:30 +02:00
Samuele Locatelli a5ac0782fe fix x gestione PartRev 2021-07-28 15:53:22 +02:00
Samuele Locatelli 3979d88a04 Aggiunto PartRev nella risposta 2021-07-28 15:45:53 +02:00
Samuele Locatelli 09711e9d1f Merge branch 'develop' into SDK 2021-07-28 11:34:38 +02:00
Samuele Locatelli 8583246fd8 Update gestioen risposta con errori estim ext 2021-07-28 11:34:28 +02:00
Samuele Locatelli ee0c85f485 rimessa possibilità rimando stima 2021-07-28 11:33:54 +02:00
Samuele Locatelli 9987a9b532 Merge branch 'develop' into SDK 2021-07-27 16:47:21 +02:00
Samuele Locatelli 27d1ad1d40 pulizia codice 2021-07-27 16:47:16 +02:00
Samuele Locatelli d8905257b0 commentata aprte check success x processing stsatus 2021-07-27 15:19:30 +02:00
Samuele Locatelli d92cb4cb96 corretto registrazione macchina x update da PROD 2021-07-27 14:45:42 +02:00
Samuele Locatelli f9d923b1bd Redis: default DB a 2... 2021-07-27 11:45:49 +02:00
Samuele Locatelli 8da509214e Merge branch 'develop' into SDK 2021-07-27 11:00:04 +02:00
Samuele Locatelli 33bc68d712 Aggiunto refresh iniziale 2021-07-27 10:59:56 +02:00
Samuele Locatelli b3184badac Fix gestione status e semafori 2021-07-27 10:51:06 +02:00
Samuele Locatelli c74c83a372 bozza modifica status machine 2021-07-26 20:02:06 +02:00
Samuele Locatelli e365778d3c Fix gestione secscreen: aggiunto selezione impianto 2021-07-26 19:30:08 +02:00
Samuele Locatelli 219a6691da Merge branch 'develop' into SDK 2021-07-26 17:02:45 +02:00
Samuele Locatelli a4a8b57163 fix preview da order History 2021-07-26 16:44:10 +02:00
Samuele Locatelli a86beaa333 Fix procedura export xls elenco fogli 2021-07-26 16:43:59 +02:00
Samuele Locatelli 0b4c1dd974 update conf code come da setup Sauder 2021-07-23 19:20:27 +02:00
Samuele Locatelli 50ea17c0e3 fix gestione bunk x machine (non necessaria) 2021-07-23 19:09:17 +02:00
Samuele Locatelli 8f0ee0933d Fix stampa cart/bin da order scheduler 2021-07-23 15:10:00 +02:00
Samuele Locatelli 17dd24abea Fix selezione machine LOAD 2021-07-23 13:23:13 +02:00
Samuele Locatelli 04946d6173 Fix display in caso di errore del send estimation 2021-07-23 10:23:42 +02:00
Samuele Locatelli ec6b801b9f fix calcolo indice carrello 2021-07-22 12:50:03 +02:00
Samuele Locatelli 3490c08a69 FIx recupero sheetList x macchina + typo 2021-07-22 07:54:49 +02:00
Samuele Locatelli 508dbbf55f Merge branch 'develop' 2021-07-21 11:43:28 +02:00
Samuele Locatelli fc4b36ad66 Completata modifica DB x selezionare sempre la stampante corretta x CNC (print/work) 2021-07-21 11:42:25 +02:00
Samuele Locatelli b47c391c63 Aggiunto check x invio SOLOS E è stato splittato 2021-07-21 10:40:58 +02:00
Samuele Locatelli 46c9dec2a9 Merge remote-tracking branch 'gitlab.steamware/develop' into develop 2021-07-21 09:49:31 +02:00
Samuele Locatelli 3cfc4f8275 Verifica risposte nesting (scarto se incoerente) 2021-07-21 09:49:26 +02:00
Samuele E. Locatelli 385bf15d22 Aggiunta decodifica watchdog 2021-07-20 19:13:03 +02:00
Samuele E. Locatelli 6f8dc47293 inizio gestione info "live state" linea 2021-07-20 18:43:06 +02:00
Samuele E. Locatelli 432e53cd24 registro anche evento 01 alive... 2021-07-20 18:17:26 +02:00
Samuele Locatelli dafad94464 Merge branch 'develop' 2021-07-20 16:37:09 +02:00
Samuele Locatelli 9082df9146 Fix gestione stop nesting anche x child 2021-07-20 16:35:55 +02:00
Samuele Locatelli d783f65c20 TYPO + Fix salvataggio eventi (redis da svuotare) 2021-07-20 16:30:51 +02:00
Samuele Locatelli 15f30baf83 Merge branch 'develop' 2021-07-20 15:42:47 +02:00
Samuele Locatelli 0c481e5169 Update x calcolo con ordine singolo + fix cancellazione a cascata 2021-07-20 15:42:36 +02:00
Samuele Locatelli 0175841f22 Merge tag 'ManNumIndexCB' into develop
Sistemata prima versione gestione num index cart/bin
2021-07-20 08:51:09 +02:00
Samuele Locatelli b22579ca6e Merge branch 'release/ManNumIndexCB' 2021-07-20 08:50:52 +02:00
Samuele Locatelli 691ae3f123 Aggiunta gestione num indice carrello da impiegare 2021-07-20 08:48:46 +02:00
Samuele Locatelli 47b85f98b3 Fix upd messages 2021-07-20 08:11:53 +02:00
Samuele Locatelli 26234bce04 modifica gestione nesting con 2 macchine (TO TEST!!!) 2021-07-19 19:01:32 +02:00
Samuele Locatelli e7eb09e44a Merge tag 'RC_2.0' into develop
COmpletata prima RC x versione 2 con stampe differenziate
2021-07-17 11:46:01 +02:00
Samuele Locatelli 669f5d8478 Merge branch 'release/RC_2.0' 2021-07-17 11:45:46 +02:00
Samuele Locatelli ae1fd38bbb Merge branch 'feature/LabelPrintingDualMachine' into develop 2021-07-17 11:42:47 +02:00
Samuele Locatelli 00cb127ac4 Update x gestione stampe su code differenti NE01/NE02 2021-07-17 11:42:31 +02:00
Samuele Locatelli c34b0d6768 Inizio modifica pagina stampa labels 2021-07-16 19:22:09 +02:00
Samuele Locatelli ac50e00c85 Fix barra bilanciamento 2021-07-16 19:14:31 +02:00
Samuele Locatelli c6bf8db9ef Code cleanup 2021-07-16 18:56:48 +02:00
Samuele Locatelli 3e65a59ae6 Merge tag 'NewUpdMan' into develop
NUova gestione update manager
2021-07-16 18:48:45 +02:00
Samuele Locatelli e32c950df3 Merge branch 'release/NewUpdMan' 2021-07-16 18:48:32 +02:00
Samuele Locatelli 239ff07970 Update gestione UpdMan con nuova libreria e metodi 2021-07-16 18:47:50 +02:00
Samuele Locatelli daff88cfd6 Mopdifica area LAST 2021-07-16 15:14:25 +02:00
Samuele Locatelli 8a52abdeb8 Merge branch 'develop' 2021-07-16 15:12:39 +02:00
Samuele Locatelli a8f2a91b6b Inizio modifica update Man da DB 2021-07-16 15:12:29 +02:00
Samuele Locatelli 85474b9546 modifica x impiegare ultimo zip (senza LAST) 2021-07-16 12:41:17 +02:00
Samuele Locatelli 2f1d54df60 correzione gestione classifier --> BRANCH_NAME + pulizia 2021-07-16 12:24:55 +02:00
Samuele Locatelli c0fe219361 update changelog & manifest + new release set 2021-07-16 12:19:06 +02:00
Samuele Locatelli 4bf90f0527 ancora semplificazione conf 2021-07-16 12:04:28 +02:00
Samuele Locatelli 7e1db3f257 modo archive/last 2021-07-16 11:56:35 +02:00
Samuele Locatelli 40baf2b3c0 update conf nexus upload 2021-07-16 11:49:42 +02:00
Samuele Locatelli a6663ec4f2 riorganizzazione folder x versione 2021-07-16 11:43:16 +02:00
Samuele Locatelli 6961350038 cambio modalità upload 2021-07-16 11:35:32 +02:00
Samuele Locatelli 8d77cce905 ancora test deploy deveop 2021-07-16 11:30:09 +02:00
Samuele Locatelli 480571721a test altro deploy 2021-07-16 11:21:54 +02:00
Samuele Locatelli e852bc9233 update verbosity & wait parallel build 2021-07-16 10:59:12 +02:00
Samuele Locatelli a6f329c244 modifica x evitare interferenza accesso progetto SDK 2021-07-16 10:47:15 +02:00
Samuele Locatelli 19d41ef464 modifica ordine chiamate update resources 2021-07-16 10:36:35 +02:00
Samuele Locatelli ebd8e1daad branch operations stabel --> master 2021-07-16 10:01:44 +02:00
Samuele Locatelli ceddd0bbfe modifica gestione beta --> develop 2021-07-16 10:00:42 +02:00
Samuele Locatelli b158a9a02d test modifica pubblicazione NEXUS 2021-07-16 09:53:29 +02:00
Samuele Locatelli 73f2288b6a rel update 2021-07-15 15:23:05 +02:00
Samuele Locatelli c9a91e294d Refresh pagine unload e MIA post testing 2021-07-15 15:14:59 +02:00
Samuele Locatelli 49ebc94313 Fix pagina debug unload 2021-07-15 10:01:30 +02:00
Samuele Locatelli cad134fc84 Merge branch 'feature/DoppiaMacchina' into develop 2021-07-14 20:07:17 +02:00
Samuele Locatelli cdc7e5be93 Update gestione chiave PlaceCod 2021-07-14 20:07:04 +02:00
Samuele Locatelli c7152d2af9 Completamento gestione display BatchID corrente 2021-07-14 19:41:50 +02:00
Samuele Locatelli 8fcfc092dd Inizio aggiunta sel macchina in unload 2021-07-14 18:00:56 +02:00
Samuele Locatelli 7b54b4bbdc Gestione update PlaceCod 2021-07-14 13:29:32 +02:00
Samuele Locatelli c9cea2edce OK x unload con 2 macchine 2021-07-14 12:14:45 +02:00
Samuele Locatelli 2926f70bae Fix colore NE01/NE02 2021-07-14 11:34:02 +02:00
Samuele Locatelli a9ecb260fb FIx next bunk da posizione macchina! 2021-07-14 08:30:42 +02:00
Samuele Locatelli c82236f133 Fix in Load e LoadSmart x curr batch 2021-07-14 08:12:44 +02:00
Samuele Locatelli f29c419b9d Fix componente batch current 2021-07-14 07:41:30 +02:00
Samuele Locatelli dc5b3bf565 Inizio filtraggio stack da macchina 2021-07-13 18:52:53 +02:00
Samuele Locatelli ca61af9eb6 Update display orders running/scheduled 2021-07-13 18:18:16 +02:00
Samuele Locatelli f47f10f2ba new rel num 2021-07-13 17:38:29 +02:00
Samuele Locatelli 2c02f6a309 Modifica pagina load smart con amchine selection 2021-07-13 17:38:03 +02:00
Samuele Locatelli 5273f6d63a base decodifica barcode x Machine Selection 2021-07-13 17:37:53 +02:00
Samuele Locatelli 27ec011a00 update vers numb 2021-07-01 17:52:46 +02:00
Samuele Locatelli 58820465b4 Merge branch 'feature/Semafori' into develop 2021-07-01 17:51:07 +02:00
Samuele Locatelli 53fd77bb8d aggiunto try-catch x decifrare status 2021-07-01 17:50:58 +02:00
Samuele Locatelli c9128811be new rel 2021-07-01 17:07:31 +02:00
Samuele Locatelli 9e7833b06f Merge branch 'feature/ApiStats' into develop 2021-07-01 17:06:41 +02:00
Samuele Locatelli aaad4e9f3a fix comportamento semaforo 2021-07-01 17:01:11 +02:00
Samuele Locatelli 3bd0c3e8b9 ok gestione semaforo da dati REDIS 2021-07-01 16:43:53 +02:00
Samuele Locatelli aaa278f363 Merge branch 'feature/ApiStats' into develop 2021-07-01 15:35:25 +02:00
Samuele Locatelli c1f5ce18ed update simulatore x status macchine 2021-07-01 15:35:15 +02:00
Samuele Locatelli 38e553a5bd Aggiunta metodi x salvataggio statistiche su DB e redis (OK!!!) 2021-07-01 15:19:08 +02:00
Samuele Locatelli 6eae5e2e23 Merge branch 'feature/UpdateMethods' into develop 2021-06-30 18:07:02 +02:00
Samuele Locatelli d365f90072 Aggiunta scrittura su MONGO DB risposta stats di Carlo 2021-06-30 18:06:53 +02:00
Samuele Locatelli d80691ac0c visibilità da sel macchina x LOAD/UNLOAD 2021-06-30 13:04:25 +02:00
Samuele Locatelli 07cbd9f029 new rel 2021-06-30 12:41:24 +02:00
Samuele Locatelli d09668270d modifiche x gestione selezione macchina 1/2 2021-06-30 12:41:02 +02:00
Samuele Locatelli 70e2c06ae5 refresh oggetti vari 2021-06-30 12:40:51 +02:00
Samuele Locatelli 0e2646c739 Aggiunta metodi REST x update status 2021-06-30 12:40:41 +02:00
Samuele Locatelli 31fb3c5669 aggiornamento metodi bilanciamento 2021-06-30 12:40:25 +02:00
Samuele Locatelli 73eb726f73 Ok comportamento display colore button balance 2021-06-17 17:59:24 +02:00
Samuele Locatelli 5de2c6576b Merge branch 'feature/UpdateMethods' into develop 2021-06-16 15:28:48 +02:00
Samuele Locatelli 75860a164a update nuget non presenti 2021-06-16 15:28:41 +02:00
Samuele Locatelli 5e9c678a02 inizio new rel 2021-06-16 15:24:56 +02:00
Samuele Locatelli 72ff8ebe74 Merge branch 'feature/UpdateMethods' into develop 2021-06-16 15:24:33 +02:00
Samuele Locatelli 00bf555add fix procedura rebalance 2021-06-16 15:24:25 +02:00
Samuele Locatelli 0841aa5584 fix salvataggio stima ext iniziale 2021-06-16 15:24:20 +02:00
Samuele Locatelli a575a20126 Fix algoritmo ricerca step minimo 2021-06-16 15:19:46 +02:00
Samuele Locatelli 0622e8a869 NewRel 2021-06-16 13:26:09 +02:00
Samuele Locatelli 38a4a7285d Aggiunto paginazione ordini 2021-06-16 13:10:39 +02:00
Samuele Locatelli 40b6d19c79 fix check/uncheck show split 2021-06-16 13:01:35 +02:00
Samuele Locatelli 3f399a670a Fix check file path con log (maybe) 2021-06-16 13:01:20 +02:00
Samuele Locatelli ca0e20abe6 Merge branch 'feature/UpdateMethods' into develop 2021-06-16 12:19:37 +02:00
Samuele Locatelli 27b6cebf74 Update NetCore 2021-06-16 11:42:04 +02:00
Samuele Locatelli db1ed098c1 Update Json 2021-06-16 11:41:09 +02:00
Samuele Locatelli f904431560 Update bootstrap 2021-06-16 11:39:53 +02:00
Samuele Locatelli d00d963ab9 refresh 2021-06-16 11:38:13 +02:00
Samuele Locatelli 3fc4fe6f52 Update jQuery 2021-06-16 11:38:09 +02:00
Samuele Locatelli cac7d73f2d MongoDB update 2021-06-16 11:36:56 +02:00
Samuele Locatelli f56661a4d6 refresh 2021-06-16 11:35:18 +02:00
Samuele Locatelli d848f7ef6c Update compression libs 2021-06-16 11:35:13 +02:00
Samuele Locatelli 5b1e49e4b6 Update SteamWareLibs + dep 2021-06-16 11:34:25 +02:00
Samuele Locatelli 2bb26258c4 Update NLog 2021-06-16 11:32:01 +02:00
Samuele Locatelli bc81c1f557 bozza metodi udpate status macchina 2021-06-15 15:51:24 +02:00
Samuele Locatelli 79a2d249f8 new rel 2021-06-15 15:19:56 +02:00
Samuele Locatelli c716f73a91 Merge branch 'feature/NewOrderPage' into develop 2021-06-15 15:19:42 +02:00
Samuele Locatelli 2879db799b fix btn spostamento 2021-06-15 15:19:28 +02:00
Samuele Locatelli e727be5dbd fix caso 100% 2021-06-15 15:06:25 +02:00
Samuele Locatelli 6011861b24 gestione casi 0% / 100% 2021-06-15 14:52:52 +02:00
Samuele Locatelli d03bda211b fix detail split 2021-06-15 14:33:08 +02:00
Samuele Locatelli b0fe09ca05 Merge branch 'feature/NewOrderPage' into develop 2021-06-15 13:36:10 +02:00
Samuele Locatelli 29a47944bf update x visualizzaizone dettaglio 2021-06-15 13:36:01 +02:00
Samuele Locatelli 59e0f85529 new rel 2021-06-15 13:35:52 +02:00
Samuele Locatelli 503de9b769 Update pagine about/contact 2021-06-15 13:35:41 +02:00
Samuele Locatelli ce8a0fa27b Merge branch 'feature/NewOrderPage' into develop 2021-06-15 09:29:51 +02:00
Samuele Locatelli 07e7e4de09 COmpletato update btn approva/resety nesting ANC/DESC 2021-06-15 09:29:42 +02:00
Samuele Locatelli c8ff3df97b Abbozzata gestione reset nesting oltre approvazione 2021-06-14 19:39:34 +02:00
Samuele Locatelli f5c7843b92 inizio nuova release 2021-06-14 18:44:15 +02:00
Samuele Locatelli 5317d41dfa Merge branch 'feature/NewOrderPage' into develop 2021-06-14 18:43:44 +02:00
Samuele Locatelli 710f7d5e35 Completato giro update info batch detail split x ora 2021-06-14 18:43:36 +02:00
Samuele Locatelli c957b10658 Fix update status ancestor (stored) + fix display preview ancestor 2021-06-14 16:10:56 +02:00
Samuele Locatelli aa93b5883f start new rel 2021-06-14 12:58:56 +02:00
Samuele Locatelli 2b95fb8d88 Merge branch 'feature/NewOrderPage' into develop 2021-06-14 12:57:09 +02:00
Samuele Locatelli ecc7f71d10 fix condizione reset errato x split request 2021-06-14 12:56:59 +02:00
Samuele Locatelli e17be03685 new rel num 2021-06-14 12:25:09 +02:00
Samuele Locatelli eb91b21076 Merge branch 'feature/NewOrderPage' into develop 2021-06-14 12:24:50 +02:00
Samuele Locatelli 099eaebaa8 update x recupero altri BATCH splitted 2021-06-14 12:24:41 +02:00
Samuele Locatelli 769a2d8f4c start new release 2021-06-14 11:19:47 +02:00
Samuele Locatelli 9cfe9fcafd Merge branch 'feature/NewOrderPage' into develop 2021-06-14 11:19:27 +02:00
Samuele Locatelli 68fd166aea Fix assegnazione KIT a veri nuovi batch 2021-06-14 11:19:19 +02:00
Samuele Locatelli ed57cfb4c8 start new release 2021-06-14 10:03:12 +02:00
Samuele Locatelli f588cc9c92 Merge branch 'feature/NewOrderPage' into develop 2021-06-14 10:02:46 +02:00
Samuele Locatelli d31290a4f3 Aggiunto processing richieste descendant 2021-06-14 10:02:39 +02:00
Samuele Locatelli e3817cfe41 Fix display detail x casi type corretti 2021-06-14 09:04:52 +02:00
Samuele Locatelli 23b2e5fcbe Refresh visualizzazione e filtraggio 2021-06-11 19:06:53 +02:00
Samuele Locatelli 79047b4587 start new release 2021-06-11 18:24:15 +02:00
Samuele Locatelli c936cbd882 Merge branch 'feature/NewOrderPage' into develop 2021-06-11 18:22:53 +02:00
Samuele Locatelli 0783f9b463 COmpletata review grafica pagina ordini e stima/nesting 2021-06-11 18:22:44 +02:00
Samuele Locatelli 29709c0da2 Fix refresh rapido post spostamento barra 2021-06-11 17:52:00 +02:00
Samuele Locatelli ee40921196 Merge branch 'feature/NewOrderPage' into develop 2021-06-11 16:31:55 +02:00
Samuele Locatelli 42a0728e4d Update refresh 2021-06-11 16:31:45 +02:00
Samuele Locatelli 13a4b4478e Continuo pagina ordini: ok step spostamento e bilanciamento xoxo 2021-06-11 15:48:45 +02:00
Samuele Locatelli 4e47b89baf Update display da tabella (OK salvataggio e tab) 2021-06-11 14:55:29 +02:00
Samuele Locatelli 93aa27e460 new rel 2021-06-11 12:57:02 +02:00
Samuele Locatelli 82e7d4d900 Merge branch 'feature/NewOrderPage' into develop 2021-06-11 12:55:35 +02:00
Samuele Locatelli a030bd1952 update ritorno messaggio da stima... 2021-06-11 12:55:20 +02:00
Samuele Locatelli 5a570d6ad0 Algoritmo bilanciamento vers 0.3 2021-06-10 19:14:24 +02:00
Samuele Locatelli dc4601ff7e Continuo redistribuzione dati ordini 2021-06-09 19:30:55 +02:00
Samuele Locatelli ce3d27bbda Ancora update visualizzazione detail 2021-06-09 18:26:01 +02:00
Samuele Locatelli 3464a50138 fix creazione descendant su set BatchID 2021-06-09 17:53:34 +02:00
Samuele Locatelli 53d2096adc Completo aggiunta metodi comLib x descendants (cache) 2021-06-09 17:50:53 +02:00
Samuele Locatelli db42222472 Aggiunta procedura generazione descendants 2021-06-09 17:50:23 +02:00
Samuele Locatelli 4046eb92f5 Continuo costruzione split ratio 2021-06-09 15:39:47 +02:00
Samuele Locatelli a31dfe70b0 Ancora restyling grafico 2021-06-09 15:16:56 +02:00
Samuele Locatelli 082a80bd3e ancora fix gfrafici pagina batch 2021-06-09 12:01:12 +02:00
Samuele Locatelli f0ef08a41b Merge branch 'feature/NewOrderPage' into develop 2021-06-09 11:53:33 +02:00
Samuele Locatelli 5a9f3f7696 Update metodo scrittura batch 2021-06-09 11:53:16 +02:00
Samuele Locatelli 935a633275 Fix display batchlist 2021-06-09 11:03:55 +02:00
Samuele Locatelli 6ff139a9f3 Merge branch 'feature/ExtendedEstimResponse' into develop 2021-06-09 10:20:26 +02:00
Samuele Locatelli 4f8ad736e0 Aggiunte chiamate update x tempi processing 2021-06-09 10:17:33 +02:00
Samuele Locatelli d9722e0da5 Continuo update x nuova stima extended 2021-06-09 10:12:16 +02:00
Samuele Locatelli 380108f911 update vers number 2021-06-09 10:11:44 +02:00
Samuele Locatelli 3d84ddab24 Aggiunta parametro x indicare stima ext.. 2021-06-08 17:36:56 +02:00
Samuele Locatelli 341c49a2a4 Fix primo testing insomnia 2021-06-08 16:33:04 +02:00
Samuele Locatelli 3c41209baa Update insomnia 2021-06-08 16:25:57 +02:00
Samuele Locatelli b0c02c1ecc vers 392: link preview a 4h default 2021-04-21 14:07:02 +02:00
Samuele Locatelli d8c2492077 Update x gestione filtro periodo previsione produzione 2021-04-09 11:13:53 +02:00
Samuele Locatelli c359e05831 Merge branch 'develop' into SDK 2021-04-07 14:47:04 +02:00
Samuele Locatelli 74d6656eb9 aggiunta modulo gestione statistiche scarico previste 2021-04-07 14:46:54 +02:00
Samuele Locatelli 55c9252e49 add chartjs 2021-04-07 14:46:43 +02:00
Samuele Locatelli 43abc4ab25 start new release 2021-04-07 14:46:22 +02:00
Samuele E. Locatelli f9c4d80cde Merge branch 'develop' into SDK 2021-03-02 11:02:58 +01:00
Samuele E. Locatelli 8aec006422 new rel 2021-03-02 11:02:45 +01:00
Samuele E. Locatelli 3066432c94 fix controlllo path pdf x UNC + timeout ping 2021-03-02 11:02:37 +01:00
Samuele E. Locatelli f5d2a9ca75 Merge branch 'develop' into SDK 2021-03-01 19:48:52 +01:00
Samuele E. Locatelli 517826de77 new rel 2021-03-01 19:48:46 +01:00
Samuele E. Locatelli 5aee27b18a Modifica x gestione validazione PDF (2test!) 2021-03-01 19:48:42 +01:00
Samuele E. Locatelli 7980ed777d Merge branch 'develop' into SDK 2021-02-08 18:57:17 +01:00
Samuele E. Locatelli b0ee9fd4d6 ancora fix dll 2021-02-08 18:57:06 +01:00
Samuele E. Locatelli 18140239d5 fix dll dependency e git inclusion 2021-02-08 18:57:01 +01:00
Samuele E. Locatelli 90b28bca07 Merge branch 'develop' into SDK 2021-02-08 18:51:18 +01:00
Samuele E. Locatelli 55a9178cfc Completo update + consol nuget aggiornabili 2021-02-08 18:51:10 +01:00
Samuele E. Locatelli eefae8438c Ancora pacchetti nuget 2021-02-08 18:39:57 +01:00
Samuele E. Locatelli 2634d30f03 refresh libs nuget + fix nuove libs 2021-02-08 18:35:51 +01:00
Samuele E. Locatelli 72a7d3dd81 update steamware loggers 2021-02-08 18:30:14 +01:00
Samuele E. Locatelli e82e7658f1 update mongo nupkg + compress 2021-02-08 18:29:24 +01:00
Samuele E. Locatelli bc2e9f236c update bootstrap 4.5.3 2021-02-08 18:26:32 +01:00
Samuele E. Locatelli f54b160964 Update Nlog nuget 2021-02-08 18:25:34 +01:00
Samuele E. Locatelli fd1b543a85 update packages vari 2021-02-08 18:24:49 +01:00
Samuele E. Locatelli 94da67d890 update stored x report 2021-02-08 18:24:36 +01:00
Samuele E. Locatelli a36ab75169 refresh footer + home 2021-02-08 18:24:00 +01:00
Samuele E. Locatelli 6f31c0f3d2 new rel 2021-02-08 18:22:59 +01:00
Samuele E. Locatelli f391968e21 Merge branch 'develop' into SDK 2020-11-27 10:30:07 +01:00
Samuele E. Locatelli 7fe834f83e fix gitSpread 2020-11-27 10:29:54 +01:00
Samuele E. Locatelli 9932206f9f new rel 2020-11-27 10:29:13 +01:00
Samuele E. Locatelli 38e4d7e94a inserito parametro conf x tipo validazione e MaxTime 2020-11-27 10:27:48 +01:00
Samuele E. Locatelli 7f929676b6 fix x invio MaxTime a 1 x validazioni 2020-11-27 10:26:20 +01:00
Samuele E. Locatelli 603cf097c9 udpate vers gitSpread 2020-11-26 19:08:37 +01:00
Samuele E. Locatelli 0b05415b47 new rel 386 2020-11-26 19:07:55 +01:00
Samuele E. Locatelli 115aa90029 Merge branch 'SDK' into develop 2020-11-26 19:05:50 +01:00
Samuele E. Locatelli 2560400d66 Merge branch 'develop' into SDK 2020-11-26 19:05:40 +01:00
Samuele E. Locatelli 0af4a73faa aggiunto gitSpread 2020-11-26 19:05:36 +01:00
Samuele E. Locatelli 32aeb0350f Aggiunto history x tutti i batch di nesting (da testare) 2020-11-26 19:03:09 +01:00
Samuele E. Locatelli b7a92f464a Merge branch 'develop' into SDK 2020-11-26 18:08:16 +01:00
Samuele E. Locatelli 2ca07f1882 new rel 385 2020-11-26 18:08:09 +01:00
Samuele E. Locatelli bf856bcf05 fix gestione errori 2020-11-26 18:07:58 +01:00
Samuele E. Locatelli 752ef12bcf Fix display FILE valid 2020-11-26 17:13:17 +01:00
Samuele E. Locatelli b064d587cf Completamento giro di validazione TEST DXF 2020-11-26 16:12:41 +01:00
Samuele E. Locatelli 760b1bc764 fix upload file 2020-11-26 12:26:02 +01:00
Samuele E. Locatelli f2949a0b34 refresh 2020-11-26 12:08:37 +01:00
Samuele E. Locatelli 58b20d2e6e update proprietà x .csv 2020-11-26 12:08:33 +01:00
Samuele E. Locatelli c98e2ee71f modifiche fileUpload x gestione dxf oltre a csv 2020-11-26 12:08:19 +01:00
Samuele E. Locatelli e73bfdf618 add iniziale pagine nuove 2020-11-26 12:07:54 +01:00
Samuele E. Locatelli e72bfbabad inizio vers 1.3 2020-11-26 10:34:40 +01:00
Samuele E. Locatelli 0fd505519f fix config elmah x MP/IO 2020-11-18 14:50:04 +01:00
Samuele E. Locatelli b4ebc1b680 Merge branch 'develop' into SDK 2020-10-28 16:02:00 +01:00
Samuele E. Locatelli 6f3e43bb77 new rel 2020-10-28 16:01:50 +01:00
Samuele E. Locatelli e1a05e7718 Typo + minor fix on PartMIA setup 2020-10-28 16:01:37 +01:00
Samuele E. Locatelli 65ae8fc4cd Merge branch 'develop' into SDK 2020-10-22 17:20:28 +02:00
Samuele E. Locatelli 6c928ac03c Aggiunta conf specifica x IIS02 2020-10-22 17:20:19 +02:00
Samuele E. Locatelli 8b53913c8c new graph test fix 2020-10-22 17:12:40 +02:00
Samuele E. Locatelli 820c000fea Merge branch 'develop' into stable 2020-10-22 17:02:55 +02:00
Samuele E. Locatelli d92de63c21 New release 378 2020-10-22 17:02:49 +02:00
Samuele E. Locatelli 83df86549b Merge branch 'develop' 2020-10-22 16:59:09 +02:00
Samuele E. Locatelli 8dc507640f fix master 2020-10-22 16:58:59 +02:00
Samuele E. Locatelli bfedc667e1 Graph fix x KITTING 2020-10-22 16:58:15 +02:00
Samuele E. Locatelli 8cdba96849 fix grafico bin al kitting + fix timer x unloading 2020-10-22 14:41:23 +02:00
Samuele E. Locatelli c0212af5de reso parametrico tempo refresh pag unload 2020-10-22 12:54:58 +02:00
Samuele E. Locatelli 632a1b4460 Merge branch 'develop' into SDK 2020-10-22 12:39:03 +02:00
Samuele E. Locatelli 3b15a769b1 update 376 con gestione cache 2020-10-22 12:38:53 +02:00
Samuele E. Locatelli 51cbacf58f Iniziate modifiche x fix pagina unload (speedup & meno carico DB) 2020-10-22 10:51:23 +02:00
Samuele E. Locatelli 6e712433b6 Merge remote-tracking branch 'GitlabSteamware/report' into develop 2020-10-22 10:06:18 +02:00
Samuele E. Locatelli 374be6825b new rel vers 2020-10-22 10:01:39 +02:00
Giancarlo 7943022f74 Modifica report Bunk 2020-10-22 09:45:00 +02:00
Samuele E. Locatelli a417d5d677 Merge branch 'develop' into SDK 2020-10-20 21:50:03 +02:00
Samuele E. Locatelli b3a82b9ab5 new rel 373 2020-10-20 21:49:36 +02:00
Samuele E. Locatelli 95cf098861 refresh spazio x kitting unload (6 blocks) 2020-10-20 21:49:23 +02:00
Samuele E. Locatelli 1dc9734921 Merge branch 'develop' into SDK 2020-10-16 20:08:33 +02:00
Samuele E. Locatelli 8f65b48be4 update visualizzazione cart/bin 2020-10-16 20:07:50 +02:00
Samuele E. Locatelli d5ab99423a fix calcolo % CART allo scarico 2020-10-16 18:42:32 +02:00
Samuele E. Locatelli 3cc0b2a91f Merge branch 'develop' into SDK 2020-10-07 13:26:00 +02:00
Samuele E. Locatelli fa18af3d45 update message error x KIT smart 2020-10-07 13:25:48 +02:00
Samuele E. Locatelli bbbea41118 Merge branch 'develop' into SDK 2020-09-25 18:41:42 +02:00
Samuele E. Locatelli 88f62a7f86 update secScreen x gestione pdf/PDF 2020-09-25 18:41:30 +02:00
Samuele E. Locatelli 230dad401f reorder codice 2020-09-23 15:43:27 +02:00
249 changed files with 68574 additions and 13534 deletions
+88 -41
View File
@@ -42,20 +42,23 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="AegisImplicitMail, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AIM.1.0.3\lib\AegisImplicitMail.dll</HintPath>
<Reference Include="AegisImplicitMail, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AIM.1.1.0\lib\netstandard2.0\AegisImplicitMail.dll</HintPath>
</Reference>
<Reference Include="AjaxControlToolkit, Version=19.1.0.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL">
<HintPath>..\packages\AjaxControlToolkit.19.1.0\lib\net40\AjaxControlToolkit.dll</HintPath>
<Reference Include="AjaxControlToolkit, Version=20.1.0.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL">
<HintPath>..\packages\AjaxControlToolkit.20.1.0\lib\net40\AjaxControlToolkit.dll</HintPath>
</Reference>
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
</Reference>
<Reference Include="DnsClient, Version=1.2.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.2.0\lib\net45\DnsClient.dll</HintPath>
<Reference Include="DnsClient, Version=1.5.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.5.0\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.2.0.246, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.2.0\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.2.10, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.2\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.ReportViewer.Common, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ReportViewer.Runtime.Common.12.0.2402.15\lib\Microsoft.ReportViewer.Common.dll</HintPath>
@@ -69,23 +72,23 @@
<Reference Include="Microsoft.ReportViewer.WinForms, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ReportViewer.Runtime.WinForms.12.0.2402.15\lib\Microsoft.ReportViewer.WinForms.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.10.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.10.2\lib\net452\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.13.1\lib\net452\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.10.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.10.2\lib\net452\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.13.1\lib\net452\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.10.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.10.2\lib\net452\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.13.1\lib\net452\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.0.0\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.Libmongocrypt, Version=1.2.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.2\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.6.8\lib\net45\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.10\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.dll</HintPath>
@@ -94,43 +97,57 @@
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath>
</Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.1.1\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="SharpCompress, Version=0.24.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.24.0\lib\net45\SharpCompress.dll</HintPath>
<Reference Include="SharpCompress, Version=0.28.3.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.28.3\lib\netstandard2.0\SharpCompress.dll</HintPath>
</Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.0.601\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.2.62\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=3.5.2001.709, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.3.5.2001.709\lib\net462\SteamWare.dll</HintPath>
<Reference Include="SteamWare, Version=5.1.2108.1115, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2108.1115\lib\net462\SteamWare.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.1.2108.1115, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2108.1115\lib\net462\SteamWare.Logger.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.0\lib\netstandard2.0\System.Buffers.dll</HintPath>
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
</Reference>
<Reference Include="System.Configuration" />
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.4.7.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
<Reference Include="System.Diagnostics.PerformanceCounter, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.5.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.IO.Compression, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
<Reference Include="System.IO.Pipelines, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.4.7.0\lib\netstandard2.0\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Pipelines, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.3\lib\netstandard2.0\System.Memory.dll</HintPath>
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.0\lib\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
@@ -138,21 +155,46 @@
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Pkcs, Version=5.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.5.0.1\lib\net461\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Threading.Channels, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.4.7.0\lib\netstandard2.0\System.Threading.Channels.dll</HintPath>
<Reference Include="System.Text.Encoding.CodePages, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.5.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.3\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
@@ -175,6 +217,7 @@
<DependentUpon>DS_Report.xsd</DependentUpon>
</Compile>
<Compile Include="Enum.cs" />
<Compile Include="Objects.cs" />
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
@@ -230,16 +273,20 @@
<Content Include="App_Readme\README_SteamWare.txt" />
<Content Include="App_Readme\SteamWare_demo\example-config-table.txt" />
<Content Include="App_Readme\SteamWare_demo\example-favicon.ico" />
<Content Include="mongocrypt.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>Questo progetto fa riferimento a uno o più pacchetti NuGet che non sono presenti in questo computer. Usare lo strumento di ripristino dei pacchetti NuGet per scaricarli. Per altre informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=322105. Il file mancante è {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets'))" />
</Target>
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets')" />
</Project>
+2762 -1897
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
+6606 -1741
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -4,6 +4,9 @@
partial class DS_App
{
partial class SheetsPreviewDataTable
{
}
}
}
+855 -204
View File
File diff suppressed because it is too large Load Diff
+107 -97
View File
@@ -4,187 +4,197 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="435" ViewPortY="308" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-24" ViewPortY="-53" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:BatchList" ZOrder="16" X="291" Y="375" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="15" X="584" Y="890" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="21" X="254" Y="840" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="39" X="352" Y="29" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:BatchReqList" ZOrder="48" X="101" Y="100" Height="115" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:ItemList" ZOrder="31" X="861" Y="19" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="46" X="1197" Y="37" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="1" X="1265" Y="529" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="25" X="600" Y="340" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="4" X="929" Y="866" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="44" X="1031" Y="660" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="42" X="612" Y="30" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="33" X="871" Y="458" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="7" X="601" Y="633" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="36" X="1264" Y="323" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="18" X="23" Y="457" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="30" X="13" Y="240" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="27" X="16" Y="706" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="26" X="-6" Y="928" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="20" X="-2" Y="1233" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="19" X="324" Y="1235" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="17" X="637" Y="1294" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="24" X="912" Y="1188" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="23" X="1259" Y="925" Height="324" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="11" X="1256" Y="1251" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="22" X="644" Y="1754" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="3" X="1476" Y="37" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="14" X="939" Y="1452" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="13" X="1232" Y="1683" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="12" X="644" Y="1492" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="10" X="41" Y="1425" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="9" X="50" Y="1823" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="6" X="342" Y="1417" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="5" X="338" Y="1822" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="8" X="919" Y="1805" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="2" X="648" Y="1996" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:BatchList" ZOrder="3" X="325" Y="437" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="4" X="618" Y="961" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="1" X="300" Y="824" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="14" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ItemList" ZOrder="43" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="42" X="1189" Y="105" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="12" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="41" X="592" Y="408" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="40" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="39" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="13" X="634" Y="129" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="38" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="37" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="36" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="35" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="34" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="33" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="32" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="31" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="30" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="29" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="28" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="27" X="1251" Y="993" Height="324" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="26" X="1248" Y="1319" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="25" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="24" X="1468" Y="105" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="23" X="931" Y="1520" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="22" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="21" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="20" X="33" Y="1493" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="19" X="42" Y="1891" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="18" X="334" Y="1485" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="17" X="330" Y="1890" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="7" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="16" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:FileValidation" ZOrder="11" X="499" Y="-21" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:SheetsPreview" ZOrder="15" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OrderListTree" ZOrder="10" X="3" Y="-43" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Places" ZOrder="5" X="862" Y="2175" Height="172" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:StatusLog" ZOrder="8" X="1116" Y="2180" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:StatusDecode" ZOrder="6" X="849" Y="2353" Height="172" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UpdMan" ZOrder="2" X="345" Y="2309" Height="191" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
</Shapes>
<Connectors>
<Connector ID="DesignRelation:FK_BatchReqList_OrderList" ZOrder="47" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="54" LineWidth="11">
<RoutePoints>
<Point>
<X>352</X>
<Y>144</Y>
<X>1189</X>
<Y>282</Y>
</Point>
<Point>
<X>321</X>
<Y>144</Y>
<X>1153</X>
<Y>282</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="45" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="53" LineWidth="11">
<RoutePoints>
<Point>
<X>1197</X>
<Y>146</Y>
<X>1028</X>
<Y>934</Y>
</Point>
<Point>
<X>1161</X>
<Y>146</Y>
<X>1028</X>
<Y>862</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="43" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="52" LineWidth="11">
<RoutePoints>
<Point>
<X>1044</X>
<Y>866</Y>
<X>828</X>
<Y>235</Y>
</Point>
<Point>
<X>1044</X>
<Y>794</Y>
<X>853</X>
<Y>235</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="41" LineWidth="11">
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="51" LineWidth="11">
<RoutePoints>
<Point>
<X>806</X>
<Y>68</Y>
<X>1116</X>
<Y>468</Y>
</Point>
<Point>
<X>861</X>
<Y>68</Y>
<X>1116</X>
<Y>553</Y>
</Point>
<Point>
<X>1091</X>
<Y>553</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="40" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="49" LineWidth="11">
<RoutePoints>
<Point>
<X>986</X>
<Y>400</Y>
<X>721</X>
<Y>408</Y>
</Point>
<Point>
<X>986</X>
<Y>458</Y>
<X>721</X>
<Y>377</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="37" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="50" LineWidth="11">
<RoutePoints>
<Point>
<X>707</X>
<Y>340</Y>
<X>482</X>
<Y>355</Y>
</Point>
<Point>
<X>707</X>
<Y>278</Y>
<X>634</X>
<Y>355</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="38" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="46" LineWidth="11">
<RoutePoints>
<Point>
<X>550</X>
<Y>97</Y>
<X>1113</X>
<Y>468</Y>
</Point>
<Point>
<X>612</X>
<Y>97</Y>
<X>1113</X>
<Y>728</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="32" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="48" LineWidth="11">
<RoutePoints>
<Point>
<X>1129</X>
<Y>400</Y>
<X>1364</X>
<Y>597</Y>
</Point>
<Point>
<X>1129</X>
<Y>660</Y>
<X>1364</X>
<Y>525</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="35" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="47" LineWidth="11">
<RoutePoints>
<Point>
<X>1380</X>
<Y>529</Y>
<X>1153</X>
<Y>429</Y>
</Point>
<Point>
<X>1380</X>
<Y>457</Y>
<X>1256</X>
<Y>429</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="34" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="45" LineWidth="11">
<RoutePoints>
<Point>
<X>1161</X>
<Y>361</Y>
<X>115</X>
<Y>525</Y>
</Point>
<Point>
<X>1264</X>
<Y>361</Y>
<X>115</X>
<Y>442</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="29" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="44" LineWidth="11">
<RoutePoints>
<Point>
<X>131</X>
<Y>457</Y>
<X>284</X>
<Y>393</Y>
</Point>
<Point>
<X>131</X>
<Y>374</Y>
<X>239</X>
<Y>393</Y>
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="28" LineWidth="11">
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="9" LineWidth="11">
<RoutePoints>
<Point>
<X>352</X>
<Y>293</Y>
<X>1042</X>
<Y>2251</Y>
</Point>
<Point>
<X>247</X>
<Y>293</Y>
<X>1116</X>
<Y>2251</Y>
</Point>
</RoutePoints>
</Connector>
+1 -1
View File
@@ -6934,7 +6934,7 @@ SELECT IdxPrintJob, TipoReport, KeyParam, prtName, dtStart, dtEnd, stato, dtLast
this._commandCollection[3].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@queue", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[4] = new global::System.Data.SqlClient.SqlCommand();
this._commandCollection[4].Connection = this.Connection;
this._commandCollection[4].CommandText = "dbo.stp_PJQ_getFirtsByUdc";
this._commandCollection[4].CommandText = "dbo.stp_PJQ_getFirtsByParam";
this._commandCollection[4].CommandType = global::System.Data.CommandType.StoredProcedure;
this._commandCollection[4].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
this._commandCollection[4].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@keyParam", global::System.Data.SqlDbType.VarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", ""));
+12 -12
View File
@@ -149,8 +149,8 @@ SELECT IdxPrintJob, TipoReport, KeyParam, prtName, dtStart, dtEnd, stato, dtLast
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_PJQ_getFirtsByUdc" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getFirstByParam" GetMethodModifier="Public" GetMethodName="getFirstByParam" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getFirstByParam" UserSourceName="getFirstByParam">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_PJQ_getFirtsByUdc</CommandText>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="true">
<CommandText>dbo.stp_PJQ_getFirtsByParam</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="varchar" DbType="AnsiString" Direction="Input" ParameterName="@keyParam" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -495,7 +495,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
<xs:element name="DS_Report" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DS_Report" msprop:Generator_UserDSName="DS_Report">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="stp_prt_BunkList" msprop:Generator_TableClassName="stp_prt_BunkListDataTable" msprop:Generator_TableVarName="tablestp_prt_BunkList" msprop:Generator_TablePropName="stp_prt_BunkList" msprop:Generator_RowDeletingName="stp_prt_BunkListRowDeleting" msprop:Generator_RowChangingName="stp_prt_BunkListRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_BunkListRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_BunkListRowDeleted" msprop:Generator_UserTableName="stp_prt_BunkList" msprop:Generator_RowChangedName="stp_prt_BunkListRowChanged" msprop:Generator_RowEvArgName="stp_prt_BunkListRowChangeEvent" msprop:Generator_RowClassName="stp_prt_BunkListRow">
<xs:element name="stp_prt_BunkList" msprop:Generator_TableClassName="stp_prt_BunkListDataTable" msprop:Generator_TableVarName="tablestp_prt_BunkList" msprop:Generator_RowChangedName="stp_prt_BunkListRowChanged" msprop:Generator_TablePropName="stp_prt_BunkList" msprop:Generator_RowDeletingName="stp_prt_BunkListRowDeleting" msprop:Generator_RowChangingName="stp_prt_BunkListRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_BunkListRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_BunkListRowDeleted" msprop:Generator_RowClassName="stp_prt_BunkListRow" msprop:Generator_UserTableName="stp_prt_BunkList" msprop:Generator_RowEvArgName="stp_prt_BunkListRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="StackIndex" msprop:Generator_ColumnVarNameInTable="columnStackIndex" msprop:Generator_ColumnPropNameInRow="StackIndex" msprop:Generator_ColumnPropNameInTable="StackIndexColumn" msprop:Generator_UserColumnName="StackIndex" type="xs:int" />
@@ -527,7 +527,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PrintJobQueue" msprop:Generator_TableClassName="PrintJobQueueDataTable" msprop:Generator_TableVarName="tablePrintJobQueue" msprop:Generator_RowChangedName="PrintJobQueueRowChanged" msprop:Generator_TablePropName="PrintJobQueue" msprop:Generator_RowDeletingName="PrintJobQueueRowDeleting" msprop:Generator_RowChangingName="PrintJobQueueRowChanging" msprop:Generator_RowEvHandlerName="PrintJobQueueRowChangeEventHandler" msprop:Generator_RowDeletedName="PrintJobQueueRowDeleted" msprop:Generator_RowClassName="PrintJobQueueRow" msprop:Generator_UserTableName="PrintJobQueue" msprop:Generator_RowEvArgName="PrintJobQueueRowChangeEvent">
<xs:element name="PrintJobQueue" msprop:Generator_TableClassName="PrintJobQueueDataTable" msprop:Generator_TableVarName="tablePrintJobQueue" msprop:Generator_TablePropName="PrintJobQueue" msprop:Generator_RowDeletingName="PrintJobQueueRowDeleting" msprop:Generator_RowChangingName="PrintJobQueueRowChanging" msprop:Generator_RowEvHandlerName="PrintJobQueueRowChangeEventHandler" msprop:Generator_RowDeletedName="PrintJobQueueRowDeleted" msprop:Generator_UserTableName="PrintJobQueue" msprop:Generator_RowChangedName="PrintJobQueueRowChanged" msprop:Generator_RowEvArgName="PrintJobQueueRowChangeEvent" msprop:Generator_RowClassName="PrintJobQueueRow">
<xs:complexType>
<xs:sequence>
<xs:element name="IdxPrintJob" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnIdxPrintJob" msprop:Generator_ColumnPropNameInRow="IdxPrintJob" msprop:Generator_ColumnPropNameInTable="IdxPrintJobColumn" msprop:Generator_UserColumnName="IdxPrintJob" type="xs:int" />
@@ -559,7 +559,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ElencoPostazioni" msprop:Generator_TableClassName="ElencoPostazioniDataTable" msprop:Generator_TableVarName="tableElencoPostazioni" msprop:Generator_RowChangedName="ElencoPostazioniRowChanged" msprop:Generator_TablePropName="ElencoPostazioni" msprop:Generator_RowDeletingName="ElencoPostazioniRowDeleting" msprop:Generator_RowChangingName="ElencoPostazioniRowChanging" msprop:Generator_RowEvHandlerName="ElencoPostazioniRowChangeEventHandler" msprop:Generator_RowDeletedName="ElencoPostazioniRowDeleted" msprop:Generator_RowClassName="ElencoPostazioniRow" msprop:Generator_UserTableName="ElencoPostazioni" msprop:Generator_RowEvArgName="ElencoPostazioniRowChangeEvent">
<xs:element name="ElencoPostazioni" msprop:Generator_TableClassName="ElencoPostazioniDataTable" msprop:Generator_TableVarName="tableElencoPostazioni" msprop:Generator_TablePropName="ElencoPostazioni" msprop:Generator_RowDeletingName="ElencoPostazioniRowDeleting" msprop:Generator_RowChangingName="ElencoPostazioniRowChanging" msprop:Generator_RowEvHandlerName="ElencoPostazioniRowChangeEventHandler" msprop:Generator_RowDeletedName="ElencoPostazioniRowDeleted" msprop:Generator_UserTableName="ElencoPostazioni" msprop:Generator_RowChangedName="ElencoPostazioniRowChanged" msprop:Generator_RowEvArgName="ElencoPostazioniRowChangeEvent" msprop:Generator_RowClassName="ElencoPostazioniRow">
<xs:complexType>
<xs:sequence>
<xs:element name="codPostazione" msprop:Generator_ColumnVarNameInTable="columncodPostazione" msprop:Generator_ColumnPropNameInRow="codPostazione" msprop:Generator_ColumnPropNameInTable="codPostazioneColumn" msprop:Generator_UserColumnName="codPostazione">
@@ -586,7 +586,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_prt_Bin" msprop:Generator_TableClassName="stp_prt_BinDataTable" msprop:Generator_TableVarName="tablestp_prt_Bin" msprop:Generator_TablePropName="stp_prt_Bin" msprop:Generator_RowDeletingName="stp_prt_BinRowDeleting" msprop:Generator_RowChangingName="stp_prt_BinRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_BinRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_BinRowDeleted" msprop:Generator_UserTableName="stp_prt_Bin" msprop:Generator_RowChangedName="stp_prt_BinRowChanged" msprop:Generator_RowEvArgName="stp_prt_BinRowChangeEvent" msprop:Generator_RowClassName="stp_prt_BinRow">
<xs:element name="stp_prt_Bin" msprop:Generator_TableClassName="stp_prt_BinDataTable" msprop:Generator_TableVarName="tablestp_prt_Bin" msprop:Generator_RowChangedName="stp_prt_BinRowChanged" msprop:Generator_TablePropName="stp_prt_Bin" msprop:Generator_RowDeletingName="stp_prt_BinRowDeleting" msprop:Generator_RowChangingName="stp_prt_BinRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_BinRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_BinRowDeleted" msprop:Generator_RowClassName="stp_prt_BinRow" msprop:Generator_UserTableName="stp_prt_Bin" msprop:Generator_RowEvArgName="stp_prt_BinRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="BinID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnBinID" msprop:Generator_ColumnPropNameInRow="BinID" msprop:Generator_ColumnPropNameInTable="BinIDColumn" msprop:Generator_UserColumnName="BinID" type="xs:int" />
@@ -653,7 +653,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_prt_Part" msprop:Generator_TableClassName="stp_prt_PartDataTable" msprop:Generator_TableVarName="tablestp_prt_Part" msprop:Generator_TablePropName="stp_prt_Part" msprop:Generator_RowDeletingName="stp_prt_PartRowDeleting" msprop:Generator_RowChangingName="stp_prt_PartRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_PartRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_PartRowDeleted" msprop:Generator_UserTableName="stp_prt_Part" msprop:Generator_RowChangedName="stp_prt_PartRowChanged" msprop:Generator_RowEvArgName="stp_prt_PartRowChangeEvent" msprop:Generator_RowClassName="stp_prt_PartRow">
<xs:element name="stp_prt_Part" msprop:Generator_TableClassName="stp_prt_PartDataTable" msprop:Generator_TableVarName="tablestp_prt_Part" msprop:Generator_RowChangedName="stp_prt_PartRowChanged" msprop:Generator_TablePropName="stp_prt_Part" msprop:Generator_RowDeletingName="stp_prt_PartRowDeleting" msprop:Generator_RowChangingName="stp_prt_PartRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_PartRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_PartRowDeleted" msprop:Generator_RowClassName="stp_prt_PartRow" msprop:Generator_UserTableName="stp_prt_Part" msprop:Generator_RowEvArgName="stp_prt_PartRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="ItemID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnItemID" msprop:Generator_ColumnPropNameInRow="ItemID" msprop:Generator_ColumnPropNameInTable="ItemIDColumn" msprop:Generator_UserColumnName="ItemID" type="xs:int" />
@@ -681,7 +681,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_prt_Cart" msprop:Generator_TableClassName="stp_prt_CartDataTable" msprop:Generator_TableVarName="tablestp_prt_Cart" msprop:Generator_TablePropName="stp_prt_Cart" msprop:Generator_RowDeletingName="stp_prt_CartRowDeleting" msprop:Generator_RowChangingName="stp_prt_CartRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_CartRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_CartRowDeleted" msprop:Generator_UserTableName="stp_prt_Cart" msprop:Generator_RowChangedName="stp_prt_CartRowChanged" msprop:Generator_RowEvArgName="stp_prt_CartRowChangeEvent" msprop:Generator_RowClassName="stp_prt_CartRow">
<xs:element name="stp_prt_Cart" msprop:Generator_TableClassName="stp_prt_CartDataTable" msprop:Generator_TableVarName="tablestp_prt_Cart" msprop:Generator_RowChangedName="stp_prt_CartRowChanged" msprop:Generator_TablePropName="stp_prt_Cart" msprop:Generator_RowDeletingName="stp_prt_CartRowDeleting" msprop:Generator_RowChangingName="stp_prt_CartRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_CartRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_CartRowDeleted" msprop:Generator_RowClassName="stp_prt_CartRow" msprop:Generator_UserTableName="stp_prt_Cart" msprop:Generator_RowEvArgName="stp_prt_CartRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="BatchID" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" minOccurs="0" />
@@ -720,7 +720,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_prt_BunkGroup" msprop:Generator_TableClassName="stp_prt_BunkGroupDataTable" msprop:Generator_TableVarName="tablestp_prt_BunkGroup" msprop:Generator_TablePropName="stp_prt_BunkGroup" msprop:Generator_RowDeletingName="stp_prt_BunkGroupRowDeleting" msprop:Generator_RowChangingName="stp_prt_BunkGroupRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_BunkGroupRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_BunkGroupRowDeleted" msprop:Generator_UserTableName="stp_prt_BunkGroup" msprop:Generator_RowChangedName="stp_prt_BunkGroupRowChanged" msprop:Generator_RowEvArgName="stp_prt_BunkGroupRowChangeEvent" msprop:Generator_RowClassName="stp_prt_BunkGroupRow">
<xs:element name="stp_prt_BunkGroup" msprop:Generator_TableClassName="stp_prt_BunkGroupDataTable" msprop:Generator_TableVarName="tablestp_prt_BunkGroup" msprop:Generator_RowChangedName="stp_prt_BunkGroupRowChanged" msprop:Generator_TablePropName="stp_prt_BunkGroup" msprop:Generator_RowDeletingName="stp_prt_BunkGroupRowDeleting" msprop:Generator_RowChangingName="stp_prt_BunkGroupRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_BunkGroupRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_BunkGroupRowDeleted" msprop:Generator_RowClassName="stp_prt_BunkGroupRow" msprop:Generator_UserTableName="stp_prt_BunkGroup" msprop:Generator_RowEvArgName="stp_prt_BunkGroupRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="StackIndex" msprop:Generator_ColumnVarNameInTable="columnStackIndex" msprop:Generator_ColumnPropNameInRow="StackIndex" msprop:Generator_ColumnPropNameInTable="StackIndexColumn" msprop:Generator_UserColumnName="StackIndex" type="xs:int" />
@@ -766,7 +766,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_prt_OtherPart" msprop:Generator_TableClassName="stp_prt_OtherPartDataTable" msprop:Generator_TableVarName="tablestp_prt_OtherPart" msprop:Generator_RowChangedName="stp_prt_OtherPartRowChanged" msprop:Generator_TablePropName="stp_prt_OtherPart" msprop:Generator_RowDeletingName="stp_prt_OtherPartRowDeleting" msprop:Generator_RowChangingName="stp_prt_OtherPartRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_OtherPartRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_OtherPartRowDeleted" msprop:Generator_RowClassName="stp_prt_OtherPartRow" msprop:Generator_UserTableName="stp_prt_OtherPart" msprop:Generator_RowEvArgName="stp_prt_OtherPartRowChangeEvent">
<xs:element name="stp_prt_OtherPart" msprop:Generator_TableClassName="stp_prt_OtherPartDataTable" msprop:Generator_TableVarName="tablestp_prt_OtherPart" msprop:Generator_TablePropName="stp_prt_OtherPart" msprop:Generator_RowDeletingName="stp_prt_OtherPartRowDeleting" msprop:Generator_RowChangingName="stp_prt_OtherPartRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_OtherPartRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_OtherPartRowDeleted" msprop:Generator_UserTableName="stp_prt_OtherPart" msprop:Generator_RowChangedName="stp_prt_OtherPartRowChanged" msprop:Generator_RowEvArgName="stp_prt_OtherPartRowChangeEvent" msprop:Generator_RowClassName="stp_prt_OtherPartRow">
<xs:complexType>
<xs:sequence>
<xs:element name="OtherItemID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnOtherItemID" msprop:Generator_ColumnPropNameInRow="OtherItemID" msprop:Generator_ColumnPropNameInTable="OtherItemIDColumn" msprop:Generator_UserColumnName="OtherItemID" type="xs:int" />
@@ -815,7 +815,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_prt_IRK" msprop:Generator_TableClassName="stp_prt_IRKDataTable" msprop:Generator_TableVarName="tablestp_prt_IRK" msprop:Generator_RowChangedName="stp_prt_IRKRowChanged" msprop:Generator_TablePropName="stp_prt_IRK" msprop:Generator_RowDeletingName="stp_prt_IRKRowDeleting" msprop:Generator_RowChangingName="stp_prt_IRKRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_IRKRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_IRKRowDeleted" msprop:Generator_RowClassName="stp_prt_IRKRow" msprop:Generator_UserTableName="stp_prt_IRK" msprop:Generator_RowEvArgName="stp_prt_IRKRowChangeEvent">
<xs:element name="stp_prt_IRK" msprop:Generator_TableClassName="stp_prt_IRKDataTable" msprop:Generator_TableVarName="tablestp_prt_IRK" msprop:Generator_TablePropName="stp_prt_IRK" msprop:Generator_RowDeletingName="stp_prt_IRKRowDeleting" msprop:Generator_RowChangingName="stp_prt_IRKRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_IRKRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_IRKRowDeleted" msprop:Generator_UserTableName="stp_prt_IRK" msprop:Generator_RowChangedName="stp_prt_IRKRowChanged" msprop:Generator_RowEvArgName="stp_prt_IRKRowChangeEvent" msprop:Generator_RowClassName="stp_prt_IRKRow">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderExtCode" msprop:Generator_ColumnVarNameInTable="columnOrderExtCode" msprop:Generator_ColumnPropNameInRow="OrderExtCode" msprop:Generator_ColumnPropNameInTable="OrderExtCodeColumn" msprop:Generator_UserColumnName="OrderExtCode">
@@ -895,7 +895,7 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_prt_IRK_Sum" msprop:Generator_TableClassName="stp_prt_IRK_SumDataTable" msprop:Generator_TableVarName="tablestp_prt_IRK_Sum" msprop:Generator_RowChangedName="stp_prt_IRK_SumRowChanged" msprop:Generator_TablePropName="stp_prt_IRK_Sum" msprop:Generator_RowDeletingName="stp_prt_IRK_SumRowDeleting" msprop:Generator_RowChangingName="stp_prt_IRK_SumRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_IRK_SumRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_IRK_SumRowDeleted" msprop:Generator_RowClassName="stp_prt_IRK_SumRow" msprop:Generator_UserTableName="stp_prt_IRK_Sum" msprop:Generator_RowEvArgName="stp_prt_IRK_SumRowChangeEvent">
<xs:element name="stp_prt_IRK_Sum" msprop:Generator_TableClassName="stp_prt_IRK_SumDataTable" msprop:Generator_TableVarName="tablestp_prt_IRK_Sum" msprop:Generator_TablePropName="stp_prt_IRK_Sum" msprop:Generator_RowDeletingName="stp_prt_IRK_SumRowDeleting" msprop:Generator_RowChangingName="stp_prt_IRK_SumRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_IRK_SumRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_IRK_SumRowDeleted" msprop:Generator_UserTableName="stp_prt_IRK_Sum" msprop:Generator_RowChangedName="stp_prt_IRK_SumRowChanged" msprop:Generator_RowEvArgName="stp_prt_IRK_SumRowChangeEvent" msprop:Generator_RowClassName="stp_prt_IRK_SumRow">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderExtCode" msprop:Generator_ColumnVarNameInTable="columnOrderExtCode" msprop:Generator_ColumnPropNameInRow="OrderExtCode" msprop:Generator_ColumnPropNameInTable="OrderExtCodeColumn" msprop:Generator_UserColumnName="OrderExtCode">
+1 -1
View File
@@ -4,7 +4,7 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="65" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="-10" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:stp_prt_BunkList" ZOrder="5" X="279" Y="642" Height="229" Width="249" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:PrintJobQueue" ZOrder="10" X="432" Y="94" Height="400" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
+302 -140
View File
@@ -1,4 +1,5 @@
using NKC_SDK;
using Newtonsoft.Json;
using NKC_SDK;
using SteamWare;
using System.Globalization;
@@ -6,15 +7,18 @@ namespace AppData
{
public class DataLayer
{
#region oggetti public
#region Public Fields
public DS_AppTableAdapters.BatchListTableAdapter taBL;
public DS_AppTableAdapters.BinsTableAdapter taBN;
public DS_AppTableAdapters.BinListTableAdapter taBNLS;
public DS_AppTableAdapters.CartsTableAdapter taCL;
public DS_AppTableAdapters.CartOnKitTableAdapter taCOK;
public DS_AppTableAdapters.CountersTableAdapter taCount;
public DS_AppTableAdapters.CartsTableAdapter taCR;
public DS_AppTableAdapters.ErrorsLogTableAdapter taEL;
public DS_ReportTableAdapters.ElencoPostazioniTableAdapter taElPos;
public DS_AppTableAdapters.FileValidationTableAdapter taFV;
public DS_AppTableAdapters.ItemListTableAdapter taIL;
public DS_AppTableAdapters.ImportLogTableAdapter taImpLog;
public DS_AppTableAdapters.ItemSearchDetailTableAdapter taISD;
@@ -23,94 +27,145 @@ namespace AppData
public DS_AppTableAdapters.MaterialsTableAdapter taMat;
public DS_AppTableAdapters.NestingTableAdapter taNest;
public DS_AppTableAdapters.OfflineOrderListTableAdapter taOffOL;
public DS_AppTableAdapters.OffOrd2ItemTableAdapter taOO2I;
public DS_AppTableAdapters.OKIBTableAdapter taOKIB;
public DS_AppTableAdapters.OKIB_SumTableAdapter taOKIB_Sum;
public DS_AppTableAdapters.OKOITableAdapter taOKOI;
public DS_AppTableAdapters.OKOI_sumTableAdapter taOKOI_Sum;
public DS_AppTableAdapters.OrderListTableAdapter taOL;
public DS_AppTableAdapters.OrderListTreeTableAdapter taOLT;
public DS_AppTableAdapters.OffOrd2ItemTableAdapter taOO2I;
public DS_AppTableAdapters.OtherItemTableAdapter taOtItem;
public DS_ReportTableAdapters.PrintJobQueueTableAdapter taPJQ;
public DS_AppTableAdapters.PackListTableAdapter taPL;
public DS_AppTableAdapters.PlacesTableAdapter taPlac;
public DS_AppTableAdapters.PackCheckTableAdapter taPLC;
public DS_AppTableAdapters.PackListDetTableAdapter taPLD;
public DS_AppTableAdapters.PackLogTableAdapter taPLog;
public DS_AppTableAdapters.PartValidParetoTableAdapter taPVP;
public DS_AppTableAdapters.RemnantsTableAdapter taRem;
public DS_AppTableAdapters.StackListTableAdapter taSTL;
public DS_AppTableAdapters.SheetListTableAdapter taSHL;
// reports
public DS_ReportTableAdapters.ElencoPostazioniTableAdapter taElPos;
public DS_ReportTableAdapters.PrintJobQueueTableAdapter taPJQ;
public DS_ReportTableAdapters.stp_prt_BinTableAdapter taRepBin;
public DS_ReportTableAdapters.stp_prt_BunkGroupTableAdapter taRepBunkGroup;
public DS_ReportTableAdapters.stp_prt_BunkListTableAdapter taRepBunkList;
public DS_ReportTableAdapters.stp_prt_CartTableAdapter taRepCart;
public DS_ReportTableAdapters.stp_prt_PartTableAdapter taRepPart;
public DS_ReportTableAdapters.stp_prt_OtherPartTableAdapter taRepOtherPart;
public DS_ReportTableAdapters.stp_prt_IRKTableAdapter taRepIRK;
public DS_ReportTableAdapters.stp_prt_IRK_SumTableAdapter taRepIRKSum;
public DS_ReportTableAdapters.stp_prt_OtherPartTableAdapter taRepOtherPart;
public DS_ReportTableAdapters.stp_prt_PartTableAdapter taRepPart;
public DS_AppTableAdapters.SheetListTableAdapter taSHL;
public DS_AppTableAdapters.SheetsPreviewTableAdapter taSP;
public DS_AppTableAdapters.StatusDecodeTableAdapter taStatDec;
public DS_AppTableAdapters.StatusLogTableAdapter taStatLog;
public DS_AppTableAdapters.StackListTableAdapter taSTL;
public DS_AppTableAdapters.UpdManTableAdapter taUpdMan;
public DS_AppTableAdapters.UnloadStatsTableAdapter taUS;
#endregion Public Fields
#region Public Constructors
public DataLayer()
{
// inizializzaizone classe
initTA();
setupConnString();
cacheDataTTL = memLayer.ML.CRI("cacheDataTTL");
}
private void setupConnString()
#endregion Public Constructors
#region Protected Properties
protected int cacheDataTTL { get; set; } = 2;
#endregion Protected Properties
#region Public Properties
public string CodSoggCurrUser
{
string connString = memLayer.ML.CRS("NKC_WFConnectionString");
taBL.Connection.ConnectionString = connString;
taBN.Connection.ConnectionString = connString;
taBNLS.Connection.ConnectionString = connString;
taCOK.Connection.ConnectionString = connString;
taCount.Connection.ConnectionString = connString;
taCR.Connection.ConnectionString = connString;
taEL.Connection.ConnectionString = connString;
taIL.Connection.ConnectionString = connString;
taImpLog.Connection.ConnectionString = connString;
taISD.Connection.ConnectionString = connString;
taIV.Connection.ConnectionString = connString;
taKL.Connection.ConnectionString = connString;
taMat.Connection.ConnectionString = connString;
taNest.Connection.ConnectionString = connString;
taOffOL.Connection.ConnectionString = connString;
taOO2I.Connection.ConnectionString = connString;
taOKIB.Connection.ConnectionString = connString;
taOKIB_Sum.Connection.ConnectionString = connString;
taOKOI.Connection.ConnectionString = connString;
taOKOI_Sum.Connection.ConnectionString = connString;
taOL.Connection.ConnectionString = connString;
taOtItem.Connection.ConnectionString = connString;
taPL.Connection.ConnectionString = connString;
taPLC.Connection.ConnectionString = connString;
taPLD.Connection.ConnectionString = connString;
taPLog.Connection.ConnectionString = connString;
taPVP.Connection.ConnectionString = connString;
taRem.Connection.ConnectionString = connString;
taSTL.Connection.ConnectionString = connString;
taSHL.Connection.ConnectionString = connString;
// reports
taElPos.Connection.ConnectionString = connString;
taPJQ.Connection.ConnectionString = connString;
taRepBin.Connection.ConnectionString = connString;
taRepBunkGroup.Connection.ConnectionString = connString;
taRepBunkList.Connection.ConnectionString = connString;
taRepCart.Connection.ConnectionString = connString;
taRepPart.Connection.ConnectionString = connString;
taRepOtherPart.Connection.ConnectionString = connString;
taRepIRK.Connection.ConnectionString = connString;
taRepIRKSum.Connection.ConnectionString = connString;
get
{
return "O000123456";
}
}
public string CognNomeCurrUser
{
get
{
return "Mario Rossi";
}
}
#endregion Public Properties
#region Private Methods
/// <summary>
/// verifica esistenza record da tipo doc + chiave...
/// </summary>
/// <param name="tipoDoc"></param>
/// <param name="keyParam"></param>
/// <returns></returns>
private bool checkDoc(tipoDocumento tipoDoc, string keyParam)
{
bool answ = false;
int intIdx = 0;
switch (tipoDoc)
{
case tipoDocumento.docBinPre:
case tipoDocumento.docBinPost:
int.TryParse(keyParam, out intIdx);
var tabBinPre = taBN.getByKey(intIdx);
answ = tabBinPre.Count > 0;
break;
case tipoDocumento.docCart:
case tipoDocumento.docCartIRK:
case tipoDocumento.docCartIRKSum:
int.TryParse(keyParam, out intIdx);
var tabCarts = taCR.getByKey(intIdx);
answ = tabCarts.Count > 0;
break;
case tipoDocumento.docPart:
int.TryParse(keyParam, out intIdx);
var tabPart = taIL.getByKey(intIdx);
answ = tabPart.Count > 0;
break;
case tipoDocumento.docOtherPart:
int.TryParse(keyParam, out intIdx);
var tabOtherPart = taOtItem.getByKey(intIdx);
answ = tabOtherPart.Count > 0;
break;
case tipoDocumento.docStack:
int.TryParse(keyParam, out intIdx);
var tabStack = taSTL.getByKey(intIdx);
answ = tabStack.Count > 0;
break;
case tipoDocumento.docND:
break;
default:
break;
}
return answ;
}
private void initTA()
{
taBL = new DS_AppTableAdapters.BatchListTableAdapter();
taBN = new DS_AppTableAdapters.BinsTableAdapter();
taBNLS = new DS_AppTableAdapters.BinListTableAdapter();
taCOK= new DS_AppTableAdapters.CartOnKitTableAdapter ();
taCL = new DS_AppTableAdapters.CartsTableAdapter();
taCOK = new DS_AppTableAdapters.CartOnKitTableAdapter();
taCount = new DS_AppTableAdapters.CountersTableAdapter();
taCR = new DS_AppTableAdapters.CartsTableAdapter();
taEL = new DS_AppTableAdapters.ErrorsLogTableAdapter();
taFV = new DS_AppTableAdapters.FileValidationTableAdapter();
taIL = new DS_AppTableAdapters.ItemListTableAdapter();
taImpLog = new DS_AppTableAdapters.ImportLogTableAdapter();
taISD = new DS_AppTableAdapters.ItemSearchDetailTableAdapter();
@@ -125,16 +180,20 @@ namespace AppData
taOKOI = new DS_AppTableAdapters.OKOITableAdapter();
taOKOI_Sum = new DS_AppTableAdapters.OKOI_sumTableAdapter();
taOL = new DS_AppTableAdapters.OrderListTableAdapter();
taOLT = new DS_AppTableAdapters.OrderListTreeTableAdapter();
taOtItem = new DS_AppTableAdapters.OtherItemTableAdapter();
taPL = new DS_AppTableAdapters.PackListTableAdapter();
taPlac = new DS_AppTableAdapters.PlacesTableAdapter();
taPLC = new DS_AppTableAdapters.PackCheckTableAdapter();
taPLD = new DS_AppTableAdapters.PackListDetTableAdapter();
taPLog = new DS_AppTableAdapters.PackLogTableAdapter();
taPVP = new DS_AppTableAdapters.PartValidParetoTableAdapter();
taRem = new DS_AppTableAdapters.RemnantsTableAdapter();
taStatDec = new DS_AppTableAdapters.StatusDecodeTableAdapter();
taStatLog = new DS_AppTableAdapters.StatusLogTableAdapter();
taSTL = new DS_AppTableAdapters.StackListTableAdapter();
taSHL = new DS_AppTableAdapters.SheetListTableAdapter();
// reports
taSP = new DS_AppTableAdapters.SheetsPreviewTableAdapter();
taElPos = new DS_ReportTableAdapters.ElencoPostazioniTableAdapter();
taPJQ = new DS_ReportTableAdapters.PrintJobQueueTableAdapter();
taRepBin = new DS_ReportTableAdapters.stp_prt_BinTableAdapter();
@@ -145,24 +204,68 @@ namespace AppData
taRepOtherPart = new DS_ReportTableAdapters.stp_prt_OtherPartTableAdapter();
taRepIRK = new DS_ReportTableAdapters.stp_prt_IRKTableAdapter();
taRepIRKSum = new DS_ReportTableAdapters.stp_prt_IRK_SumTableAdapter();
taUS = new DS_AppTableAdapters.UnloadStatsTableAdapter();
taUpdMan = new DS_AppTableAdapters.UpdManTableAdapter();
}
#endregion
private void setupConnString()
{
string connString = memLayer.ML.confReadString("NKC_WFConnectionString");
taBL.Connection.ConnectionString = connString;
taBN.Connection.ConnectionString = connString;
taBNLS.Connection.ConnectionString = connString;
taCL.Connection.ConnectionString = connString;
taCOK.Connection.ConnectionString = connString;
taCount.Connection.ConnectionString = connString;
taCR.Connection.ConnectionString = connString;
taEL.Connection.ConnectionString = connString;
taFV.Connection.ConnectionString = connString;
taIL.Connection.ConnectionString = connString;
taImpLog.Connection.ConnectionString = connString;
taISD.Connection.ConnectionString = connString;
taIV.Connection.ConnectionString = connString;
taKL.Connection.ConnectionString = connString;
taMat.Connection.ConnectionString = connString;
taNest.Connection.ConnectionString = connString;
taOffOL.Connection.ConnectionString = connString;
taOO2I.Connection.ConnectionString = connString;
taOKIB.Connection.ConnectionString = connString;
taOKIB_Sum.Connection.ConnectionString = connString;
taOKOI.Connection.ConnectionString = connString;
taOKOI_Sum.Connection.ConnectionString = connString;
taOL.Connection.ConnectionString = connString;
taOLT.Connection.ConnectionString = connString;
taOtItem.Connection.ConnectionString = connString;
taPL.Connection.ConnectionString = connString;
taPlac.Connection.ConnectionString = connString;
taPLC.Connection.ConnectionString = connString;
taPLD.Connection.ConnectionString = connString;
taPLog.Connection.ConnectionString = connString;
taPVP.Connection.ConnectionString = connString;
taRem.Connection.ConnectionString = connString;
taStatDec.Connection.ConnectionString = connString;
taStatLog.Connection.ConnectionString = connString;
taSTL.Connection.ConnectionString = connString;
taSHL.Connection.ConnectionString = connString;
taSP.Connection.ConnectionString = connString;
taElPos.Connection.ConnectionString = connString;
taPJQ.Connection.ConnectionString = connString;
taRepBin.Connection.ConnectionString = connString;
taRepBunkGroup.Connection.ConnectionString = connString;
taRepBunkList.Connection.ConnectionString = connString;
taRepCart.Connection.ConnectionString = connString;
taRepPart.Connection.ConnectionString = connString;
taRepOtherPart.Connection.ConnectionString = connString;
taRepIRK.Connection.ConnectionString = connString;
taRepIRKSum.Connection.ConnectionString = connString;
taUS.Connection.ConnectionString = connString;
taUpdMan.Connection.ConnectionString = connString;
}
#endregion Private Methods
#region Public Methods
public string CodSoggCurrUser
{
get
{
return "O000123456";
}
}
public string CognNomeCurrUser
{
get
{
return "Mario Rossi";
}
}
/// <summary>
/// Main BCode decoding function
/// </summary>
@@ -253,9 +356,135 @@ namespace AppData
answ.codeInt = codeInt;
answ.description = $"{ComLib.traduci("BinPaint")}: {answ.code}";
}
else if (bcValue.StartsWith("MSEL"))
{
answ.codeType = codeType.MachSelection;
answ.code = bcValue.Replace("MSEL", "");
int codeInt = 0;
answ.codeInt = codeInt;
answ.description = $"{ComLib.traduci("BinPaint")}: {answ.code}";
}
return answ;
}
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)]
public DS_App.BinsDataTable getBinByBatch(int BatchID)
{
DS_App.BinsDataTable answ = new DS_App.BinsDataTable();
// controllo cache
bool trovato = false;
string redKey = memLayer.ML.redHash($"BinByBatch:{BatchID}");
string rawData = "";
rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData))
{
try
{
answ = JsonConvert.DeserializeObject<DS_App.BinsDataTable>(rawData);
trovato = true;
}
catch
{ }
}
if (!trovato)
{
// se non trovo leggo
answ = taBN.getByBatch(BatchID);
rawData = JsonConvert.SerializeObject(answ);
// salvo in redis
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL);
}
//restituisco valore..
return answ;
}
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)]
public DS_App.CartsDataTable getCartByBatch(int BatchID)
{
DS_App.CartsDataTable answ = new DS_App.CartsDataTable();
// controllo cache
bool trovato = false;
string redKey = memLayer.ML.redHash($"CartByBatch:{BatchID}");
string rawData = "";
rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData))
{
try
{
answ = JsonConvert.DeserializeObject<DS_App.CartsDataTable>(rawData);
trovato = true;
}
catch
{ }
}
if (!trovato)
{
// se non trovo leggo
answ = taCL.getByBatch(BatchID);
rawData = JsonConvert.SerializeObject(answ);
// salvo in redis
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL);
}
//restituisco valore..
return answ;
}
/// <summary>
/// Recupera printer dato codPostazione
/// </summary>
/// <param name="codPost"></param>
/// <returns></returns>
public string getPrinter(string codPost)
{
string printer = "";
// recupero da DB...
try
{
DataLayer DLMan = new DataLayer();
var tabPost = DLMan.taElPos.getByKey(codPost);
if (tabPost.Count == 1)
{
printer = tabPost[0].stampante;
}
}
catch
{ }
return printer;
}
[System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Select, false)]
public DS_App.UnloadStatsDataTable getUnloadStatsByBatch(int BatchID, int StatLevel)
{
DS_App.UnloadStatsDataTable answ = new DS_App.UnloadStatsDataTable();
// controllo cache
bool trovato = false;
string redKey = memLayer.ML.redHash($"UnloadStatsByBatch:{BatchID}:{StatLevel}");
string rawData = "";
rawData = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(rawData))
{
try
{
answ = JsonConvert.DeserializeObject<DS_App.UnloadStatsDataTable>(rawData);
trovato = true;
}
catch
{ }
}
if (!trovato)
{
// se non trovo leggo
answ = taUS.GetData(BatchID, StatLevel);
rawData = JsonConvert.SerializeObject(answ);
// salvo in redis
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL);
}
//restituisco valore..
return answ;
}
/// <summary>
/// effettua la stampa di un documento
@@ -290,74 +519,7 @@ namespace AppData
}
return answ;
}
/// <summary>
/// verifica esistenza record da tipo doc + chiave...
/// </summary>
/// <param name="tipoDoc"></param>
/// <param name="keyParam"></param>
/// <returns></returns>
private bool checkDoc(tipoDocumento tipoDoc, string keyParam)
{
bool answ = false;
int intIdx = 0;
switch (tipoDoc)
{
case tipoDocumento.docBinPre:
case tipoDocumento.docBinPost:
int.TryParse(keyParam, out intIdx);
var tabBinPre = taBN.getByKey(intIdx);
answ = tabBinPre.Count > 0;
break;
case tipoDocumento.docCart:
case tipoDocumento.docCartIRK:
case tipoDocumento.docCartIRKSum:
int.TryParse(keyParam, out intIdx);
var tabCarts = taCR.getByKey(intIdx);
answ = tabCarts.Count > 0;
break;
case tipoDocumento.docPart:
int.TryParse(keyParam, out intIdx);
var tabPart = taIL.getByKey(intIdx);
answ = tabPart.Count > 0;
break;
case tipoDocumento.docOtherPart:
int.TryParse(keyParam, out intIdx);
var tabOtherPart = taOtItem.getByKey(intIdx);
answ = tabOtherPart.Count > 0;
break;
case tipoDocumento.docStack:
int.TryParse(keyParam, out intIdx);
var tabStack = taSTL.getByKey(intIdx);
answ = tabStack.Count > 0;
break;
case tipoDocumento.docND:
break;
default:
break;
}
return answ;
}
/// <summary>
/// Recupera printer dato codPostazione
/// </summary>
/// <param name="codPost"></param>
/// <returns></returns>
public string getPrinter(string codPost)
{
string printer = "";
// recupero da DB...
try
{
DataLayer DLMan = new DataLayer();
var tabPost = DLMan.taElPos.getByKey(codPost);
if (tabPost.Count == 1)
{
printer = tabPost[0].stampante;
}
}
catch
{ }
return printer;
}
#endregion Public Methods
}
}
}
+17 -9
View File
@@ -6,14 +6,6 @@ using System.Threading.Tasks;
namespace AppData
{
public enum StatType
{
BATCH = 1,
BUNK,
SHEET,
CART,
BIN
}
public enum cssClass
{
ND,
@@ -25,4 +17,20 @@ namespace AppData
danger
}
}
public enum Stations
{
LINE = 0,
PRINTER,
NC_MACHINE,
UNLOADER
}
public enum StatType
{
BATCH = 1,
BUNK,
SHEET,
CART,
BIN
}
}
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AppData
{
public class chartJsTSerie
{
#region Public Properties
public DateTime x { get; set; }
public decimal y { get; set; }
#endregion Public Properties
}
public class chartJsXY
{
#region Public Properties
public decimal x { get; set; }
public decimal y { get; set; }
#endregion Public Properties
}
}
+27 -3
View File
@@ -9,11 +9,11 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
@@ -41,7 +41,31 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.24.0.0" newVersion="0.24.0.0" />
<bindingRedirect oldVersion="0.0.0.0-0.28.3.0" newVersion="0.28.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.2.10" newVersion="1.3.2.10" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Binary file not shown.
+33 -22
View File
@@ -1,33 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AIM" version="1.0.3" targetFramework="net462" />
<package id="AjaxControlToolkit" version="19.1.0" targetFramework="net462" />
<package id="AIM" version="1.1.0" targetFramework="net462" />
<package id="AjaxControlToolkit" version="20.1.0" targetFramework="net462" />
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net462" />
<package id="DnsClient" version="1.2.0" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="3.1.0" targetFramework="net462" />
<package id="DnsClient" version="1.5.0" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="5.0.2" targetFramework="net462" />
<package id="Microsoft.ReportViewer.Runtime.Common" version="12.0.2402.15" targetFramework="net462" />
<package id="Microsoft.ReportViewer.Runtime.WinForms" version="12.0.2402.15" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.10.2" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.10.2" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.10.2" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.0.0" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.13.1" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.13.1" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.13.1" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.2.2" targetFramework="net462" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
<package id="NLog" version="4.6.8" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net462" />
<package id="NLog" version="4.7.10" targetFramework="net462" />
<package id="PDFsharp" version="1.50.5147" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.1.1" targetFramework="net462" />
<package id="SharpCompress" version="0.24.0" targetFramework="net462" />
<package id="SharpZipLib" version="1.2.0" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.0" targetFramework="net462" />
<package id="SharpCompress" version="0.28.3" targetFramework="net462" />
<package id="SharpZipLib" version="1.3.2" targetFramework="net462" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.0.601" targetFramework="net462" />
<package id="SteamWare" version="3.5.2001.709" targetFramework="net462" />
<package id="System.Buffers" version="4.5.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="4.7.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="4.7.0" targetFramework="net462" />
<package id="System.Memory" version="4.5.3" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.2.62" targetFramework="net462" />
<package id="SteamWare" version="5.1.2108.1115" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2108.1115" targetFramework="net462" />
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="5.0.1" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="5.0.1" targetFramework="net462" />
<package id="System.Memory" version="4.5.4" targetFramework="net462" />
<package id="System.Net.Http" version="4.3.4" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net462" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="4.7.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.3" targetFramework="net462" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Pkcs" version="5.0.1" targetFramework="net462" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net462" />
<package id="System.Text.Encoding.CodePages" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net462" />
</packages>
+258 -201
View File
@@ -16,127 +16,53 @@ namespace AppData
/// </summary>
public class reportPrinter
{
#region area codice da non modificare
#region Private Fields
private int m_currentPageIndex;
/// <summary>
/// stream del report...
/// </summary>
private IList<Stream> m_streams;
#endregion Private Fields
#region Protected Fields
/// <summary>
/// oggetto static/singleton per fare chiamate sul datalayer
/// </summary>
protected DataLayer DLMan = new DataLayer();
private int m_currentPageIndex;
protected int logLevel = 0;
protected bool doPdfCopy = false;
protected int logLevel = 0;
#endregion Protected Fields
#region Public Fields
/// <summary>
/// stream del report...
/// singleton pubblico
/// </summary>
private IList<Stream> m_streams;
public static reportPrinter obj = new reportPrinter();
#endregion Public Fields
#region Protected Constructors
/// <summary>
/// ciclo da fornire al renderizzatore dei report, per salvare 1 immagine da ogni pagina del report
/// oggetto protected
/// </summary>
/// <param name="name"></param>
/// <param name="fileNameExtension"></param>
/// <param name="encoding"></param>
/// <param name="mimeType"></param>
/// <param name="willSeek"></param>
/// <returns></returns>
private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
/// <param name="args"></param>
protected reportPrinter()
{
// creo files con nomi univoci...
string filePathName = string.Format(@"~\temp\{0}_{1:HHmmss}_{1:ffff}.{2}", name, DateTime.Now, fileNameExtension);
Stream stream = new FileStream(SteamWare.SteamwareStrings.getFilePath(filePathName), FileMode.Create);
//Stream stream = new FileStream(SteamWare.SteamwareStrings.getFilePath(@"~\temp\" + name + "." + fileNameExtension), FileMode.Create);
m_streams.Add(stream);
return stream;
}
/// <summary>
/// ciclo da fornire al renderizzatore dei report, per salvare 1 pdf da ogni pagina del report
/// </summary>
/// <param name="name"></param>
/// <param name="fileNameExtension"></param>
/// <param name="encoding"></param>
/// <param name="mimeType"></param>
/// <param name="willSeek"></param>
/// <returns></returns>
private Stream CreateStreamPdf(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
// creo Directory se non c'è
SteamWare.fileMover fm = new fileMover(string.Format(@"{0}\{1:yyyy}\{1:MM}\{1:dd}\", memLayer.ML.confReadString("PdfFolder"), DateTime.Now), "");
fm.checkDir();
string pdfPathName = string.Format(@"{0}\{1:yyyy}\{1:MM}\{1:dd}\{2}_{1:HHmmss}_{1:ffff}.{3}", memLayer.ML.confReadString("PdfFolder"), DateTime.Now, name, fileNameExtension);
//Stream stream = new FileStream(SteamWare.SteamwareStrings.getFilePath(@"~\temp\" + name + "." + fileNameExtension), FileMode.Create);
Stream stream = new FileStream(SteamWare.SteamwareStrings.getFilePath(pdfPathName), FileMode.Create);
m_streams.Add(stream);
return stream;
}
/// <summary>
/// Handler per PrintPageEvents
/// </summary>
/// <param name="sender"></param>
/// <param name="ev"></param>
private void PrintPage(object sender, PrintPageEventArgs ev)
{
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
m_currentPageIndex++;
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
/// <summary>
/// funzione di stampa...
/// </summary>
private void Print(string printerName)
{
//const string printerName = "Microsoft Office Document Image Writer";
//const string printerName = "Brother HL-2170W series";
if (m_streams == null || m_streams.Count == 0)
return;
PrintDocument printDoc = new PrintDocument();
printDoc.PrinterSettings.PrinterName = printerName;
if (!printDoc.PrinterSettings.IsValid)
{
logger.lg.scriviLog(String.Format("Impostazioni non valide per la stampante \"{0}\".", printerName), tipoLog.ERROR);
return;
}
printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
printDoc.Print();
}
/// <summary>
/// Export del report come EMF (Enhanced Metafile) file.
/// </summary>
/// <param name="report"></param>
private void Export(LocalReport report, string deviceInfo)
{
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("Image", deviceInfo, CreateStream, out warnings);
foreach (Stream stream in m_streams) stream.Position = 0;
}
/// <summary>
/// Export del report come PDF file.
/// </summary>
/// <param name="report"></param>
private void ExportPDF(LocalReport report, string deviceInfo)
{
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("PDF", deviceInfo, CreateStreamPdf, out warnings);
foreach (Stream stream in m_streams) stream.Position = 0;
}
/// <summary>
/// dispone l'applicazione e rilascia le risorse
/// </summary>
public void Dispose()
{
if (m_streams != null)
{
foreach (Stream stream in m_streams)
stream.Close();
m_streams = null;
}
logLevel = memLayer.ML.CRI("_logLevel");
doPdfCopy = memLayer.ML.CRB("doPdfCopy");
}
#endregion
#endregion Protected Constructors
#region area codice da modificare
#region Private Methods
/// <summary>
/// carica i dati richiesti dal report dalla StoredProcedure (filtrando quindi...)
@@ -157,43 +83,223 @@ namespace AppData
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepBin.GetData(intIdx, true, imagePath, qrCodeBaseUrl);
break;
case reportRichiesto.binPre:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepBin.GetData(intIdx, false, imagePath, qrCodeBaseUrl);
break;
case reportRichiesto.bunkGroup:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepBunkGroup.GetData(intIdx, qrCodeBaseUrl);
break;
case reportRichiesto.bunkList:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepBunkList.GetData(intIdx, qrCodeBaseUrl);
break;
case reportRichiesto.cart:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepCart.GetData(intIdx, qrCodeBaseUrl);
break;
case reportRichiesto.offline:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepPart.GetData(intIdx, qrCodeBaseUrl);
break;
case reportRichiesto.part:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepPart.GetData(intIdx, qrCodeBaseUrl);
break;
case reportRichiesto.cartIRKGroup:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepIRKSum.GetData(intIdx, qrCodeBaseUrl);
break;
case reportRichiesto.cartIRKList:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepIRK.GetData(intIdx, qrCodeBaseUrl);
break;
default:
break;
}
return tab;
}
/// <summary>
/// ciclo da fornire al renderizzatore dei report, per salvare 1 immagine da ogni pagina del report
/// </summary>
/// <param name="name"></param>
/// <param name="fileNameExtension"></param>
/// <param name="encoding"></param>
/// <param name="mimeType"></param>
/// <param name="willSeek"></param>
/// <returns></returns>
private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
// creo files con nomi univoci...
string filePathName = string.Format(@"~\temp\{0}_{1:HHmmss}_{1:ffff}.{2}", name, DateTime.Now, fileNameExtension);
Stream stream = new FileStream(SteamWare.fileMover.getFilePath(filePathName), FileMode.Create);
//Stream stream = new FileStream(SteamWare.SteamwareStrings.getFilePath(@"~\temp\" + name + "." + fileNameExtension), FileMode.Create);
m_streams.Add(stream);
return stream;
}
/// <summary>
/// ciclo da fornire al renderizzatore dei report, per salvare 1 pdf da ogni pagina del report
/// </summary>
/// <param name="name"></param>
/// <param name="fileNameExtension"></param>
/// <param name="encoding"></param>
/// <param name="mimeType"></param>
/// <param name="willSeek"></param>
/// <returns></returns>
private Stream CreateStreamPdf(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
{
// creo Directory se non c'è
SteamWare.fileMover fm = new fileMover(string.Format(@"{0}\{1:yyyy}\{1:MM}\{1:dd}\", memLayer.ML.confReadString("PdfFolder"), DateTime.Now), "");
fm.checkDir();
string pdfPathName = string.Format(@"{0}\{1:yyyy}\{1:MM}\{1:dd}\{2}_{1:HHmmss}_{1:ffff}.{3}", memLayer.ML.confReadString("PdfFolder"), DateTime.Now, name, fileNameExtension);
//Stream stream = new FileStream(SteamWare.SteamwareStrings.getFilePath(@"~\temp\" + name + "." + fileNameExtension), FileMode.Create);
Stream stream = new FileStream(SteamWare.fileMover.getFilePath(pdfPathName), FileMode.Create);
m_streams.Add(stream);
return stream;
}
/// <summary>
/// esegue print vero e proprio
/// </summary>
/// <param name="printerName"></param>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
private void doEmfPrint(string printerName, LocalReport report, string deviceInfo)
{
// export in EMF
Export(report, deviceInfo);
m_currentPageIndex = 0;
// stampo
Print(printerName);
// do dispose?
Dispose();
}
/// <summary>
/// effettua stampa in PDF dei vari report in una cartella Anno/Mese/Giorno
/// </summary>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
private void doLocalPdfPrint(LocalReport report, string deviceInfo)
{
// export in PDF
ExportPDF(report, deviceInfo);
m_currentPageIndex = 0;
// do dispose?
Dispose();
}
/// <summary>
/// Export del report come EMF (Enhanced Metafile) file.
/// </summary>
/// <param name="report"></param>
private void Export(LocalReport report, string deviceInfo)
{
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("Image", deviceInfo, CreateStream, out warnings);
foreach (Stream stream in m_streams) stream.Position = 0;
}
/// <summary>
/// Export del report come PDF file.
/// </summary>
/// <param name="report"></param>
private void ExportPDF(LocalReport report, string deviceInfo)
{
Warning[] warnings;
m_streams = new List<Stream>();
report.Render("PDF", deviceInfo, CreateStreamPdf, out warnings);
foreach (Stream stream in m_streams) stream.Position = 0;
}
/// <summary>
/// funzione di stampa...
/// </summary>
private void Print(string printerName)
{
//const string printerName = "Microsoft Office Document Image Writer";
//const string printerName = "Brother HL-2170W series";
if (m_streams == null || m_streams.Count == 0)
return;
PrintDocument printDoc = new PrintDocument();
printDoc.PrinterSettings.PrinterName = printerName;
if (!printDoc.PrinterSettings.IsValid)
{
logger.lg.scriviLog(String.Format("Impostazioni non valide per la stampante \"{0}\".", printerName), tipoLog.ERROR);
return;
}
printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
printDoc.Print();
}
/// <summary>
/// effettua la vera e propria fase di stampa
/// </summary>
/// <param name="keyParam"></param>
/// <param name="printerName"></param>
/// <param name="answ"></param>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
/// <returns></returns>
private bool printAndLog(string keyParam, string printerName, bool answ, reportRichiesto report, devInfoParam deviceInfo)
{
try
{
if (logLevel > 5) logger.lg.scriviLog(String.Format("Sto per inviare un report alla stampante {0}", printerName), tipoLog.INFO);
reportPrinter.obj.printReport(report, printerName, keyParam, deviceInfo);
if (logLevel > 5) logger.lg.scriviLog(String.Format("inviato comando print alla stampante {0}", printerName), tipoLog.INFO);
answ = true;
}
catch (Exception e)
{
logger.lg.scriviLog(String.Format("Errore in fase di creazione e stampa report: stampante {0}, errore riscontrato {1}", printerName, e), tipoLog.EXCEPTION);
}
return answ;
}
/// <summary>
/// Handler per PrintPageEvents
/// </summary>
/// <param name="sender"></param>
/// <param name="ev"></param>
private void PrintPage(object sender, PrintPageEventArgs ev)
{
Metafile pageImage = new Metafile(m_streams[m_currentPageIndex]);
ev.Graphics.DrawImage(pageImage, ev.PageBounds);
m_currentPageIndex++;
ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
}
#endregion Private Methods
#region Public Methods
/// <summary>
/// dispone l'applicazione e rilascia le risorse
/// </summary>
public void Dispose()
{
if (m_streams != null)
{
foreach (Stream stream in m_streams)
stream.Close();
m_streams = null;
}
}
/// <summary>
/// Crea un report locale da file rdlc, carica i dati, esporta report come EMF file e quindi lo invia alla stampante
/// </summary>
@@ -215,35 +321,43 @@ namespace AppData
report.ReportPath = string.Format(@"{0}\Bin.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocBin"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.binPre:
report.ReportPath = string.Format(@"{0}\Bin.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocBin"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.bunkGroup:
report.ReportPath = string.Format(@"{0}\BunkGroup.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocBunkGroup"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.bunkList:
report.ReportPath = string.Format(@"{0}\BunkList.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocBunkList"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.cart:
report.ReportPath = string.Format(@"{0}\Cart.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocCart"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.cartIRKGroup:
report.ReportPath = string.Format(@"{0}\IRK_Kitting_Group.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocIRKGroup"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.cartIRKList:
report.ReportPath = string.Format(@"{0}\IRK_Kitting_List.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocIRKList"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.offline:
case reportRichiesto.part:
report.ReportPath = string.Format(@"{0}\Part.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocPart"), caricaDati(tipoReport, keyParam)));
break;
case reportRichiesto.otherPart:
report.ReportPath = string.Format(@"{0}\OtherPart.rdlc", repoBasePath);
report.DataSources.Add(new ReportDataSource(memLayer.ML.cdv("ReportDS_DocOtherPart"), caricaDati(tipoReport, keyParam)));
@@ -259,35 +373,38 @@ namespace AppData
doLocalPdfPrint(report, deviceInfo);
}
}
/// <summary>
/// esegue print vero e proprio
/// effettua pulizia della cartella temp x i files più vecchi di X ore (web.config)
/// </summary>
/// <param name="printerName"></param>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
private void doEmfPrint(string printerName, LocalReport report, string deviceInfo)
public void pulisciDir()
{
// export in EMF
Export(report, deviceInfo);
m_currentPageIndex = 0;
// stampo
Print(printerName);
// do dispose?
Dispose();
}
/// <summary>
/// effettua stampa in PDF dei vari report in una cartella Anno/Mese/Giorno
/// </summary>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
private void doLocalPdfPrint(LocalReport report, string deviceInfo)
{
// export in PDF
ExportPDF(report, deviceInfo);
m_currentPageIndex = 0;
// do dispose?
Dispose();
// num max ore di età x files "vecchi" da tenere in temp area...
int maxOre = memLayer.ML.CRI("maxAgeTempAreaHours");
int eliminati = 0;
// ottengo elenco files *.emf
fileMover.obj.setDirectory(@"~\temp\");
FileInfo[] _fis = fileMover.obj.elencoFiles_FI("*.emf");
bool fatto = false;
foreach (FileInfo _file in _fis)
{
if (_file.CreationTime < DateTime.Now.AddHours(-maxOre)) // elimino files vecchi...
{
fatto = fileMover.obj.eliminaFile(_file);
if (fatto)
{
logger.lg.scriviLog(String.Format("Eliminato file {0}", _file.Name), tipoLog.INFO);
eliminati++;
}
}
}
// salvo il log degli update
if (eliminati > 0)
{
logger.lg.scriviLog(String.Format("Eliminati {0} files temporanei da area temp", eliminati), tipoLog.INFO);
}
}
/// <summary>
/// effettua la stampa del cartellino indicato
/// </summary>
@@ -402,34 +519,42 @@ namespace AppData
tipo = "docPaint";
report = reportRichiesto.binPre;
break;
case tipoDocumento.docBinPost:
tipo = "docPaintPost";
report = reportRichiesto.binPost;
break;
case tipoDocumento.docCart:
tipo = "docCart";
report = reportRichiesto.cart;
break;
case tipoDocumento.docCartIRK:
tipo = "docCartIRK";
report = reportRichiesto.cartIRKList;
break;
case tipoDocumento.docCartIRKSum:
tipo = "docCartIRKSum";
report = reportRichiesto.cartIRKGroup;
break;
case tipoDocumento.docPart:
tipo = "docPart";
report = reportRichiesto.part;
break;
case tipoDocumento.docOtherPart:
tipo = "docOtherPart";
report = reportRichiesto.otherPart;
break;
case tipoDocumento.docStack:
tipo = "docStack";
report = reportRichiesto.bunkGroup;
break;
default:
break;
}
@@ -468,79 +593,11 @@ namespace AppData
{
DLMan.taPJQ.updateStato(idxPrintJob, -1);
}
}
}
return answ;
}
/// <summary>
/// effettua la vera e propria fase di stampa
/// </summary>
/// <param name="keyParam"></param>
/// <param name="printerName"></param>
/// <param name="answ"></param>
/// <param name="report"></param>
/// <param name="deviceInfo"></param>
/// <returns></returns>
private bool printAndLog(string keyParam, string printerName, bool answ, reportRichiesto report, devInfoParam deviceInfo)
{
try
{
if (logLevel > 5) logger.lg.scriviLog(String.Format("Sto per inviare un report alla stampante {0}", printerName), tipoLog.INFO);
reportPrinter.obj.printReport(report, printerName, keyParam, deviceInfo);
if (logLevel > 5) logger.lg.scriviLog(String.Format("inviato comando print alla stampante {0}", printerName), tipoLog.INFO);
answ = true;
}
catch (Exception e)
{
logger.lg.scriviLog(String.Format("Errore in fase di creazione e stampa report: stampante {0}, errore riscontrato {1}", printerName, e), tipoLog.EXCEPTION);
}
return answ;
}
/// <summary>
/// oggetto protected
/// </summary>
/// <param name="args"></param>
protected reportPrinter()
{
logLevel = memLayer.ML.CRI("_logLevel");
doPdfCopy = memLayer.ML.CRB("doPdfCopy");
}
/// <summary>
/// singleton pubblico
/// </summary>
public static reportPrinter obj = new reportPrinter();
/// <summary>
/// effettua pulizia della cartella temp x i files più vecchi di X ore (web.config)
/// </summary>
public void pulisciDir()
{
// num max ore di età x files "vecchi" da tenere in temp area...
int maxOre = memLayer.ML.CRI("maxAgeTempAreaHours");
int eliminati = 0;
// ottengo elenco files *.emf
fileMover.obj.setDirectory(@"~\temp\");
FileInfo[] _fis = fileMover.obj.elencoFiles_FI("*.emf");
bool fatto = false;
foreach (FileInfo _file in _fis)
{
if (_file.CreationTime < DateTime.Now.AddHours(-maxOre)) // elimino files vecchi...
{
fatto = fileMover.obj.eliminaFile(_file);
if (fatto)
{
logger.lg.scriviLog(String.Format("Eliminato file {0}", _file.Name), tipoLog.INFO);
eliminati++;
}
}
}
// salvo il log degli update
if (eliminati > 0)
{
logger.lg.scriviLog(String.Format("Eliminati {0} files temporanei da area temp", eliminati), tipoLog.INFO);
}
}
#endregion
#endregion Public Methods
}
}
}
Vendored
+68 -60
View File
@@ -11,12 +11,9 @@ pipeline {
steps {
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=369']) {
// env.versionNumber = VersionNumber(versionNumberString : '1.2.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '1.2.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.versionNumberBeta = VersionNumber(versionNumberString : '1.2.${BUILD_DATE_FORMATTED, "yyMM"}-beta.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'NKC'
}
env.versionNumber = VersionNumber(versionNumberString : '2.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILD_DATE_FORMATTED, "ddHH"}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.versionNumberdevelop = VersionNumber(versionNumberString : '2.0.${BUILD_DATE_FORMATTED, "yyMM"}-develop.${BUILD_DATE_FORMATTED, "ddHH"}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'NKC'
}
script {
currentBuild.displayName = "${env.versionNumber}"
@@ -47,7 +44,7 @@ pipeline {
parallel (
NKC_SITE: {
sleep 0
bat "\"${tool 'MSBuild-16.0'}\" NKC_WF/NKC_WF.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
bat "\"${tool 'MSBuild-16.0'}\" NKC_WF/NKC_WF.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /p:verbosity=minimal /m"
},
failFast: false)
}
@@ -74,7 +71,7 @@ pipeline {
{
sleep 1
// SITE
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ NKC_WF/NKC_WF.csproj"
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /p:verbosity=minimal NKC_WF/NKC_WF.csproj"
sleep 3
}
},
@@ -87,7 +84,7 @@ pipeline {
{
sleep 3
// SITE
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ NKC_WF/NKC_WF.csproj"
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /p:verbosity=minimal NKC_WF/NKC_WF.csproj"
sleep 1
}
},
@@ -112,51 +109,69 @@ pipeline {
}
// ora mi occupo delle operazioni di compressione e copia...
script {
/* compilo installers SOLO stable / beta */
if (env.BRANCH_NAME == "stable" || env.BRANCH_NAME.contains("beta") ) {
// calcolo il config...
if (env.BRANCH_NAME == "beta") {
env.config = "Debug"
env.classifier = "unstable"
}
else if (env.BRANCH_NAME == "stable") {
env.config = "Release"
env.classifier = ""
}
/* compilo installers SOLO master / develop */
if (env.BRANCH_NAME == "master" || env.BRANCH_NAME.contains("develop") ) {
parallel (
SITE_NKC: {
NKC_UPLOAD: {
sleep 0
// SITE
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=Prod /p:PublishProfile=${env.BRANCH_NAME}.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:AutoParameterizationWebConfigConnectionStrings=False /p:PackageLocation=Releases/${env.BRANCH_NAME}/NKC.zip /p:DeployIisAppPath=\"Default Web Site/NKC\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ NKC_WF/NKC_WF.csproj"
// pubblico su server deploy!
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /T:Package /P:Configuration=Prod /p:PublishProfile=${env.BRANCH_NAME}.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:AutoParameterizationWebConfigConnectionStrings=False /p:PackageLocation=Releases/${env.BRANCH_NAME}/NKC.zip /p:DeployIisAppPath=\"Default Web Site/NKC\" /p:PackageAsSingleFile=True /p:OutputPath=bin/ /p:verbosity=minimal NKC_WF/NKC_WF.csproj"
setManifestFile("NKC_WF\\", "NKC")
// ---------- Upload versione 0 ----------
nexusArtifactUploader (
artifacts: [
[
artifactId: 'LAST',
classifier: '',
file: "NKC_WF\\Resources\\manifest.xml",
type: 'xml'
],
[
artifactId: 'LAST',
classifier: '',
file: "NKC_WF\\Resources\\ChangeLog.html",
type: 'html'
]
]
,credentialsId: 'bc9d8e92-4302-3266-817f-7b58501d12d5'
,nexusUrl: 'nexus.steamware.net'
,nexusVersion: 'nexus3'
,protocol: 'http'
,repository: 'SWS'
,groupId: "NKC.${env.BRANCH_NAME}"
,version: ""
)
// ---------- Upload versione effettiva ----------
publishToDeployServer("NKC_WF\\", "c:\\inetpub\\wwwroot\\SWS\\", "NKC")
nexusArtifactUploader (
artifacts: [
[
artifactId: 'NKC',
classifier: "${env.classifier}",
classifier: '',
file: "NKC_WF\\Releases\\${env.BRANCH_NAME}\\NKC.zip",
type: 'zip'
]
],
credentialsId: 'bc9d8e92-4302-3266-817f-7b58501d12d5',
//groupId: 'MP',
nexusUrl: 'nexus.steamware.net',
nexusVersion: 'nexus3',
protocol: 'http',
repository: 'SWS',
version: "${env.versionNumber}"
]
,credentialsId: 'bc9d8e92-4302-3266-817f-7b58501d12d5'
,nexusUrl: 'nexus.steamware.net'
,nexusVersion: 'nexus3'
,protocol: 'http'
,repository: 'SWS'
,groupId: "NKC.${env.BRANCH_NAME}.ARCHIVE"
,version: "${env.versionNumber}"
)
},
failFast: false)
}
/* preparo nuget pkg dell'SDK ma solo x branch SDK / beta */
else if (env.BRANCH_NAME == "SDK" || env.BRANCH_NAME.contains("beta") ) {
/* preparo nuget pkg dell'SDK ma solo x branch SDK / develop */
else if (env.BRANCH_NAME == "SDK" || env.BRANCH_NAME.contains("develop") ) {
// calcolo il config...
if (env.BRANCH_NAME == "beta") {
if (env.BRANCH_NAME == "develop") {
env.config = "Debug"
env.packVers = env.versionNumberBeta
env.packVers = env.versionNumberdevelop
}
else if (env.BRANCH_NAME == "SDK") {
env.config = "Release"
@@ -166,7 +181,7 @@ pipeline {
bat "del /f /q *.nupkg"
// BUILD!
bat "\"${tool 'MSBuild-16.0'}\" NKC_SDK\\NKC_SDK.csproj -target:Build /p:Configuration=${env.config} /p:Platform=\"Any CPU\" /p:OutputPath=bin/${env.config} /m"
// creo package NuGet... con version in modo da fare ANCHE le beta
// creo package NuGet... con version in modo da fare ANCHE le develop(beta)
bat "e:\\nuget.exe pack ${WORKSPACE}\\NKC_SDK\\NKC_SDK.csproj -properties Configuration=${env.config} -Version ${env.packVers}"
// lancio upload con nuget!
@@ -198,26 +213,31 @@ pipeline {
}
}
// Funzione x pubblicazione su server IIS di deploy
def publishToDeployServer(prjPath, iisPath, packName) {
echo "Richiesto esecuzione publishToDeployServer con parametri: " + prjPath + " | " + iisPath + " | " + packName
// Funzione sistemazione file PRIMA del deploy nexus/IIS
def setManifestFile(prjPath, packName) {
echo "Richiesto esecuzione setManifestFile con parametri: " + prjPath + " | " + packName
// inizio copiando files di base da area VersGen...
bat "xcopy /y VersGen\\ChangeLog.html " + prjPath + "Resources\\ChangeLog.html "
bat "xcopy /y VersGen\\logoSteamware.png " + prjPath + "Resources\\logoSteamware.png "
bat "xcopy /y VersGen\\manifest.xml " + prjPath + "Resources\\manifest.xml "
bat "xcopy /y VersGen\\ChangeLog.html " + prjPath + "Resources\\ChangeLog.html "
bat "xcopy /y VersGen\\logoSteamware.png " + prjPath + "Resources\\logoSteamware.png "
bat "xcopy /y VersGen\\manifest.xml " + prjPath + "Resources\\manifest.xml "
// manifest.xml: aggiorno versNumber ed URL del branch di update...
bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml 0.0.0.0 ${env.versionNumber} || EXIT /B 0"
bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml {{VERS}} ${env.versionNumber} || EXIT /B 0"
bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml {{BRANCHNAME}} ${env.BRANCH_NAME} || EXIT /B 0"
bat "e:\\fart.exe " + prjPath + "Resources\\manifest.xml {{PACKNAME}} " + packName + " || EXIT /B 0"
bat "e:\\fart.exe " + prjPath + "Resources\\ChangeLog.html {{CURRENT-REL}} ${env.versionNumber} || EXIT /B 0"
writeFile file: prjPath + 'changeLog.log', text: "${getChangeString()}"
powershell '(Get-Content ' + prjPath + 'Resources\\ChangeLog.html) | ForEach-Object { $_ -replace \"{{LAST-CHANGES}}\", \"${getChangeString()}\" } | Set-Content ' + prjPath + 'Resources\\ChangeLog.html'
// salvo copia della versione...
bat "xcopy /y " + prjPath + "\\Releases\\${env.BRANCH_NAME}\\* E:\\Staging\\byProd\\MP\\${env.BRANCH_NAME}\\" + packName + "\\${env.versionNumber}\\ "
}
// Funzione x pubblicazione su server IIS di deploy
def publishToDeployServer(prjPath, iisPath, packName) {
echo "Richiesto esecuzione publishToDeployServer con parametri: " + prjPath + " | " + iisPath + " | " + packName
// copio ed esporto in IIS02 i vari files .xml, .html, .zip
bat "xcopy /y " + prjPath + "Resources\\manifest.xml " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
bat "xcopy /y " + prjPath + "Resources\\ChangeLog.html " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
bat "xcopy /y " + prjPath + "Resources\\logoSteamware.png " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
// salvo copia della versione...
bat "xcopy /y " + prjPath + "\\Releases\\${env.BRANCH_NAME}\\* E:\\Staging\\byProd\\MP\\${env.BRANCH_NAME}\\" + packName + "\\${env.versionNumber}\\ "
bat "xcopy /y " + prjPath + "Resources\\logoSteamware.png " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
// copio x AutoUpdate deploy
bat "xcopy /y " + prjPath + "\\Releases\\${env.BRANCH_NAME}\\" + packName + ".zip " + iisPath + packName + "\\${env.BRANCH_NAME}\\ "
}
@@ -255,18 +275,6 @@ def sendSlack(status, colorCode) {
)
}
// // Funzione x invio slack
// def sendGitlab(status) {
// gitlabCommitStatus(
// builds: status,
// [[connection: gitLabConnection('Gitlab'),
// projectId: '1',
// revisionHash: '']]
// ){
// // some block
// }
// }
// funzione x fix pacchetti nuget da NOSTRO repo Nexus con proxy
def fixNuget(solutionFile) {
// bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-group"
+253 -186
View File
@@ -1,40 +1,5 @@
namespace NKC_SDK
{
/// <summary>
/// Stati degli oggetti TAKT e Stack
/// </summary>
public enum CStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed = 0,
/// <summary>
/// In corso
/// </summary>
Running,
/// <summary>
/// Completato
/// </summary>
Done
}
/// <summary>
/// Tipologia di macchina
/// </summary>
public enum mType
{
Multiax = 0,
Offline
}
/// <summary>
/// Tipologia di ordine
/// </summary>
public enum oType
{
BatchRequest = 0,
OfflineOrder
}
/// <summary>
/// modalità funzionamento batch list
/// </summary>
@@ -44,61 +9,23 @@
/// Modalità normale (stima/nesting)
/// </summary>
Standard,
/// <summary>
/// MOdalità validazione aprticolari
/// Modalità validazione particolari
/// </summary>
PartsEval
}
/// <summary>
/// Stati degli oggetti Batch
/// </summary>
public enum BatchStatus
{
/// <summary>
/// CSV importato
/// </summary>
Imported = 0,
/// <summary>
/// Nesting richiesto (In corso)
/// </summary>
EstimationRequested,
/// <summary>
/// Nesting Completato
/// </summary>
EstimationDone,
/// <summary>
/// Nesting richiesto (In corso)
/// </summary>
NestRequested,
/// <summary>
/// Nesting Completato
/// </summary>
NestDone,
/// <summary>
/// Nesting approvato
/// </summary>
Approved,
/// <summary>
/// Nesting scartato
/// </summary>
Discarded,
/// <summary>
/// Errori in fase di import o calcolo
/// </summary>
Errors,
/// <summary>
/// Impiegato per effettuare un test di validazione di un SINGOLO ITEM/PART
/// </summary>
PartEval,
/// <summary>
/// Test di validazione KO per un SINGOLO ITEM/PART
/// </summary>
PartKo,
/// <summary>
/// Test di validazione OK per un SINGOLO ITEM/PART
/// </summary>
PartOk
PartsEval,
/// <summary>
/// Modalità validazione file (NON ancora particolari in ordini CSV)
/// </summary>
FileEval,
/// <summary>
/// Modalità normale (stima/nesting)
/// </summary>
FullHistory
}
/// <summary>
/// Posizione / Activity degli oggetti Batch
/// </summary>
@@ -108,110 +35,97 @@
/// Non iniziato
/// </summary>
NotStarted = 0,
/// <summary>
/// Stack In corso
/// </summary>
StackStarted,
/// <summary>
/// Stack Completato
/// </summary>
StackDone,
/// <summary>
/// Stack currently in LOAD
/// </summary>
Current,
/// <summary>
/// Stack completed
/// </summary>
Completed
}
/// <summary>
/// Stati degli oggetti Batch
/// </summary>
public enum BatchStatus
{
/// <summary>
/// CSV importato
/// </summary>
Imported = 0,
/// <summary>
/// Nesting richiesto (In corso)
/// </summary>
EstimationRequested,
/// <summary>
/// Nesting Completato
/// </summary>
EstimationDone,
/// <summary>
/// Nesting richiesto (In corso)
/// </summary>
NestRequested,
/// <summary>
/// Nesting Completato
/// </summary>
NestDone,
/// <summary>
/// Nesting approvato
/// </summary>
Approved,
/// <summary>
/// Nesting scartato
/// </summary>
Discarded,
/// <summary>
/// Errori in fase di import o calcolo
/// </summary>
Errors,
/// <summary>
/// Impiegato per effettuare un test di validazione di un SINGOLO ITEM/PART
/// </summary>
PartEval,
/// <summary>
/// Test di validazione KO per un SINGOLO ITEM/PART
/// </summary>
PartKo,
/// <summary>
/// Test di validazione OK per un SINGOLO ITEM/PART
/// </summary>
PartOk
}
/// <summary>
/// Stati degli oggetti PANEL/SHEET
/// Tipologia Batch
/// </summary>
public enum PStatus
public enum BatchType
{
/// <summary>
/// Programmato
/// </summary>
Programmed = 0,
/// <summary>
/// Stampa in corso
/// </summary>
Printing,
/// <summary>
/// Stampa completata
/// </summary>
Printed,
/// <summary>
/// Lavorazione in corso
/// </summary>
Machining,
/// <summary>
/// Lavorazione completata
/// </summary>
Machined,
/// <summary>
/// In fase di scaricamento
/// </summary>
Unloading,
/// <summary>
/// Completato / scaricato da macchina (anche su tavola di scarico)
/// </summary>
Unloaded,
/// <summary>
/// Presente / letto su PROD e pronto su scissor lift
/// </summary>
Present,
/// <summary>
/// Da rilavorare
/// </summary>
ToBeRedone
}
/// <summary>
/// Destinazioni per ITEM post CNC WORK
/// </summary>
public enum ItemDest
{
/// <summary>
/// Destinato a BIN (painting)
/// </summary>
Bin,
/// <summary>
/// Destinato a Cart (KIT)
/// </summary>
Cart,
/// <summary>
/// Indefinito
/// </summary>
Undef
}
/// <summary>
/// Stati ammessi per ITEM
/// </summary>
public enum ItemStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed,
/// <summary>
/// Completato/Fatto/tagliato
/// </summary>
Made,
/// <summary>
/// Preso da operatore
/// </summary>
PickUp,
/// <summary>
/// Depositato su Bin/Cesta
/// </summary>
Removed,
/// <summary>
/// Indefinito
/// </summary>
Undef
Original = 0
, Ancestor = 1
, Descendant = 2
}
/// <summary>
@@ -230,8 +144,166 @@
Cart,
Bin,
BinProcessed,
SecScreen
SecScreen,
MachSelection
}
/// <summary>
/// Stati degli oggetti TAKT e Stack
/// </summary>
public enum CStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed = 0,
/// <summary>
/// In corso
/// </summary>
Running,
/// <summary>
/// Completato
/// </summary>
Done
}
/// <summary>
/// Destinazioni per ITEM post CNC WORK
/// </summary>
public enum ItemDest
{
/// <summary>
/// Destinato a BIN (painting)
/// </summary>
Bin,
/// <summary>
/// Destinato a Cart (KIT)
/// </summary>
Cart,
/// <summary>
/// Indefinito
/// </summary>
Undef
}
/// <summary>
/// Stati ammessi per ITEM
/// </summary>
public enum ItemStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed,
/// <summary>
/// Completato/Fatto/tagliato
/// </summary>
Made,
/// <summary>
/// Preso da operatore
/// </summary>
PickUp,
/// <summary>
/// Depositato su Bin/Cesta
/// </summary>
Removed,
/// <summary>
/// Indefinito
/// </summary>
Undef
}
/// <summary>
/// Tipologia di macchina
/// </summary>
public enum mType
{
Multiax = 0,
Offline
}
/// <summary>
/// Tipologia di ordine
/// </summary>
public enum oType
{
BatchRequest = 0,
OfflineOrder
}
/// <summary>
/// Enum degli stati ammessi per il Nesting
/// </summary>
public enum procStatus
{
waiting = 0,
running,
error,
completed,
aborted,
accepted,
refused
}
/// <summary>
/// Stati degli oggetti PANEL/SHEET
/// </summary>
public enum PStatus
{
/// <summary>
/// Programmato
/// </summary>
Programmed = 0,
/// <summary>
/// Stampa in corso
/// </summary>
Printing,
/// <summary>
/// Stampa completata
/// </summary>
Printed,
/// <summary>
/// Lavorazione in corso
/// </summary>
Machining,
/// <summary>
/// Lavorazione completata
/// </summary>
Machined,
/// <summary>
/// In fase di scaricamento
/// </summary>
Unloading,
/// <summary>
/// Completato / scaricato da macchina (anche su tavola di scarico)
/// </summary>
Unloaded,
/// <summary>
/// Presente / letto su PROD e pronto su scissor lift
/// </summary>
Present,
/// <summary>
/// Da rilavorare
/// </summary>
ToBeRedone
}
/// <summary>
/// tipologia di report (FILE rdlc) gestito in stampa...
/// </summary>
@@ -248,6 +320,7 @@
cartIRKList,
cartIRKGroup
}
/// <summary>
/// tipologia di DOCUMENTO gestito in stampa...
/// </summary>
@@ -257,14 +330,17 @@
/// Etichetta per un BIN (pre esecuzione compito, es verniciatura)
/// </summary>
docBinPre,
/// <summary>
/// Etichetta per un BIN (POST esecuzione compito, es verniciatura)
/// </summary>
docBinPost,
/// <summary>
/// Etichetta per un CART
/// Etichetta per un CART
/// </summary>
docCart,
/// <summary>
/// Documento per singolo ITEM:
/// - QR code
@@ -273,6 +349,7 @@
/// - codice dmtx leggibile (es IT000023) su NUOVA riga
/// </summary>
docPart,
/// <summary>
/// Documento per singolo OtherItem:
/// - QR code
@@ -280,35 +357,25 @@
/// - descrizione
/// </summary>
docOtherPart,
/// <summary>
/// doc per STACK
/// </summary>
docStack,
/// <summary>
/// NON DEFINITO
/// </summary>
docND,
/// <summary>
/// Dettaglio massimo CART --> Item Requested Kitting
/// </summary>
docCartIRK,
/// <summary>
/// Dettaglio aggregato CART --> Item Requested Kitting
/// </summary>
docCartIRKSum
}
/// <summary>
/// Enum degli stati ammessi per il Nesting
/// </summary>
public enum procStatus
{
waiting = 0,
running,
error,
completed,
aborted,
accepted,
refused
}
}
}
+255 -181
View File
@@ -8,8 +8,225 @@ namespace NKC_SDK
{
public class NKC
{
#region utils comunicazione HTTP
#region Protected Fields
/// <summary>
/// file locale per persistenza BUNK
/// </summary>
protected string persistFileName = "data/persistFile.json";
#endregion Protected Fields
#region Public Constructors
/// <summary>
/// Classe per effettuare comunicazioni con NKC
/// </summary>
/// <param name="baseIp">IP di base x ping</param>
/// <param name="baseUrl">URL di abse x chiamate REST</param>
/// <param name="codPost">Codice posstazione/macchina x cui si fa chiamata</param>
public NKC(string baseIp, string baseUrl, string codPost)
{
_baseIp = baseIp;
_baseUrl = baseUrl;
_codPost = codPost;
}
#endregion Public Constructors
#region Protected Properties
/// <summary>
/// DnsName/IP di base x chaimate
/// </summary>
protected string _baseIp { get; set; } = "seriate.steamware.net";
/// <summary>
/// URL di base per la comunicazione
///
/// PROD: http://seriate.steamware.net:8083/NKC/
/// DEV: https://localhost:44388/
/// </summary>
protected string _baseUrl { get; set; } = @"http://seriate.steamware.net:8083/NKC/";
/// <summary>
/// COD macchina x cui si effettua chiamata
/// </summary>
protected string _codPost { get; set; } = "";
protected string urlAlive
{
get
{
return $"{_baseUrl}api/Alive";
}
}
protected string urlAliveClock
{
get
{
return $"{_baseUrl}api/Alive/1";
}
}
protected string urlCurrBunk
{
get
{
return $"{_baseUrl}api/Bunk";
}
}
protected string urlCurrSheet4Mac
{
get
{
return $"{_baseUrl}api/Sheet/{_codPost}";
}
}
/// <summary>
/// URL x salvataggio dati MachineStat
/// </summary>
/// <returns></returns>
protected string urlPutMachStat
{
get
{
return $"{_baseUrl}api/MachineStat";
//return $"{_baseUrl}api/MachineStat/{_machine}";
}
}
/// <summary>
/// URL x salvataggio dati SHEET
/// </summary>
/// <returns></returns>
protected string urlPutSheetList
{
get
{
return $"{_baseUrl}api/Sheet/{_codPost}";
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// Oggetto che contiene l'oggetto SHEET WorkList corrente salvato LOCALMENTE
/// </summary>
public SheetWorkList persistedSheetList
{
get
{
SheetWorkList answ = new SheetWorkList();
try
{
string rawdata = File.ReadAllText(persistFileName);
answ = JsonConvert.DeserializeObject<SheetWorkList>(rawdata);
}
catch (Exception exc)
{
Log.Instance.Error($"Eccezione durante recupero locale della SheetList{Environment.NewLine}{exc}");
}
return answ;
}
set
{
try
{
// serializzo oggetto
string rawdata = JsonConvert.SerializeObject(value);
// salvo in locale
File.WriteAllText(persistFileName, rawdata);
}
catch (Exception exc)
{
Log.Instance.Error($"Eccezione durante salvataggio locale della SheetList{Environment.NewLine}{exc}");
}
}
}
/// <summary>
/// Effettua test alive all'indirizzo del server
/// </summary>
public bool testAlive
{
get
{
bool answ = false;
string returnData = callUrl(urlAlive);
returnData = JsonConvert.DeserializeObject<string>(returnData);
answ = returnData == "OK";
// rendo!
return answ;
}
}
/// <summary>
/// Effettua test ping all'indirizzo del server
/// </summary>
public DateTime testClock
{
get
{
DateTime oggi = DateTime.Today;
DateTime answ = oggi.AddYears(-oggi.Year + 1900).AddMonths(-oggi.Month).AddDays(-oggi.Day + 1);
// recupero!
string returnData = callUrl(urlAliveClock);
try
{
DateTime.TryParse(JsonConvert.DeserializeObject<string>(returnData), out answ);
}
catch (Exception exc)
{
Log.Instance.Error($"Eccezione durante testClock, ricevuto {returnData}{Environment.NewLine}{exc}");
}
// rendo!
return answ;
}
}
/// <summary>
/// Effettua test ping all'indirizzo del server
/// </summary>
public PingReply testPing
{
get
{
Ping myPing = new Ping();
// timeout a 1 sec!
PingReply answ = myPing.Send(_baseIp, 1000);
// rendo!
return answ;
}
}
#endregion Public Properties
#region Protected Methods
protected string urlGetBunk(int currBunkId, string CodPost)
{
return $"{_baseUrl}api/Bunk/{currBunkId}?showNext=false&machine={CodPost}";
}
protected string urlNextBunk(int currBunkId, string CodPost)
{
return $"{_baseUrl}api/Bunk/{currBunkId}?showNext=true&machine={CodPost}";
}
protected string urlPutBunk(int currBunkId)
{
return $"{_baseUrl}api/Bunk/{currBunkId}";
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// Effettua chiamata URL e restituisce risultato
@@ -34,6 +251,7 @@ namespace NKC_SDK
// restituisco valore!
return answ;
}
/// <summary>
/// Effettua chiamata URL e restituisce risultato
/// </summary>
@@ -86,151 +304,14 @@ namespace NKC_SDK
return answ;
}
#endregion
#region URL di base
protected string urlAlive
public static PingReply testPingDevice(string address)
{
get
{
return $"{_baseUrl}api/Alive";
}
Ping myPing = new Ping();
// timeout a 1 sec!
PingReply answ = myPing.Send(address, 2000);
// rendo!
return answ;
}
protected string urlAliveClock
{
get
{
return $"{_baseUrl}api/Alive/1";
}
}
protected string urlCurrBunk
{
get
{
return $"{_baseUrl}api/Bunk";
}
}
protected string urlCurrSheet4Mac
{
get
{
return $"{_baseUrl}api/Sheet/{_codPost}";
}
}
protected string urlGetBunk(int currBunkId)
{
return $"{_baseUrl}api/Bunk/{currBunkId}?showNext=false";
}
protected string urlNextBunk(int currBunkId)
{
return $"{_baseUrl}api/Bunk/{currBunkId}?showNext=true";
}
protected string urlPutBunk(int currBunkId)
{
return $"{_baseUrl}api/Bunk/{currBunkId}";
}
/// <summary>
/// URL x salvataggio dati SHEET
/// </summary>
/// <returns></returns>
protected string urlPutSheetList
{
get
{
return $"{_baseUrl}api/Sheet/{_codPost}";
}
}
/// <summary>
/// file locale per persistenza BUNK
/// </summary>
protected string persistFileName = "data/persistFile.json";
#endregion
/// <summary>
/// URL di base per la comunicazione
///
/// PROD: http://seriate.steamware.net:8083/NKC/
/// DEV: https://localhost:44388/
/// </summary>
protected string _baseUrl { get; set; } = @"http://seriate.steamware.net:8083/NKC/";
/// <summary>
/// DnsName/IP di base x chaimate
/// </summary>
protected string _baseIp { get; set; } = "seriate.steamware.net";
/// <summary>
/// COD macchina x cui si effettua chiamata
/// </summary>
protected string _codPost { get; set; } = "";
/// <summary>
/// Classe per effettuare comunicazioni con NKC
/// </summary>
/// <param name="baseIp">IP di base x ping</param>
/// <param name="baseUrl">URL di abse x chiamate REST</param>
/// <param name="codPost">Codice posstazione/macchina x cui si fa chiamata</param>
public NKC(string baseIp, string baseUrl, string codPost)
{
_baseIp = baseIp;
_baseUrl = baseUrl;
_codPost = codPost;
}
/// <summary>
/// Effettua test ping all'indirizzo del server
/// </summary>
public PingReply testPing
{
get
{
Ping myPing = new Ping();
// timeout a 1 sec!
PingReply answ = myPing.Send(_baseIp, 1000);
// rendo!
return answ;
}
}
/// <summary>
/// Effettua test alive all'indirizzo del server
/// </summary>
public bool testAlive
{
get
{
bool answ = false;
string returnData = callUrl(urlAlive);
returnData = JsonConvert.DeserializeObject<string>(returnData);
answ = returnData == "OK";
// rendo!
return answ;
}
}
/// <summary>
/// Effettua test ping all'indirizzo del server
/// </summary>
public DateTime testClock
{
get
{
DateTime oggi = DateTime.Today;
DateTime answ = oggi.AddYears(-oggi.Year + 1900).AddMonths(-oggi.Month).AddDays(-oggi.Day + 1);
// recupero!
string returnData = callUrl(urlAliveClock);
try
{
DateTime.TryParse(JsonConvert.DeserializeObject<string>(returnData), out answ);
}
catch (Exception exc)
{
Log.Instance.Error($"Eccezione durante testClock, ricevuto {returnData}{Environment.NewLine}{exc}");
}
// rendo!
return answ;
}
}
#region metodi per SheetWorklist
/// <summary>
/// Recupera elenco dei fogli ATTIVI
@@ -254,6 +335,32 @@ namespace NKC_SDK
}
return answ;
}
/// <summary>
/// Effettua salvataggio dell'elenco info stati/eventi su NKC
/// </summary>
/// <param name="updatedInfo"></param>
public bool saveMachStatRecords(MachineStatData updatedInfo)
{
bool answ = false;
string rawdata = "";
try
{
// aggiungo macchina nel codice dei fogli...
updatedInfo.Machine = _codPost;
// serializzo oggetto
rawdata = JsonConvert.SerializeObject(updatedInfo);
// invio con metodo put!
putData(urlPutMachStat, rawdata);
answ = true;
}
catch (Exception exc)
{
Log.Instance.Error($"Eccezione durante saveMachStatRecords, ricevuto {rawdata}{Environment.NewLine}{exc}");
}
return answ;
}
/// <summary>
/// Effettua salvataggio dell'elenco dei fogli (1..n) su NKC
/// </summary>
@@ -264,6 +371,8 @@ namespace NKC_SDK
string rawdata = "";
try
{
// aggiungo macchina nel codice dei fogli...
updatedSheetList.Machine = _codPost;
// serializzo oggetto
rawdata = JsonConvert.SerializeObject(updatedSheetList);
// invio con metodo put!
@@ -276,42 +385,7 @@ namespace NKC_SDK
}
return answ;
}
/// <summary>
/// Oggetto che contiene l'oggetto SHEET WorkList corrente salvato LOCALMENTE
/// </summary>
public SheetWorkList persistedSheetList
{
get
{
SheetWorkList answ = new SheetWorkList();
try
{
string rawdata = File.ReadAllText(persistFileName);
answ = JsonConvert.DeserializeObject<SheetWorkList>(rawdata);
}
catch (Exception exc)
{
Log.Instance.Error($"Eccezione durante recupero locale della SheetList{Environment.NewLine}{exc}");
}
return answ;
}
set
{
try
{
// serializzo oggetto
string rawdata = JsonConvert.SerializeObject(value);
// salvo in locale
File.WriteAllText(persistFileName, rawdata);
}
catch (Exception exc)
{
Log.Instance.Error($"Eccezione durante salvataggio locale della SheetList{Environment.NewLine}{exc}");
}
}
}
#endregion
#endregion Public Methods
}
}
}
+3 -3
View File
@@ -31,11 +31,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net40\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net40\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.6.8\lib\net40-client\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.10\lib\net40-client\NLog.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
+8 -1
View File
@@ -23,12 +23,19 @@
See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
-->
<!-- Write events to a file with the date in the filename. -->
<!--
Write events to a file with the date in the filename.
<target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
-->
</targets>
<rules>
<!-- add your logging rules here -->
<!--
Write all events with minimal level of Debug (So Debug, Info, Warn, Error and Fatal, but not Trace) to "f"
<logger name="*" minlevel="Debug" writeTo="f" />
-->
</rules>
</nlog>
+271 -177
View File
@@ -123,7 +123,7 @@
</xs:choice>
<xs:attribute name="name" use="optional">
<xs:annotation>
<xs:documentation>Name of the logger. May include wildcard characters ('*' or '?').</xs:documentation>
<xs:documentation>Filter on the name of the logger. May include wildcard characters ('*' or '?').</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="levels" type="NLogLevelList">
@@ -156,6 +156,11 @@
<xs:documentation>Ignore further rules if this one matches.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enabled" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation>Enable this rule. Note: disabled rules aren't available from the API.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ruleName" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Rule identifier to allow rule lookup with Configuration.FindRuleByName and Configuration.RemoveRuleByName.</xs:documentation>
@@ -351,8 +356,8 @@
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="asyncFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="condition" minOccurs="0" maxOccurs="1" type="Condition" />
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="flushOnConditionOnly" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="optimizeBufferReuse" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="asyncFlush" type="xs:boolean">
@@ -365,16 +370,16 @@
<xs:documentation>Condition expression. Log events who meet this condition will cause a flush on the wrapped target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="flushOnConditionOnly" type="xs:boolean">
<xs:annotation>
<xs:documentation>Only flush when LogEvent matches condition. Ignore explicit-flush, config-reload-flush and shutdown-flush</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name of the target.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="optimizeBufferReuse" type="xs:boolean">
<xs:annotation>
<xs:documentation>Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit</xs:documentation>
@@ -443,15 +448,15 @@
<xs:element name="lineEnding" minOccurs="0" maxOccurs="1" type="LineEndingMode" />
<xs:element name="maxMessageSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="newLine" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="sslProtocols" minOccurs="0" maxOccurs="1" type="System.Security.Authentication.SslProtocols" />
<xs:element name="address" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="connectionCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="keepAliveTimeSeconds" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxQueueSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxConnections" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="onConnectionOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetConnectionsOverflowAction" />
<xs:element name="onOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetOverflowAction" />
<xs:element name="sslProtocols" minOccurs="0" maxOccurs="1" type="System.Security.Authentication.SslProtocols" />
<xs:element name="maxQueueSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepAliveTimeSeconds" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.NLogViewerParameterInfo" />
<xs:element name="ndlcItemSeparator" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="includeSourceInfo" minOccurs="0" maxOccurs="1" type="xs:boolean" />
@@ -497,6 +502,11 @@
<xs:documentation>Indicates whether to append newline at the end of log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="sslProtocols" type="System.Security.Authentication.SslProtocols">
<xs:annotation>
<xs:documentation>Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="address" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Network address.</xs:documentation>
@@ -507,9 +517,14 @@
<xs:documentation>Size of the connection cache (number of connections which are kept alive).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:attribute name="keepAliveTimeSeconds" type="xs:integer">
<xs:annotation>
<xs:documentation>Indicates whether to keep connection open whenever possible.</xs:documentation>
<xs:documentation>The number of seconds a connection will remain idle before the first keep-alive probe is sent</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxQueueSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum queue size.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxConnections" type="xs:integer">
@@ -527,19 +542,9 @@
<xs:documentation>Action that should be taken if the message is larger than maxMessageSize.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="sslProtocols" type="System.Security.Authentication.SslProtocols">
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:annotation>
<xs:documentation>Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxQueueSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum queue size.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepAliveTimeSeconds" type="xs:integer">
<xs:annotation>
<xs:documentation>The number of seconds a connection will remain idle before the first keep-alive probe is sent</xs:documentation>
<xs:documentation>Indicates whether to keep connection open whenever possible.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ndlcItemSeparator" type="xs:string">
@@ -610,6 +615,18 @@
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:simpleType name="System.Security.Authentication.SslProtocols">
<xs:restriction base="xs:string">
<xs:enumeration value="None" />
<xs:enumeration value="Ssl2" />
<xs:enumeration value="Ssl3" />
<xs:enumeration value="Tls" />
<xs:enumeration value="Tls11" />
<xs:enumeration value="Tls12" />
<xs:enumeration value="Tls13" />
<xs:enumeration value="Default" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="NLog.Targets.NetworkTargetConnectionsOverflowAction">
<xs:restriction base="xs:string">
<xs:enumeration value="AllowNewConnnection" />
@@ -624,18 +641,6 @@
<xs:enumeration value="Discard" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="System.Security.Authentication.SslProtocols">
<xs:restriction base="xs:string">
<xs:enumeration value="None" />
<xs:enumeration value="Ssl2" />
<xs:enumeration value="Ssl3" />
<xs:enumeration value="Tls" />
<xs:enumeration value="Tls11" />
<xs:enumeration value="Tls12" />
<xs:enumeration value="Tls13" />
<xs:enumeration value="Default" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="NLog.Targets.NLogViewerParameterInfo">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
@@ -670,11 +675,11 @@
<xs:element name="enableAnsiOutput" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="errorStream" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="autoFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="detectOutputRedirected" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="useDefaultRowHighlightingRules" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="highlight-row" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.ConsoleRowHighlightingRule" />
<xs:element name="highlight-word" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.ConsoleWordHighlightingRule" />
<xs:element name="autoFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="optimizeBufferReuse" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
@@ -717,6 +722,11 @@
<xs:documentation>Indicates whether the error stream (stderr) should be used instead of the output stream (stdout).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoFlush" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to auto-flush after </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="detectOutputRedirected" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to auto-check if the console has been redirected to file - Disables coloring logic when System.Console.IsOutputRedirected = true</xs:documentation>
@@ -727,11 +737,6 @@
<xs:documentation>Indicates whether to use default row highlighting rules.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoFlush" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to auto-flush after </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="optimizeBufferReuse" type="xs:boolean">
<xs:annotation>
<xs:documentation>Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit</xs:documentation>
@@ -786,6 +791,7 @@
<xs:complexType name="NLog.Targets.ConsoleWordHighlightingRule">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="compileRegex" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="condition" minOccurs="0" maxOccurs="1" type="Condition" />
<xs:element name="ignoreCase" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="regex" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="text" minOccurs="0" maxOccurs="1" type="xs:string" />
@@ -798,6 +804,11 @@
<xs:documentation>Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="condition" type="Condition">
<xs:annotation>
<xs:documentation>Condition that must be met before scanning the row for highlight of words</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ignoreCase" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to ignore case when comparing texts.</xs:documentation>
@@ -837,10 +848,10 @@
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="header" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="footer" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="autoFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="detectConsoleAvailable" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="error" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="autoFlush" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="writeBuffer" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="optimizeBufferReuse" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
@@ -864,6 +875,11 @@
<xs:documentation>Footer.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoFlush" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to auto-flush after </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="detectConsoleAvailable" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to auto-check if the console is available - Disables console writing if Environment.UserInteractive = False (Windows Service) - Disables console writing if Console Standard Input is not available (Non-Console-App)</xs:documentation>
@@ -879,11 +895,6 @@
<xs:documentation>Indicates whether to send the log messages to the standard error instead of the standard output.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="autoFlush" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to auto-flush after </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="writeBuffer" type="xs:boolean">
<xs:annotation>
<xs:documentation>Whether to enable batch writing using char[]-buffers, instead of using </xs:documentation>
@@ -903,21 +914,24 @@
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="useTransactions" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="dbUserName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="dbProvider" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="dbPassword" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="dbDatabase" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="dbHost" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="dbUserName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="connectionStringName" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="connectionString" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="dbHost" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="connectionproperty" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseObjectPropertyInfo" />
<xs:element name="commandproperty" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseObjectPropertyInfo" />
<xs:element name="dbDatabase" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="installConnectionString" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="install-command" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseCommandInfo" />
<xs:element name="uninstall-command" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseCommandInfo" />
<xs:element name="isolationLevel" minOccurs="0" maxOccurs="1" type="System.Data.IsolationLevel" />
<xs:element name="optimizeBufferReuse" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseParameterInfo" />
<xs:element name="commandText" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="commandType" minOccurs="0" maxOccurs="1" type="System.Data.CommandType" />
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.DatabaseParameterInfo" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
@@ -929,9 +943,9 @@
<xs:documentation>Obsolete - value will be ignored! The logging code always runs outside of transaction. Gets or sets a value indicating whether to use database transactions. Some data providers require this.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="dbUserName" type="SimpleLayoutAttribute">
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:annotation>
<xs:documentation>Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string.</xs:documentation>
<xs:documentation>Indicates whether to keep the database connection open between the log events.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="dbProvider" type="xs:string">
@@ -944,14 +958,14 @@
<xs:documentation>Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:attribute name="dbHost" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Indicates whether to keep the database connection open between the log events.</xs:documentation>
<xs:documentation>Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="dbDatabase" type="SimpleLayoutAttribute">
<xs:attribute name="dbUserName" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string.</xs:documentation>
<xs:documentation>Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="connectionStringName" type="xs:string">
@@ -964,9 +978,9 @@
<xs:documentation>Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="dbHost" type="SimpleLayoutAttribute">
<xs:attribute name="dbDatabase" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string.</xs:documentation>
<xs:documentation>Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="installConnectionString" type="SimpleLayoutAttribute">
@@ -974,6 +988,11 @@
<xs:documentation>Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="isolationLevel" type="System.Data.IsolationLevel">
<xs:annotation>
<xs:documentation>Configures isolated transaction batch writing. If supported by the database, then it will improve insert performance.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="optimizeBufferReuse" type="xs:boolean">
<xs:annotation>
<xs:documentation>Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit</xs:documentation>
@@ -999,6 +1018,51 @@
<xs:enumeration value="TableDirect" />
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="System.Data.IsolationLevel">
<xs:restriction base="xs:string">
<xs:enumeration value="Unspecified" />
<xs:enumeration value="Chaos" />
<xs:enumeration value="ReadUncommitted" />
<xs:enumeration value="ReadCommitted" />
<xs:enumeration value="RepeatableRead" />
<xs:enumeration value="Serializable" />
<xs:enumeration value="Snapshot" />
</xs:restriction>
</xs:simpleType>
<xs:complexType name="NLog.Targets.DatabaseObjectPropertyInfo">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="format" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="culture" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="propertyType" minOccurs="0" maxOccurs="1" type="xs:string" />
</xs:choice>
<xs:attribute name="format" type="xs:string">
<xs:annotation>
<xs:documentation>Convert format of the property value</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="culture" type="xs:string">
<xs:annotation>
<xs:documentation>Culture used for parsing property string-value for type-conversion</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Value to assign on the object-property</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="name" type="xs:string">
<xs:annotation>
<xs:documentation>Name for the object-property</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="propertyType" type="xs:string">
<xs:annotation>
<xs:documentation>Type of the object-property</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="NLog.Targets.DatabaseCommandInfo">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="commandType" minOccurs="0" maxOccurs="1" type="System.Data.CommandType" />
@@ -1037,6 +1101,7 @@
<xs:element name="precision" minOccurs="0" maxOccurs="1" type="xs:byte" />
<xs:element name="scale" minOccurs="0" maxOccurs="1" type="xs:byte" />
<xs:element name="parameterType" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="allowDbNull" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="format" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="culture" minOccurs="0" maxOccurs="1" type="xs:string" />
</xs:choice>
@@ -1075,9 +1140,14 @@
<xs:documentation>Type of the parameter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="allowDbNull" type="xs:boolean">
<xs:annotation>
<xs:documentation>Whether empty value should translate into DbNull. Requires database column to allow NULL values.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="format" type="xs:string">
<xs:annotation>
<xs:documentation>Convert format of the database parameter value .</xs:documentation>
<xs:documentation>Convert format of the database parameter value.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="culture" type="xs:string">
@@ -1273,6 +1343,7 @@
<xs:element name="footer" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="lineEnding" minOccurs="0" maxOccurs="1" type="LineEndingMode" />
<xs:element name="maxArchiveDays" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="enableArchiveFileCompression" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="archiveNumbering" minOccurs="0" maxOccurs="1" type="NLog.Targets.ArchiveNumberingMode" />
<xs:element name="archiveFileName" minOccurs="0" maxOccurs="1" type="Layout" />
@@ -1282,19 +1353,20 @@
<xs:element name="maxArchiveFiles" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="writeFooterOnArchivingOnly" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="maxLogFilenames" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="fileNameKind" minOccurs="0" maxOccurs="1" type="NLog.Targets.FilePathKind" />
<xs:element name="forceManaged" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="forceMutexConcurrentWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="replaceFileContentsOnEachWrite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="writeBom" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="enableFileDelete" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="archiveDateFormat" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="archiveOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="cleanupFileName" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="createDirs" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="deleteOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileAttributes" minOccurs="0" maxOccurs="1" type="NLog.Targets.Win32FileAttributes" />
<xs:element name="createDirs" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="cleanupFileName" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="archiveOldFileOnStartupAboveSize" minOccurs="0" maxOccurs="1" type="xs:long" />
<xs:element name="archiveOldFileOnStartup" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="archiveDateFormat" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="enableFileDelete" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="writeBom" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="replaceFileContentsOnEachWrite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="forceMutexConcurrentWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="forceManaged" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="fileNameKind" minOccurs="0" maxOccurs="1" type="NLog.Targets.FilePathKind" />
<xs:element name="fileName" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="optimizeBufferReuse" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="networkWrites" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="openFileCacheTimeout" minOccurs="0" maxOccurs="1" type="xs:integer" />
@@ -1338,6 +1410,11 @@
<xs:documentation>Line ending mode.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxArchiveDays" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum days of archive files that should be kept.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enableArchiveFileCompression" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to compress archive files into the zip archive format.</xs:documentation>
@@ -1383,61 +1460,6 @@
<xs:documentation>Maximum number of log file names that should be stored as existing.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileNameKind" type="NLog.Targets.FilePathKind">
<xs:annotation>
<xs:documentation>Is the an absolute or relative path?</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="forceManaged" type="xs:boolean">
<xs:annotation>
<xs:documentation>Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="forceMutexConcurrentWrites" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether file creation calls should be synchronized by a system global mutex.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="replaceFileContentsOnEachWrite" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to replace file contents on each write instead of appending log message at the end.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="writeBom" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to write BOM (byte order mark) in created files</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enableFileDelete" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to enable log file(s) to be deleted.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileName" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Name of the file to write to.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveDateFormat" type="xs:string">
<xs:annotation>
<xs:documentation>Value specifying the date format to use when archiving files.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to archive old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="cleanupFileName" type="xs:boolean">
<xs:annotation>
<xs:documentation>Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="createDirs" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to create directories if they do not exist.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="deleteOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to delete old log file on startup.</xs:documentation>
@@ -1448,6 +1470,66 @@
<xs:documentation>File attributes (Windows only).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="createDirs" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to create directories if they do not exist.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="cleanupFileName" type="xs:boolean">
<xs:annotation>
<xs:documentation>Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. If set to false, nothing gets written when the filename is wrong.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveOldFileOnStartupAboveSize" type="xs:long">
<xs:annotation>
<xs:documentation>Value of the file size threshold to archive old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveOldFileOnStartup" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to archive old log file on startup.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="archiveDateFormat" type="xs:string">
<xs:annotation>
<xs:documentation>Value specifying the date format to use when archiving files.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enableFileDelete" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to enable log file(s) to be deleted.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="writeBom" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to write BOM (byte order mark) in created files</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="replaceFileContentsOnEachWrite" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to replace file contents on each write instead of appending log message at the end.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="forceMutexConcurrentWrites" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether file creation calls should be synchronized by a system global mutex.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="forceManaged" type="xs:boolean">
<xs:annotation>
<xs:documentation>Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileNameKind" type="NLog.Targets.FilePathKind">
<xs:annotation>
<xs:documentation>Is the an absolute or relative path?</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="fileName" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Name of the file to write to.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="optimizeBufferReuse" type="xs:boolean">
<xs:annotation>
<xs:documentation>Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit</xs:documentation>
@@ -2047,13 +2129,13 @@
<xs:element name="newLine" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="address" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="connectionCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepAliveTimeSeconds" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="maxConnections" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxQueueSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="onConnectionOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetConnectionsOverflowAction" />
<xs:element name="onOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetOverflowAction" />
<xs:element name="sslProtocols" minOccurs="0" maxOccurs="1" type="System.Security.Authentication.SslProtocols" />
<xs:element name="keepAliveTimeSeconds" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="optimizeBufferReuse" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="name" type="xs:string">
@@ -2096,6 +2178,11 @@
<xs:documentation>Size of the connection cache (number of connections which are kept alive).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepAliveTimeSeconds" type="xs:integer">
<xs:annotation>
<xs:documentation>The number of seconds a connection will remain idle before the first keep-alive probe is sent</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to keep connection open whenever possible.</xs:documentation>
@@ -2126,11 +2213,6 @@
<xs:documentation>Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepAliveTimeSeconds" type="xs:integer">
<xs:annotation>
<xs:documentation>The number of seconds a connection will remain idle before the first keep-alive probe is sent</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="optimizeBufferReuse" type="xs:boolean">
<xs:annotation>
<xs:documentation>Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit</xs:documentation>
@@ -2149,15 +2231,15 @@
<xs:element name="lineEnding" minOccurs="0" maxOccurs="1" type="LineEndingMode" />
<xs:element name="maxMessageSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="newLine" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="sslProtocols" minOccurs="0" maxOccurs="1" type="System.Security.Authentication.SslProtocols" />
<xs:element name="address" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="connectionCacheSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="keepAliveTimeSeconds" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxQueueSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="maxConnections" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="onConnectionOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetConnectionsOverflowAction" />
<xs:element name="onOverflow" minOccurs="0" maxOccurs="1" type="NLog.Targets.NetworkTargetOverflowAction" />
<xs:element name="sslProtocols" minOccurs="0" maxOccurs="1" type="System.Security.Authentication.SslProtocols" />
<xs:element name="maxQueueSize" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepAliveTimeSeconds" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="keepConnection" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded" type="NLog.Targets.NLogViewerParameterInfo" />
<xs:element name="ndlcItemSeparator" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="includeSourceInfo" minOccurs="0" maxOccurs="1" type="xs:boolean" />
@@ -2203,6 +2285,11 @@
<xs:documentation>Indicates whether to append newline at the end of log message.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="sslProtocols" type="System.Security.Authentication.SslProtocols">
<xs:annotation>
<xs:documentation>Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="address" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Network address.</xs:documentation>
@@ -2213,9 +2300,14 @@
<xs:documentation>Size of the connection cache (number of connections which are kept alive).</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:attribute name="keepAliveTimeSeconds" type="xs:integer">
<xs:annotation>
<xs:documentation>Indicates whether to keep connection open whenever possible.</xs:documentation>
<xs:documentation>The number of seconds a connection will remain idle before the first keep-alive probe is sent</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxQueueSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum queue size.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxConnections" type="xs:integer">
@@ -2233,19 +2325,9 @@
<xs:documentation>Action that should be taken if the message is larger than maxMessageSize.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="sslProtocols" type="System.Security.Authentication.SslProtocols">
<xs:attribute name="keepConnection" type="xs:boolean">
<xs:annotation>
<xs:documentation>Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="maxQueueSize" type="xs:integer">
<xs:annotation>
<xs:documentation>Maximum queue size.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="keepAliveTimeSeconds" type="xs:integer">
<xs:annotation>
<xs:documentation>The number of seconds a connection will remain idle before the first keep-alive probe is sent</xs:documentation>
<xs:documentation>Indicates whether to keep connection open whenever possible.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="ndlcItemSeparator" type="xs:string">
@@ -2635,6 +2717,7 @@
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="enableTraceFail" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="rawWrite" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="optimizeBufferReuse" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
@@ -2648,6 +2731,11 @@
<xs:documentation>Layout used to format log messages.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="enableTraceFail" type="xs:boolean">
<xs:annotation>
<xs:documentation>Forward to (Instead of )</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="rawWrite" type="xs:boolean">
<xs:annotation>
<xs:documentation>Always use independent of </xs:documentation>
@@ -2892,17 +2980,38 @@
<xs:complexContent>
<xs:extension base="Layout">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="escapeForwardSlash" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="renderEmptyObject" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="suppressSpaces" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="attribute" minOccurs="0" maxOccurs="unbounded" type="NLog.Layouts.JsonAttribute" />
<xs:element name="excludeEmptyProperties" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="excludeProperties" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="includeAllProperties" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeGdc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeMdc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeMdlc" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="maxRecursionLimit" minOccurs="0" maxOccurs="1" type="xs:integer" />
<xs:element name="renderEmptyObject" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="suppressSpaces" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="escapeForwardSlash" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="escapeForwardSlash" type="xs:boolean">
<xs:annotation>
<xs:documentation>Should forward slashes be escaped? If true, / will be converted to \/</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="renderEmptyObject" type="xs:boolean">
<xs:annotation>
<xs:documentation>Option to render the empty object value {}</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="suppressSpaces" type="xs:boolean">
<xs:annotation>
<xs:documentation>Option to suppress the extra spaces in the output json</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="excludeEmptyProperties" type="xs:boolean">
<xs:annotation>
<xs:documentation>Option to exclude null/empty properties from the log event (as JSON)</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="excludeProperties" type="xs:string">
<xs:annotation>
<xs:documentation>List of property names to exclude when is true</xs:documentation>
@@ -2933,21 +3042,6 @@
<xs:documentation>How far should the JSON serializer follow object references before backing off</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="renderEmptyObject" type="xs:boolean">
<xs:annotation>
<xs:documentation>Option to render the empty object value {}</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="suppressSpaces" type="xs:boolean">
<xs:annotation>
<xs:documentation>Option to suppress the extra spaces in the output json</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="escapeForwardSlash" type="xs:boolean">
<xs:annotation>
<xs:documentation>Should forward slashes be escaped? If true, / will be converted to \/</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:complexContent>
</xs:complexType>
@@ -2956,9 +3050,9 @@
<xs:element name="layout" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="name" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="encode" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="escapeForwardSlash" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="escapeUnicode" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="includeEmptyValue" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="escapeForwardSlash" minOccurs="0" maxOccurs="1" type="xs:boolean" />
</xs:choice>
<xs:attribute name="layout" type="SimpleLayoutAttribute">
<xs:annotation>
@@ -2975,6 +3069,11 @@
<xs:documentation>Determines whether or not this attribute will be Json encoded.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="escapeForwardSlash" type="xs:boolean">
<xs:annotation>
<xs:documentation>Should forward slashes be escaped? If true, / will be converted to \/</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="escapeUnicode" type="xs:boolean">
<xs:annotation>
<xs:documentation>Indicates whether to escape non-ascii characters</xs:documentation>
@@ -2985,11 +3084,6 @@
<xs:documentation>Whether an attribute with empty value should be included in the output</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="escapeForwardSlash" type="xs:boolean">
<xs:annotation>
<xs:documentation>Should forward slashes be escaped? If true, / will be converted to \/</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
<xs:complexType name="LayoutWithHeaderAndFooter">
<xs:complexContent>
+818 -481
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net40" />
<package id="NLog" version="4.6.8" targetFramework="net40" />
<package id="NLog.Config" version="4.6.8" targetFramework="net40" />
<package id="NLog.Schema" version="4.6.8" targetFramework="net40" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net40" />
<package id="NLog" version="4.7.10" targetFramework="net40" />
<package id="NLog.Config" version="4.7.10" targetFramework="net40" />
<package id="NLog.Schema" version="4.7.10" targetFramework="net40" />
</packages>
+9
View File
@@ -23,6 +23,7 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug-LELE|Any CPU = Debug-LELE|Any CPU
IIS02|Any CPU = IIS02|Any CPU
Prod|Any CPU = Prod|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
@@ -31,6 +32,8 @@ Global
{6CEBB3D9-217D-42E2-8D26-2FB3A5DE2BF5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6CEBB3D9-217D-42E2-8D26-2FB3A5DE2BF5}.Debug-LELE|Any CPU.ActiveCfg = Debug-LELE|Any CPU
{6CEBB3D9-217D-42E2-8D26-2FB3A5DE2BF5}.Debug-LELE|Any CPU.Build.0 = Debug-LELE|Any CPU
{6CEBB3D9-217D-42E2-8D26-2FB3A5DE2BF5}.IIS02|Any CPU.ActiveCfg = IIS02|Any CPU
{6CEBB3D9-217D-42E2-8D26-2FB3A5DE2BF5}.IIS02|Any CPU.Build.0 = IIS02|Any CPU
{6CEBB3D9-217D-42E2-8D26-2FB3A5DE2BF5}.Prod|Any CPU.ActiveCfg = Prod|Any CPU
{6CEBB3D9-217D-42E2-8D26-2FB3A5DE2BF5}.Prod|Any CPU.Build.0 = Prod|Any CPU
{6CEBB3D9-217D-42E2-8D26-2FB3A5DE2BF5}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -39,6 +42,8 @@ Global
{4308EA22-4C18-4A77-84DF-C6BCDD7BD07C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4308EA22-4C18-4A77-84DF-C6BCDD7BD07C}.Debug-LELE|Any CPU.ActiveCfg = Debug-LELE|Any CPU
{4308EA22-4C18-4A77-84DF-C6BCDD7BD07C}.Debug-LELE|Any CPU.Build.0 = Debug-LELE|Any CPU
{4308EA22-4C18-4A77-84DF-C6BCDD7BD07C}.IIS02|Any CPU.ActiveCfg = Release|Any CPU
{4308EA22-4C18-4A77-84DF-C6BCDD7BD07C}.IIS02|Any CPU.Build.0 = Release|Any CPU
{4308EA22-4C18-4A77-84DF-C6BCDD7BD07C}.Prod|Any CPU.ActiveCfg = Release|Any CPU
{4308EA22-4C18-4A77-84DF-C6BCDD7BD07C}.Prod|Any CPU.Build.0 = Release|Any CPU
{4308EA22-4C18-4A77-84DF-C6BCDD7BD07C}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -47,6 +52,8 @@ Global
{175AF851-9AED-4D5F-8571-9CEC8B2D2320}.Debug|Any CPU.Build.0 = Debug|Any CPU
{175AF851-9AED-4D5F-8571-9CEC8B2D2320}.Debug-LELE|Any CPU.ActiveCfg = Debug|Any CPU
{175AF851-9AED-4D5F-8571-9CEC8B2D2320}.Debug-LELE|Any CPU.Build.0 = Debug|Any CPU
{175AF851-9AED-4D5F-8571-9CEC8B2D2320}.IIS02|Any CPU.ActiveCfg = Release|Any CPU
{175AF851-9AED-4D5F-8571-9CEC8B2D2320}.IIS02|Any CPU.Build.0 = Release|Any CPU
{175AF851-9AED-4D5F-8571-9CEC8B2D2320}.Prod|Any CPU.ActiveCfg = Release|Any CPU
{175AF851-9AED-4D5F-8571-9CEC8B2D2320}.Prod|Any CPU.Build.0 = Release|Any CPU
{175AF851-9AED-4D5F-8571-9CEC8B2D2320}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -55,6 +62,8 @@ Global
{5A0B6E45-169B-44D4-9E24-13718B8EB7CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5A0B6E45-169B-44D4-9E24-13718B8EB7CC}.Debug-LELE|Any CPU.ActiveCfg = Debug|Any CPU
{5A0B6E45-169B-44D4-9E24-13718B8EB7CC}.Debug-LELE|Any CPU.Build.0 = Debug|Any CPU
{5A0B6E45-169B-44D4-9E24-13718B8EB7CC}.IIS02|Any CPU.ActiveCfg = Release|Any CPU
{5A0B6E45-169B-44D4-9E24-13718B8EB7CC}.IIS02|Any CPU.Build.0 = Release|Any CPU
{5A0B6E45-169B-44D4-9E24-13718B8EB7CC}.Prod|Any CPU.ActiveCfg = Release|Any CPU
{5A0B6E45-169B-44D4-9E24-13718B8EB7CC}.Prod|Any CPU.Build.0 = Release|Any CPU
{5A0B6E45-169B-44D4-9E24-13718B8EB7CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+11
View File
@@ -4,6 +4,8 @@ namespace NKC_WF
{
public class BundleConfig
{
#region Public Methods
// Per altre informazioni sulla creazione di bundle, vedere https://go.microsoft.com/fwlink/?LinkID=303951
public static void RegisterBundles(BundleCollection bundles)
{
@@ -29,9 +31,18 @@ namespace NKC_WF
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new ScriptBundle("~/bundles/jsMoment").Include(
"~/Scripts/moment.js"));
bundles.Add(new ScriptBundle("~/bundles/jsChart").Include(
"~/Scripts/Chart.js"
//,"~/Scripts/hammerjs@2.0.8.js"
//,"~/Scripts/chartjs-plugin-zoom@next.js"
));
// abilito bundle "forzato"!
BundleTable.EnableOptimizations = true;
}
#endregion Public Methods
}
}
+32 -15
View File
@@ -8,27 +8,22 @@ namespace NKC_WF
{
public class BasePage : System.Web.UI.Page
{
#region Protected Fields
/// <summary>
/// Membro gestione accessi al datalayer (istanza x ogni classe controllo)
/// </summary>
protected DataLayer DLMan = new DataLayer();
/// <summary>
/// Wrapper traduzione termini
/// Codice macchina (da v2)
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return user_std.UtSn.Traduci(lemma);
}
/// <summary>
/// Wrapper scrittura log INFO
/// </summary>
/// <param name="message"></param>
public void lgInfo(string message)
{
logger.lg.scriviLog(message, tipoLog.INFO);
}
protected string PlaceCod = "WRK001";
#endregion Protected Fields
#region Public Methods
/// <summary>
/// Wrapper scrittura log ERROR
/// </summary>
@@ -37,6 +32,7 @@ namespace NKC_WF
{
logger.lg.scriviLog(message, tipoLog.ERROR);
}
/// <summary>
/// Wrapper scrittura log EXCEPTION
/// </summary>
@@ -45,6 +41,7 @@ namespace NKC_WF
{
logger.lg.scriviLog($"{message}{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
/// <summary>
/// Wrapper scrittura log FATAL
/// </summary>
@@ -54,5 +51,25 @@ namespace NKC_WF
logger.lg.scriviLog(message, tipoLog.FATAL);
}
/// <summary>
/// Wrapper scrittura log INFO
/// </summary>
/// <param name="message"></param>
public void lgInfo(string message)
{
logger.lg.scriviLog(message, tipoLog.INFO);
}
/// <summary>
/// Wrapper traduzione termini
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return user_std.UtSn.Traduci(lemma);
}
#endregion Public Methods
}
}
+166 -128
View File
@@ -8,69 +8,39 @@ namespace NKC_WF
{
public class BaseUserControl : System.Web.UI.UserControl
{
/// <summary>
/// Postazione attuale (per ora cablata)
/// </summary>
protected string PlaceId
{
get
{
return "WRK001";
}
}
/// <summary>
/// verifica sia ambiente PROD (vs DEV)
/// </summary>
public bool checkProd
{
get
{
return memLayer.ML.CRS("environment") == "PROD";
}
}
#region Protected Fields
/// <summary>
/// Membro gestione accessi al datalayer (istanza x ogni classe controllo)
/// </summary>
protected DataLayer DLMan = new DataLayer();
#endregion Protected Fields
#region Public Fields
/// <summary>
/// Codice macchina (da v2)
/// </summary>
public string PlaceCod = "WRK001";
#endregion Public Fields
#region Public Events
/// <summary>
/// Generico evento di richiesta refresh a aprent
/// </summary>
public event EventHandler eh_doRefresh;
/// <summary>
/// Generico evento di richiesta refresh a aprent
/// </summary>
public event EventHandler eh_doReset;
/// <summary>
/// Chiamata evento
/// </summary>
public void raiseEvent()
{
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
}
/// <summary>
/// Chiamata evento
/// </summary>
public void raiseReset()
{
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doReset != null)
{
eh_doReset(this, new EventArgs());
}
}
/// <summary>
/// Wrapper traduzione termini
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return SteamWare.user_std.UtSn.Traduci(lemma);
}
#endregion Public Events
#region Protected Properties
protected Dictionary<int, string> anagMateriali
{
@@ -96,7 +66,7 @@ namespace NKC_WF
{
answ.Add(item.MatID, item.MatDesc);
}
// salvo in redis
// salvo in redis
anagMateriali = answ;
}
// restituisco
@@ -104,19 +74,21 @@ namespace NKC_WF
}
}
public string matByKey(object _matId)
#endregion Protected Properties
#region Public Properties
/// <summary>
/// verifica sia ambiente PROD (vs DEV)
/// </summary>
public bool checkProd
{
string answ = "";
int matId = 0;
int.TryParse(_matId.ToString(), out matId);
try
get
{
answ = anagMateriali[matId];
return memLayer.ML.CRS("environment") == "PROD";
}
catch
{ }
return answ;
}
/// <summary>
/// Recupera IP utente
/// </summary>
@@ -129,45 +101,11 @@ namespace NKC_WF
return userip;
}
}
/// <summary>
/// Restituisce URL immagine QRCode
/// </summary>
/// <param name="QrValue">Parametro da renderizzare con QRCode</param>
/// <returns></returns>
public string getImgUrl(object QrValue)
{
string baseUrl = $"{memLayer.ML.CRS("matrixUrl")}/HOME/QR_site/JSON?val=";
string payload = "{'baseUrl':'{0}','parameters':['" + $"{QrValue}" + "']}";
string answ = $"{baseUrl}{payload}";
return answ;
}
/// <summary>
/// Recupera valore intero da OBJ
/// </summary>
/// <param name="_val"></param>
/// <returns></returns>
public double getInt(object _val)
{
int answ= -999999;
int.TryParse(_val.ToString(), out answ);
return answ;
}
/// <summary>
/// Calcola il rapporto tra 2 valori
/// </summary>
/// <param name="_dividendo"></param>
/// <param name="_divisore"></param>
/// <returns></returns>
public double getRatio(object _dividendo, object _divisore)
{
double ratio = 0;
double dividendo = 0;
double divisore = 1;
double.TryParse(_dividendo.ToString(), out dividendo);
double.TryParse(_divisore.ToString(), out divisore);
ratio = dividendo / divisore;
return ratio;
}
#endregion Public Properties
#region Public Methods
/// <summary>
/// determina CSS x colore testo da perc svuotamento...
/// </summary>
@@ -190,6 +128,110 @@ namespace NKC_WF
}
return answ;
}
/// <summary>
/// Restituisce URL immagine QRCode
/// </summary>
/// <param name="QrValue">Parametro da renderizzare con QRCode</param>
/// <returns></returns>
public string getImgUrl(object QrValue)
{
string baseUrl = $"{memLayer.ML.CRS("matrixUrl")}/HOME/QR_site/JSON?val=";
string payload = "{'baseUrl':'{0}','parameters':['" + $"{QrValue}" + "']}";
string answ = $"{baseUrl}{payload}";
return answ;
}
/// <summary>
/// Recupera valore intero da OBJ
/// </summary>
/// <param name="_val"></param>
/// <returns></returns>
public double getInt(object _val)
{
int answ = -999999;
int.TryParse(_val.ToString(), out answ);
return answ;
}
/// <summary>
/// Calcola il rapporto tra 2 valori
/// </summary>
/// <param name="_dividendo"></param>
/// <param name="_divisore"></param>
/// <returns></returns>
public double getRatio(object _dividendo, object _divisore)
{
double ratio = 0;
double dividendo = 0;
double divisore = 1;
double.TryParse(_dividendo.ToString(), out dividendo);
double.TryParse(_divisore.ToString(), out divisore);
// se divisore 0 --> 1
divisore = divisore == 0 ? 1 : divisore;
ratio = dividendo / divisore;
return ratio;
}
/// <summary>
/// Wrapper scrittura log DEBUG
/// </summary>
/// <param name="message"></param>
public void lgDebug(string message)
{
logger.lg.scriviLog(message, tipoLog.DEBUG);
}
/// <summary>
/// Wrapper scrittura log ERROR
/// </summary>
/// <param name="message"></param>
public void lgError(string message)
{
logger.lg.scriviLog(message, tipoLog.ERROR);
}
/// <summary>
/// Wrapper scrittura log EXCEPTION
/// </summary>
/// <param name="message"></param>
public void lgException(string message, Exception exc)
{
logger.lg.scriviLog($"{message}{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
/// <summary>
/// Wrapper scrittura log FATAL
/// </summary>
/// <param name="message"></param>
public void lgFatal(string message, Exception exc)
{
logger.lg.scriviLog(message, tipoLog.FATAL);
}
/// <summary>
/// Wrapper scrittura log INFO
/// </summary>
/// <param name="message"></param>
public void lgInfo(string message)
{
logger.lg.scriviLog(message, tipoLog.INFO);
}
public string matByKey(object _matId)
{
string answ = "";
int matId = 0;
int.TryParse(_matId.ToString(), out matId);
try
{
answ = anagMateriali[matId];
}
catch
{ }
return answ;
}
/// <summary>
/// Converte obja intero
/// </summary>
@@ -201,45 +243,41 @@ namespace NKC_WF
int.TryParse(valore.ToString(), out answ);
return answ;
}
/// <summary>
/// Wrapper scrittura log INFO
/// Chiamata evento
/// </summary>
/// <param name="message"></param>
public void lgInfo(string message)
public void raiseEvent()
{
logger.lg.scriviLog(message, tipoLog.INFO);
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
}
/// <summary>
/// Wrapper scrittura log DEBUG
/// Chiamata evento
/// </summary>
/// <param name="message"></param>
public void lgDebug(string message)
public void raiseReset()
{
logger.lg.scriviLog(message, tipoLog.DEBUG);
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doReset != null)
{
eh_doReset(this, new EventArgs());
}
}
/// <summary>
/// Wrapper scrittura log ERROR
/// Wrapper traduzione termini
/// </summary>
/// <param name="message"></param>
public void lgError(string message)
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
logger.lg.scriviLog(message, tipoLog.ERROR);
}
/// <summary>
/// Wrapper scrittura log EXCEPTION
/// </summary>
/// <param name="message"></param>
public void lgException(string message, Exception exc)
{
logger.lg.scriviLog($"{message}{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
/// <summary>
/// Wrapper scrittura log FATAL
/// </summary>
/// <param name="message"></param>
public void lgFatal(string message, Exception exc)
{
logger.lg.scriviLog(message, tipoLog.FATAL);
return SteamWare.user_std.UtSn.Traduci(lemma);
}
#endregion Public Methods
}
}
+47
View File
@@ -0,0 +1,47 @@
/*
* DOM element rendering detection
* https://davidwalsh.name/detect-node-insertion
*/
@keyframes chartjs-render-animation {
from { opacity: 0.99; }
to { opacity: 1; }
}
.chartjs-render-monitor {
animation: chartjs-render-animation 0.001s;
}
/*
* DOM element resizing detection
* https://github.com/marcj/css-element-queries
*/
.chartjs-size-monitor,
.chartjs-size-monitor-expand,
.chartjs-size-monitor-shrink {
position: absolute;
direction: ltr;
left: 0;
top: 0;
right: 0;
bottom: 0;
overflow: hidden;
pointer-events: none;
visibility: hidden;
z-index: -1;
}
.chartjs-size-monitor-expand > div {
position: absolute;
width: 1000000px;
height: 1000000px;
left: 0;
top: 0;
}
.chartjs-size-monitor-shrink > div {
position: absolute;
width: 200%;
height: 200%;
left: 0;
top: 0;
}
+1
View File
@@ -0,0 +1 @@
@keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}
+27 -2
View File
@@ -42,6 +42,31 @@ body {
font-family: 'Roboto Condensed', sans-serif;
font-size: 0.9rem;
}
.smallTable {
font-size: 0.7rem;
font-family: 'Open Sans Condensed', sans-serif;
}
}
.GridPager a,
.GridPager span {
display: block;
height: 1.5em;
min-width: 1.1em;
text-align: center;
text-decoration: none;
}
.GridPager a {
background-color: #f5f5f5;
color: #969696;
/*border-top: 1px solid #969696;
border-bottom: 1px solid #969696;*/
}
.GridPager span {
background-color: #A1DCF2;
color: #000;
/*border-top: 1px solid #3AC0F2;
border-bottom: 1px solid #3AC0F2;*/
font-weight: bold;
}
.border-thick {
border-width: 3px !important;
@@ -88,8 +113,8 @@ body {
.smallText {
font-size: 0.8em;
}
/* Override the default bootstrap behavior where horizontal description lists
will truncate terms that are too long to fit in the left column
/* Override the default bootstrap behavior where horizontal description lists
will truncate terms that are too long to fit in the left column
*/
.dl-horizontal dt {
white-space: normal;
+27 -5
View File
@@ -13,7 +13,6 @@ body {
padding-right: 15px;
}
.textCondens {
/*font-family: 'Roboto Condensed', sans-serif;*/
font-family: 'Open Sans Condensed', sans-serif;
@@ -52,12 +51,37 @@ body {
font-family: 'Roboto Condensed', sans-serif;
font-size: 0.9rem;
}
.smallTable {
font-size: 0.7rem;
font-family: 'Open Sans Condensed', sans-serif;
}
}
.GridPager a,
.GridPager span {
display: block;
height: 1.5em;
min-width: 1.1em;
text-align: center;
text-decoration: none;
}
.GridPager a {
background-color: #f5f5f5;
color: #969696;
/*border-top: 1px solid #969696;
border-bottom: 1px solid #969696;*/
}
.GridPager span {
background-color: #A1DCF2;
color: #000;
/*border-top: 1px solid #3AC0F2;
border-bottom: 1px solid #3AC0F2;*/
font-weight: bold;
}
@borderThick: 3px;
.border-thick {
@@ -113,8 +137,8 @@ body {
font-size: 0.8em;
}
/* Override the default bootstrap behavior where horizontal description lists
will truncate terms that are too long to fit in the left column
/* Override the default bootstrap behavior where horizontal description lists
will truncate terms that are too long to fit in the left column
*/
.dl-horizontal dt {
white-space: normal;
@@ -178,7 +202,6 @@ body {
@blSCut: 1rem;
.shortcuts {
text-align: center;
}
@@ -282,7 +305,6 @@ body {
color: #666;
}
@media (max-width: 992px) {
.shortcuts .shortcut {
min-width: @blSCut * 8;
+1 -1
View File
@@ -1 +1 @@
body{font-family:'Roboto Condensed',sans-serif;padding-top:50px;padding-bottom:20px;}.body-content{padding-left:15px;padding-right:15px;}.textCondens{font-family:'Open Sans Condensed',sans-serif;}.textNormal{font-family:'Roboto',sans-serif;}.textBig{font-size:1.5em;}@media screen and (min-width:768px){.jumbotron{margin-top:20px;}.body-content{padding:0;}body{font-family:'Roboto',sans-serif;}}@media(max-width:992px){.container{width:100%;}body{font-family:'Roboto Condensed',sans-serif;font-size:.9rem;}.smallTable{font-size:.7rem;font-family:'Open Sans Condensed',sans-serif;}}.border-thick{border-width:3px !important;}.flashColor{border:3px solid #00f;-webkit-animation-name:blueFlash;-webkit-animation-duration:.5s;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-name:blueFlash;animation-duration:.5s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:alternate;}@-webkit-keyframes blueFlash{0%{border-color:#c4dbff;}25%{border-color:#9dc4ff;}50%{border-color:#5ca5ff;}75%{border-color:#1b82ff;}100%{border-color:#005ccc;}}.bigText{font-size:1.3em;}.smallText{font-size:.8em;}.dl-horizontal dt{white-space:normal;}.deleted{text-decoration:line-through;}.padZL{padding-left:.2em;}.padZR{padding-right:.2em;}.padZRL{padding-left:.2em;padding-right:.2em;}.colAlt{color:#c93;}.fontBig{font-size:2em;}.tNote{color:#8a8a8a;font-style:italic;}.tNoWrap{white-space:nowrap;}.navbar{min-height:0;color:#696969;}.pagination{margin:5px 0;}.pageSelDD{width:6em;}.zeroWidth{width:0;}.shortcuts{text-align:center;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:.66666667rem 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:.5rem;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:.25rem 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:.5rem;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:992px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}}
body{font-family:'Roboto Condensed',sans-serif;padding-top:50px;padding-bottom:20px;}.body-content{padding-left:15px;padding-right:15px;}.textCondens{font-family:'Open Sans Condensed',sans-serif;}.textNormal{font-family:'Roboto',sans-serif;}.textBig{font-size:1.5em;}@media screen and (min-width:768px){.jumbotron{margin-top:20px;}.body-content{padding:0;}body{font-family:'Roboto',sans-serif;}}@media(max-width:992px){.container{width:100%;}body{font-family:'Roboto Condensed',sans-serif;font-size:.9rem;}.smallTable{font-size:.7rem;font-family:'Open Sans Condensed',sans-serif;}}.GridPager a,.GridPager span{display:block;height:1.5em;min-width:1.1em;text-align:center;text-decoration:none;}.GridPager a{background-color:#f5f5f5;color:#969696;}.GridPager span{background-color:#a1dcf2;color:#000;font-weight:bold;}.border-thick{border-width:3px !important;}.flashColor{border:3px solid #00f;-webkit-animation-name:blueFlash;-webkit-animation-duration:.5s;-webkit-animation-timing-function:linear;-webkit-animation-delay:0s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;animation-name:blueFlash;animation-duration:.5s;animation-timing-function:linear;animation-delay:0s;animation-iteration-count:infinite;animation-direction:alternate;}@-webkit-keyframes blueFlash{0%{border-color:#c4dbff;}25%{border-color:#9dc4ff;}50%{border-color:#5ca5ff;}75%{border-color:#1b82ff;}100%{border-color:#005ccc;}}.bigText{font-size:1.3em;}.smallText{font-size:.8em;}.dl-horizontal dt{white-space:normal;}.deleted{text-decoration:line-through;}.padZL{padding-left:.2em;}.padZR{padding-right:.2em;}.padZRL{padding-left:.2em;padding-right:.2em;}.colAlt{color:#c93;}.fontBig{font-size:2em;}.tNote{color:#8a8a8a;font-style:italic;}.tNoWrap{white-space:nowrap;}.navbar{min-height:0;color:#696969;}.pagination{margin:5px 0;}.pageSelDD{width:6em;}.zeroWidth{width:0;}.shortcuts{text-align:center;}.shortcuts .shortcut{min-width:9rem;min-height:5rem;display:inline-block;padding:.66666667rem 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:.5rem;}.shortcuts .shortcut-sm{min-width:4.5rem;min-height:3rem;display:inline-block;padding:.25rem 0;margin:0 2px 1em;vertical-align:top;text-decoration:none;background:#f3f3f3;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,0%,#eee,100%);background-image:-moz-linear-gradient(top,#fff 0%,#eee 100%);background-image:linear-gradient(to bottom,#fff 0%,#eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffeeeeee',GradientType=0);border:1px solid #ddd;box-sizing:border-box;border-radius:.5rem;}.shortcuts .shortcut .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut-sm .shortcut-icon{width:100%;margin-top:0;margin-bottom:0;font-size:2rem;color:#333;}.shortcuts .shortcut:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut-sm:hover{background:#e8e8e8;background-image:-webkit-gradient(linear,left 0%,left 100%,from(#fafafa),to(#e1e1e1));background-image:-webkit-linear-gradient(top,#fafafa,0%,#e1e1e1,100%);background-image:-moz-linear-gradient(top,#fafafa 0%,#e1e1e1 100%);background-image:linear-gradient(to bottom,#fafafa 0%,#e1e1e1 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffafafa',endColorstr='#ffe1e1e1',GradientType=0);}.shortcuts .shortcut:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut-sm:active{box-shadow:inset 0 3px 5px rgba(0,0,0,.125);}.shortcuts .shortcut:hover .shortcut-icon{color:#c93;}.shortcuts .shortcut-sm:hover .shortcut-icon{color:#666;}.shortcuts .shortcut-label{display:block;margin-top:.75em;font-weight:400;color:#666;}@media(max-width:992px){.shortcuts .shortcut{min-width:8rem;min-height:4rem;}}
+10 -37
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap Grid v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Bootstrap Grid v4.6.0 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
html {
box-sizing: border-box;
@@ -15,39 +15,12 @@ html {
box-sizing: inherit;
}
.container {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 576px) {
.container {
max-width: 540px;
}
}
@media (min-width: 768px) {
.container {
max-width: 720px;
}
}
@media (min-width: 992px) {
.container {
max-width: 960px;
}
}
@media (min-width: 1200px) {
.container {
max-width: 1140px;
}
}
.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
width: 100%;
padding-right: 15px;
padding-left: 15px;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+15 -17
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Bootstrap Reboot v4.6.0 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
@@ -24,7 +24,7 @@ article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
@@ -133,12 +133,12 @@ a:hover {
text-decoration: underline;
}
a:not([href]) {
a:not([href]):not([class]) {
color: inherit;
text-decoration: none;
}
a:not([href]):hover {
a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
@@ -155,6 +155,7 @@ pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar;
}
figure {
@@ -185,6 +186,7 @@ caption {
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
label {
@@ -196,9 +198,8 @@ button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
button:focus:not(:focus-visible) {
outline: 0;
}
input,
@@ -222,6 +223,10 @@ select {
text-transform: none;
}
[role="button"] {
cursor: pointer;
}
select {
word-wrap: normal;
}
@@ -254,13 +259,6 @@ input[type="checkbox"] {
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
File diff suppressed because one or more lines are too long
+5 -5
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Bootstrap Reboot v4.6.0 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
File diff suppressed because one or more lines are too long
+230 -156
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Bootstrap v4.6.0 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
:root {
--blue: #007bff;
@@ -31,7 +31,7 @@
--breakpoint-md: 768px;
--breakpoint-lg: 992px;
--breakpoint-xl: 1200px;
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
@@ -54,7 +54,7 @@ article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
@@ -163,12 +163,12 @@ a:hover {
text-decoration: underline;
}
a:not([href]) {
a:not([href]):not([class]) {
color: inherit;
text-decoration: none;
}
a:not([href]):hover {
a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
@@ -185,6 +185,7 @@ pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
-ms-overflow-style: scrollbar;
}
figure {
@@ -215,6 +216,7 @@ caption {
th {
text-align: inherit;
text-align: -webkit-match-parent;
}
label {
@@ -226,9 +228,8 @@ button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
button:focus:not(:focus-visible) {
outline: 0;
}
input,
@@ -252,6 +253,10 @@ select {
text-transform: none;
}
[role="button"] {
cursor: pointer;
}
select {
word-wrap: normal;
}
@@ -284,13 +289,6 @@ input[type="checkbox"] {
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
@@ -541,39 +539,12 @@ pre code {
overflow-y: scroll;
}
.container {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 576px) {
.container {
max-width: 540px;
}
}
@media (min-width: 768px) {
.container {
max-width: 720px;
}
}
@media (min-width: 992px) {
.container {
max-width: 960px;
}
}
@media (min-width: 1200px) {
.container {
max-width: 1140px;
}
}
.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
width: 100%;
padding-right: 15px;
padding-left: 15px;
@@ -2100,6 +2071,15 @@ pre code {
opacity: 1;
}
input[type="date"].form-control,
input[type="time"].form-control,
input[type="datetime-local"].form-control,
input[type="month"].form-control {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
select.form-control:focus::-ms-value {
color: #495057;
background-color: #fff;
@@ -2247,6 +2227,7 @@ textarea.form-control {
.valid-tooltip {
position: absolute;
top: 100%;
left: 0;
z-index: 5;
display: none;
max-width: 100%;
@@ -2259,6 +2240,11 @@ textarea.form-control {
border-radius: 0.25rem;
}
.form-row > .col > .valid-tooltip,
.form-row > [class*="col-"] > .valid-tooltip {
left: 5px;
}
.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
@@ -2288,7 +2274,7 @@ textarea.form-control {
.was-validated .custom-select:valid, .custom-select.is-valid {
border-color: #28a745;
padding-right: calc(0.75em + 2.3125rem);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}
.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {
@@ -2347,6 +2333,7 @@ textarea.form-control {
.invalid-tooltip {
position: absolute;
top: 100%;
left: 0;
z-index: 5;
display: none;
max-width: 100%;
@@ -2359,6 +2346,11 @@ textarea.form-control {
border-radius: 0.25rem;
}
.form-row > .col > .invalid-tooltip,
.form-row > [class*="col-"] > .invalid-tooltip {
left: 5px;
}
.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
@@ -2388,7 +2380,7 @@ textarea.form-control {
.was-validated .custom-select:invalid, .custom-select.is-invalid {
border-color: #dc3545;
padding-right: calc(0.75em + 2.3125rem);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;
}
.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {
@@ -2517,7 +2509,6 @@ textarea.form-control {
color: #212529;
text-align: center;
vertical-align: middle;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
@@ -2551,6 +2542,10 @@ textarea.form-control {
opacity: 0.65;
}
.btn:not(:disabled):not(.disabled) {
cursor: pointer;
}
a.btn.disabled,
fieldset:disabled a.btn {
pointer-events: none;
@@ -3121,7 +3116,6 @@ fieldset:disabled a.btn {
.btn-link:focus, .btn-link.focus {
text-decoration: underline;
box-shadow: none;
}
.btn-link:disabled, .btn-link.disabled {
@@ -3403,7 +3397,7 @@ input[type="button"].btn-block {
.dropdown-item:hover, .dropdown-item:focus {
color: #16181b;
text-decoration: none;
background-color: #f8f9fa;
background-color: #e9ecef;
}
.dropdown-item.active, .dropdown-item:active {
@@ -3413,7 +3407,7 @@ input[type="button"].btn-block {
}
.dropdown-item.disabled, .dropdown-item:disabled {
color: #6c757d;
color: #adb5bd;
pointer-events: none;
background-color: transparent;
}
@@ -3580,8 +3574,9 @@ input[type="button"].btn-block {
.input-group > .custom-select,
.input-group > .custom-file {
position: relative;
-ms-flex: 1 1 0%;
flex: 1 1 0%;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
width: 1%;
min-width: 0;
margin-bottom: 0;
}
@@ -3611,12 +3606,6 @@ input[type="button"].btn-block {
z-index: 4;
}
.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group > .form-control:not(:first-child),
.input-group > .custom-select:not(:first-child) {
border-top-left-radius: 0;
@@ -3631,14 +3620,23 @@ input[type="button"].btn-block {
}
.input-group > .custom-file:not(:last-child) .custom-file-label,
.input-group > .custom-file:not(:last-child) .custom-file-label::after {
.input-group > .custom-file:not(:first-child) .custom-file-label {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
.input-group:not(.has-validation) > .form-control:not(:last-child),
.input-group:not(.has-validation) > .custom-select:not(:last-child),
.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group > .custom-file:not(:first-child) .custom-file-label {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
.input-group.has-validation > .form-control:nth-last-child(n + 3),
.input-group.has-validation > .custom-select:nth-last-child(n + 3),
.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
.input-group-prepend,
@@ -3741,8 +3739,10 @@ input[type="button"].btn-block {
.input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
border-top-right-radius: 0;
@@ -3761,9 +3761,12 @@ input[type="button"].btn-block {
.custom-control {
position: relative;
z-index: 1;
display: block;
min-height: 1.5rem;
padding-left: 1.5rem;
-webkit-print-color-adjust: exact;
color-adjust: exact;
}
.custom-control-inline {
@@ -3836,7 +3839,7 @@ input[type="button"].btn-block {
width: 1rem;
height: 1rem;
content: "";
background: no-repeat 50% / 50% 50%;
background: 50% / 50% 50% no-repeat;
}
.custom-checkbox .custom-control-label::before {
@@ -3925,7 +3928,7 @@ input[type="button"].btn-block {
line-height: 1.5;
color: #495057;
vertical-align: middle;
background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px;
background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat;
border: 1px solid #ced4da;
border-radius: 0.25rem;
-webkit-appearance: none;
@@ -3994,6 +3997,7 @@ input[type="button"].btn-block {
width: 100%;
height: calc(1.5em + 0.75rem + 2px);
margin: 0;
overflow: hidden;
opacity: 0;
}
@@ -4023,6 +4027,7 @@ input[type="button"].btn-block {
z-index: 1;
height: calc(1.5em + 0.75rem + 2px);
padding: 0.375rem 0.75rem;
overflow: hidden;
font-weight: 400;
line-height: 1.5;
color: #495057;
@@ -4059,7 +4064,7 @@ input[type="button"].btn-block {
}
.custom-range:focus {
outline: none;
outline: 0;
}
.custom-range:focus::-webkit-slider-thumb {
@@ -4254,11 +4259,8 @@ input[type="button"].btn-block {
border-bottom: 1px solid #dee2e6;
}
.nav-tabs .nav-item {
margin-bottom: -1px;
}
.nav-tabs .nav-link {
margin-bottom: -1px;
border: 1px solid transparent;
border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem;
@@ -4297,12 +4299,14 @@ input[type="button"].btn-block {
background-color: #007bff;
}
.nav-fill > .nav-link,
.nav-fill .nav-item {
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
.nav-justified > .nav-link,
.nav-justified .nav-item {
-ms-flex-preferred-size: 0;
flex-basis: 0;
@@ -4412,8 +4416,12 @@ input[type="button"].btn-block {
height: 1.5em;
vertical-align: middle;
content: "";
background: no-repeat center center;
background-size: 100% 100%;
background: 50% / 100% 100% no-repeat;
}
.navbar-nav-scroll {
max-height: 75vh;
overflow-y: auto;
}
@media (max-width: 575.98px) {
@@ -4447,6 +4455,9 @@ input[type="button"].btn-block {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.navbar-expand-sm .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-sm .navbar-collapse {
display: -ms-flexbox !important;
display: flex !important;
@@ -4489,6 +4500,9 @@ input[type="button"].btn-block {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.navbar-expand-md .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-md .navbar-collapse {
display: -ms-flexbox !important;
display: flex !important;
@@ -4531,6 +4545,9 @@ input[type="button"].btn-block {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.navbar-expand-lg .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-lg .navbar-collapse {
display: -ms-flexbox !important;
display: flex !important;
@@ -4573,6 +4590,9 @@ input[type="button"].btn-block {
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
.navbar-expand-xl .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand-xl .navbar-collapse {
display: -ms-flexbox !important;
display: flex !important;
@@ -4617,6 +4637,10 @@ input[type="button"].btn-block {
flex-wrap: nowrap;
}
.navbar-expand .navbar-nav-scroll {
overflow: visible;
}
.navbar-expand .navbar-collapse {
display: -ms-flexbox !important;
display: flex !important;
@@ -4661,7 +4685,7 @@ input[type="button"].btn-block {
}
.navbar-light .navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-light .navbar-text {
@@ -4709,7 +4733,7 @@ input[type="button"].btn-block {
}
.navbar-dark .navbar-toggler-icon {
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-dark .navbar-text {
@@ -4743,14 +4767,26 @@ input[type="button"].btn-block {
margin-left: 0;
}
.card > .list-group:first-child .list-group-item:first-child {
border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem;
.card > .list-group {
border-top: inherit;
border-bottom: inherit;
}
.card > .list-group:last-child .list-group-item:last-child {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
.card > .list-group:first-child {
border-top-width: 0;
border-top-left-radius: calc(0.25rem - 1px);
border-top-right-radius: calc(0.25rem - 1px);
}
.card > .list-group:last-child {
border-bottom-width: 0;
border-bottom-right-radius: calc(0.25rem - 1px);
border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
border-top: 0;
}
.card-body {
@@ -4792,10 +4828,6 @@ input[type="button"].btn-block {
border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}
.card-header + .list-group .list-group-item:first-child {
border-top: 0;
}
.card-footer {
padding: 0.75rem 1.25rem;
background-color: rgba(0, 0, 0, 0.03);
@@ -4825,6 +4857,7 @@ input[type="button"].btn-block {
bottom: 0;
left: 0;
padding: 1.25rem;
border-radius: calc(0.25rem - 1px);
}
.card-img,
@@ -4936,6 +4969,10 @@ input[type="button"].btn-block {
}
}
.accordion {
overflow-anchor: none;
}
.accordion > .card {
overflow: hidden;
}
@@ -4973,7 +5010,7 @@ input[type="button"].btn-block {
}
.breadcrumb-item + .breadcrumb-item::before {
display: inline-block;
float: left;
padding-right: 0.5rem;
color: #6c757d;
content: "/";
@@ -5283,6 +5320,7 @@ a.badge-dark:focus, a.badge-dark.focus {
position: absolute;
top: 0;
right: 0;
z-index: 2;
padding: 0.75rem 1.25rem;
color: inherit;
}
@@ -5422,6 +5460,7 @@ a.badge-dark:focus, a.badge-dark.focus {
display: flex;
height: 1rem;
overflow: hidden;
line-height: 0;
font-size: 0.75rem;
background-color: #e9ecef;
border-radius: 0.25rem;
@@ -5454,8 +5493,8 @@ a.badge-dark:focus, a.badge-dark.focus {
}
.progress-bar-animated {
-webkit-animation: progress-bar-stripes 1s linear infinite;
animation: progress-bar-stripes 1s linear infinite;
-webkit-animation: 1s linear infinite progress-bar-stripes;
animation: 1s linear infinite progress-bar-stripes;
}
@media (prefers-reduced-motion: reduce) {
@@ -5484,6 +5523,7 @@ a.badge-dark:focus, a.badge-dark.focus {
flex-direction: column;
padding-left: 0;
margin-bottom: 0;
border-radius: 0.25rem;
}
.list-group-item-action {
@@ -5513,13 +5553,13 @@ a.badge-dark:focus, a.badge-dark.focus {
}
.list-group-item:first-child {
border-top-left-radius: 0.25rem;
border-top-right-radius: 0.25rem;
border-top-left-radius: inherit;
border-top-right-radius: inherit;
}
.list-group-item:last-child {
border-bottom-right-radius: 0.25rem;
border-bottom-left-radius: 0.25rem;
border-bottom-right-radius: inherit;
border-bottom-left-radius: inherit;
}
.list-group-item.disabled, .list-group-item:disabled {
@@ -5549,26 +5589,26 @@ a.badge-dark:focus, a.badge-dark.focus {
flex-direction: row;
}
.list-group-horizontal .list-group-item:first-child {
.list-group-horizontal > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
.list-group-horizontal .list-group-item:last-child {
.list-group-horizontal > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
.list-group-horizontal .list-group-item.active {
.list-group-horizontal > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal .list-group-item + .list-group-item {
.list-group-horizontal > .list-group-item + .list-group-item {
border-top-width: 1px;
border-left-width: 0;
}
.list-group-horizontal .list-group-item + .list-group-item.active {
.list-group-horizontal > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
@@ -5578,22 +5618,22 @@ a.badge-dark:focus, a.badge-dark.focus {
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-sm .list-group-item:first-child {
.list-group-horizontal-sm > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
.list-group-horizontal-sm .list-group-item:last-child {
.list-group-horizontal-sm > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
.list-group-horizontal-sm .list-group-item.active {
.list-group-horizontal-sm > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-sm .list-group-item + .list-group-item {
.list-group-horizontal-sm > .list-group-item + .list-group-item {
border-top-width: 1px;
border-left-width: 0;
}
.list-group-horizontal-sm .list-group-item + .list-group-item.active {
.list-group-horizontal-sm > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
@@ -5604,22 +5644,22 @@ a.badge-dark:focus, a.badge-dark.focus {
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-md .list-group-item:first-child {
.list-group-horizontal-md > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
.list-group-horizontal-md .list-group-item:last-child {
.list-group-horizontal-md > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
.list-group-horizontal-md .list-group-item.active {
.list-group-horizontal-md > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-md .list-group-item + .list-group-item {
.list-group-horizontal-md > .list-group-item + .list-group-item {
border-top-width: 1px;
border-left-width: 0;
}
.list-group-horizontal-md .list-group-item + .list-group-item.active {
.list-group-horizontal-md > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
@@ -5630,22 +5670,22 @@ a.badge-dark:focus, a.badge-dark.focus {
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-lg .list-group-item:first-child {
.list-group-horizontal-lg > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
.list-group-horizontal-lg .list-group-item:last-child {
.list-group-horizontal-lg > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
.list-group-horizontal-lg .list-group-item.active {
.list-group-horizontal-lg > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-lg .list-group-item + .list-group-item {
.list-group-horizontal-lg > .list-group-item + .list-group-item {
border-top-width: 1px;
border-left-width: 0;
}
.list-group-horizontal-lg .list-group-item + .list-group-item.active {
.list-group-horizontal-lg > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
@@ -5656,38 +5696,36 @@ a.badge-dark:focus, a.badge-dark.focus {
-ms-flex-direction: row;
flex-direction: row;
}
.list-group-horizontal-xl .list-group-item:first-child {
.list-group-horizontal-xl > .list-group-item:first-child {
border-bottom-left-radius: 0.25rem;
border-top-right-radius: 0;
}
.list-group-horizontal-xl .list-group-item:last-child {
.list-group-horizontal-xl > .list-group-item:last-child {
border-top-right-radius: 0.25rem;
border-bottom-left-radius: 0;
}
.list-group-horizontal-xl .list-group-item.active {
.list-group-horizontal-xl > .list-group-item.active {
margin-top: 0;
}
.list-group-horizontal-xl .list-group-item + .list-group-item {
.list-group-horizontal-xl > .list-group-item + .list-group-item {
border-top-width: 1px;
border-left-width: 0;
}
.list-group-horizontal-xl .list-group-item + .list-group-item.active {
.list-group-horizontal-xl > .list-group-item + .list-group-item.active {
margin-left: -1px;
border-left-width: 1px;
}
}
.list-group-flush .list-group-item {
border-right-width: 0;
border-left-width: 0;
.list-group-flush {
border-radius: 0;
}
.list-group-flush .list-group-item:first-child {
border-top-width: 0;
.list-group-flush > .list-group-item {
border-width: 0 0 1px;
}
.list-group-flush:last-child .list-group-item:last-child {
.list-group-flush > .list-group-item:last-child {
border-bottom-width: 0;
}
@@ -5842,9 +5880,6 @@ button.close {
padding: 0;
background-color: transparent;
border: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
a.close.disabled {
@@ -5852,15 +5887,14 @@ a.close.disabled {
}
.toast {
-ms-flex-preferred-size: 350px;
flex-basis: 350px;
max-width: 350px;
overflow: hidden;
font-size: 0.875rem;
background-color: rgba(255, 255, 255, 0.85);
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
opacity: 0;
border-radius: 0.25rem;
}
@@ -5892,6 +5926,8 @@ a.close.disabled {
background-color: rgba(255, 255, 255, 0.85);
background-clip: padding-box;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
border-top-left-radius: calc(0.25rem - 1px);
border-top-right-radius: calc(0.25rem - 1px);
}
.toast-body {
@@ -5982,6 +6018,9 @@ a.close.disabled {
.modal-dialog-centered::before {
display: block;
height: calc(100vh - 1rem);
height: -webkit-min-content;
height: -moz-min-content;
height: min-content;
content: "";
}
@@ -6107,6 +6146,9 @@ a.close.disabled {
}
.modal-dialog-centered::before {
height: calc(100vh - 3.5rem);
height: -webkit-min-content;
height: -moz-min-content;
height: min-content;
}
.modal-sm {
max-width: 300px;
@@ -6131,7 +6173,7 @@ a.close.disabled {
z-index: 1070;
display: block;
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-style: normal;
font-weight: 400;
line-height: 1.5;
@@ -6244,7 +6286,7 @@ a.close.disabled {
z-index: 1060;
display: block;
max-width: 276px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-style: normal;
font-weight: 400;
line-height: 1.5;
@@ -6532,7 +6574,7 @@ a.close.disabled {
display: inline-block;
width: 20px;
height: 20px;
background: no-repeat 50% / 100% 100%;
background: 50% / 100% 100% no-repeat;
}
.carousel-control-prev-icon {
@@ -6621,8 +6663,8 @@ a.close.disabled {
border: 0.25em solid currentColor;
border-right-color: transparent;
border-radius: 50%;
-webkit-animation: spinner-border .75s linear infinite;
animation: spinner-border .75s linear infinite;
-webkit-animation: .75s linear infinite spinner-border;
animation: .75s linear infinite spinner-border;
}
.spinner-border-sm {
@@ -6638,6 +6680,8 @@ a.close.disabled {
}
50% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@@ -6648,6 +6692,8 @@ a.close.disabled {
}
50% {
opacity: 1;
-webkit-transform: none;
transform: none;
}
}
@@ -6659,8 +6705,8 @@ a.close.disabled {
background-color: currentColor;
border-radius: 50%;
opacity: 0;
-webkit-animation: spinner-grow .75s linear infinite;
animation: spinner-grow .75s linear infinite;
-webkit-animation: .75s linear infinite spinner-grow;
animation: .75s linear infinite spinner-grow;
}
.spinner-grow-sm {
@@ -6668,6 +6714,14 @@ a.close.disabled {
height: 1rem;
}
@media (prefers-reduced-motion: reduce) {
.spinner-border,
.spinner-grow {
-webkit-animation-duration: 1.5s;
animation-duration: 1.5s;
}
}
.align-baseline {
vertical-align: baseline !important;
}
@@ -7933,6 +7987,26 @@ button.bg-dark:focus {
}
}
.user-select-all {
-webkit-user-select: all !important;
-moz-user-select: all !important;
user-select: all !important;
}
.user-select-auto {
-webkit-user-select: auto !important;
-moz-user-select: auto !important;
-ms-user-select: auto !important;
user-select: auto !important;
}
.user-select-none {
-webkit-user-select: none !important;
-moz-user-select: none !important;
-ms-user-select: none !important;
user-select: none !important;
}
.overflow-auto {
overflow: auto !important;
}
@@ -8088,18 +8162,6 @@ button.bg-dark:focus {
height: 100vh !important;
}
.stretched-link::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
pointer-events: auto;
content: "";
background-color: rgba(0, 0, 0, 0);
}
.m-0 {
margin: 0 !important;
}
@@ -9912,6 +9974,18 @@ button.bg-dark:focus {
}
}
.stretched-link::after {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
pointer-events: auto;
content: "";
background-color: rgba(0, 0, 0, 0);
}
.text-monospace {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}
@@ -10128,7 +10202,7 @@ a.text-dark:hover, a.text-dark:focus {
.text-break {
word-break: break-word !important;
overflow-wrap: break-word !important;
word-wrap: break-word !important;
}
.text-reset {
File diff suppressed because one or more lines are too long
+5 -5
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+365 -119
View File
@@ -10,12 +10,17 @@ namespace NKC_WF.Controllers
{
public class BatchProcController : ApiController
{
#region Protected Fields
/// <summary>
/// oggetto static/singleton per fare chiamate sul datalayer
/// </summary>
protected DataLayer DLMan = new DataLayer();
#endregion Protected Fields
#region Public Methods
/// <summary>
/// Restituisce SE C'E' la richiesta di elaborazione BATCH corrente
/// </summary>
@@ -91,6 +96,7 @@ namespace NKC_WF.Controllers
public string Post()
{
string answ = "";
bool isSplitReq = false;
// questa classe è derivata da Controller.Response... x cui recupero lo stream in altro modo...
string content = "";
System.Web.HttpContext.Current.Request.InputStream.Position = 0;
@@ -112,7 +118,7 @@ namespace NKC_WF.Controllers
// procedura idempotente: elimino eventuali dati della "busta" precedente...
DLMan.taEL.deteteByParent("", batchProcAnsw.EnvNum);
// se ho errori inizio a salvarli...
if (batchProcAnsw.ErrorList.Count > 0)
if (batchProcAnsw.ErrorList != null && batchProcAnsw.ErrorList.Count > 0)
{
// ora insert
foreach (var item in batchProcAnsw.ErrorList)
@@ -130,152 +136,387 @@ namespace NKC_WF.Controllers
* - è stima iniziale o NEST dettagliato
* - si tratta di una stima di validazione ITEM ...
*
* 2021.07.21: aggiunto controllo coerenza risposta: accetto solo se sono in stato di richiesta (se ho annullato in precedenza scarto la risposta)
*
*************************************************/
if (batchProcAnsw.OrderType == oType.BatchRequest)
{
// stima "classica"
if (batchProcAnsw.ProcType == 1)
{
int bStatus = 0;
// deserializzo come BatchreqIniziale (stima)
nestReplyBatchInitial rispStima = JsonConvert.DeserializeObject<nestReplyBatchInitial>(content);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveEstAnsw(rispStima);
// recupero info sul batch / KIT specifico x capire se sia di tipo "validation"
bool isValidation = false;
var tabOrd = DLMan.taOL.getByBatch(rispStima.BatchID);
if (tabOrd.Count > 0)
// verifica preliminare che il batch possa accettare la risposta
var currBatchStatus = ComLib.BStatus(rispStima.BatchID);
if (currBatchStatus != BatchStatus.EstimationRequested)
{
isValidation = tabOrd[0].OrdType == "V";
string message = $"Impossibile processing risposta da EgtNest | ProcType: {batchProcAnsw.ProcType} | BatchID: {rispStima.BatchID} | stato: {currBatchStatus}";
logger.lg.scriviLog(message, tipoLog.ERROR);
// registro KO
answ = "KO";
}
// calcolo status del batch...
switch (rispStima.ProcessStatus)
else
{
case procStatus.waiting:
case procStatus.running:
bStatus = 1;
break;
case procStatus.completed:
if (isValidation)
{
// verifico se il tempo di procesisng stimato sia > minimo...
if (rispStima.EstimatedWorktime > memLayer.ML.CRI("minValidEstSec"))
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveEstAnsw(rispStima);
// recupero info sul batch / KIT specifico x capire se sia di tipo "validation"
bool isValidation = false;
bool isTesting = false;
var tabOrd = DLMan.taOL.getByBatch(rispStima.BatchID);
if (tabOrd.Count > 0)
{
isValidation = tabOrd[0].OrdType == "V";
isTesting = tabOrd[0].OrdType == "T";
}
// calcolo status del batch...
switch (rispStima.ProcessStatus)
{
case procStatus.waiting:
case procStatus.running:
bStatus = 1;
break;
case procStatus.completed:
if (isValidation || isTesting)
{
bStatus = 10;
bool pdfOk = true;
// se richiesto CheckPDF
if (memLayer.ML.CRB("checkPdfPathTV"))
{
// verifico PDF, se NON OK --> errore
string pdfPath = "";
foreach (var item in rispStima.PartList)
{
pdfOk = pdfOk && ComLib.checkPdfExistAccessible(item, out pdfPath);
if (!pdfOk)
{
// codice è B.xxx dove xxx = BatchID
DLMan.taEL.insertQuery(DateTime.Now, "Check PDF path", $"B.{rispStima.BatchID}", $"{rispStima.BatchID}.{item.PartExtCode}", $"Error: PDF file not found: {pdfPath}");
}
}
}
// se non OK --> registro errore...
if (!pdfOk)
{
bStatus = 9;
}
// verifico se il tempo di procesisng stimato sia > minimo...
else if (rispStima.EstimatedWorktime > memLayer.ML.CRI("minValidEstSec"))
{
bStatus = 10;
}
else
{
bStatus = 9;
}
}
else
{
bStatus = 2;
}
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
if (isValidation || isTesting)
{
bStatus = 9;
}
}
else
{
bStatus = 2;
}
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
else
{
bStatus = 6;
}
break;
case procStatus.error:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 7;
}
break;
case procStatus.aborted:
default:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 0;
}
break;
}
// SALVO info riguardo al batch running
DLMan.taBL.updateStatus(rispStima.BatchID, bStatus, rispStima.EnvNum, (decimal)rispStima.EstimatedWorktime / 60);
// salvo update elenco ITEMS
ComLib.updatePartsFromNesting(rispStima.PartList);
// aggiorno cadPath x items che non abbiano valorizzato...
string dxfFolder = memLayer.ML.CRS("drawingFolder");
if (isTesting)
{
dxfFolder = memLayer.ML.CRS("fileTestFolder");
}
string cadBasePath = $"{memLayer.ML.CRS("nestBasePath")}{dxfFolder}/";
DLMan.taIL.updateCadPath(cadBasePath, rispStima.BatchID, false);
// verifico IN CASO di validazione andata a buon fine --> valorizzo tabella!
if (bStatus > 7)
{
if (isValidation)
{
bStatus = 9;
// recupero ordine da batch
if (tabOrd.Count > 0)
{
DLMan.taIV.upsertQuery(tabOrd[0].OrderExtCode, rispStima.BatchID, bStatus, rispStima.EstimatedWorktime);
}
}
else
else if (isTesting)
{
bStatus = 6;
// recupero ordine da batch
if (tabOrd.Count > 0)
{
DLMan.taFV.upsertQuery(tabOrd[0].OrderExtCode, rispStima.BatchID, bStatus, rispStima.EstimatedWorktime);
}
}
break;
case procStatus.error:
if (isValidation)
{
bStatus = 9;
}
else
{
bStatus = 7;
}
break;
case procStatus.aborted:
default:
if (isValidation)
{
bStatus = 9;
}
else
{
bStatus = 0;
}
break;
}
// registro OK
answ = "OK";
}
// SALVO info riguardo al batch running
DLMan.taBL.updateStatus(rispStima.BatchID, bStatus, rispStima.EnvNum, (decimal)rispStima.EstimatedWorktime / 60);
// salvo udpate elenco ITEMS
ComLib.updatePartsFromNesting(rispStima.PartList);
// aggiorno cadPath x items che non abbiano valorizzato...
string cadBasePath = $"{memLayer.ML.CRS("nestBasePath")}{memLayer.ML.CRS("drawingFolder")}/";
DLMan.taIL.updateCadPath(cadBasePath, rispStima.BatchID, false);
// verifico IN CASO di validazione andata a buon fine --> valorizzo tabella!
if (bStatus > 7)
}
// stima "extended" x splitting
else if (batchProcAnsw.ProcType == 3)
{
int bStatus = 0;
// deserializzo come BatchreqIniziale (stima)
nestReplyBatchExtEst rispStima = JsonConvert.DeserializeObject<nestReplyBatchExtEst>(content);
// verifica preliminare che il batch possa accettare la risposta
var currBatchStatus = ComLib.BStatus(rispStima.BatchID);
if (currBatchStatus != BatchStatus.EstimationRequested)
{
// recupero ordine da batch
string message = $"Impossibile processing risposta da EgtNest | ProcType: {batchProcAnsw.ProcType} | BatchID: {rispStima.BatchID} | stato: {currBatchStatus}";
logger.lg.scriviLog(message, tipoLog.ERROR);
// registro KO
answ = "KO";
}
else
{
// salvo su mongoDb la risposta...
ComLib.man.saveExtEstAnsw(rispStima);
// recupero info sul batch / KIT specifico x capire se sia di tipo "validation"
bool isValidation = false;
bool isTesting = false;
var tabOrd = DLMan.taOL.getByBatch(rispStima.BatchID);
if (tabOrd.Count > 0)
{
DLMan.taIV.upsertQuery(tabOrd[0].OrderExtCode, rispStima.BatchID, bStatus, rispStima.EstimatedWorktime);
isValidation = tabOrd[0].OrdType == "V";
isTesting = tabOrd[0].OrdType == "T";
}
// calcolo status del batch...
switch (rispStima.ProcessStatus)
{
case procStatus.waiting:
case procStatus.running:
bStatus = 1;
break;
case procStatus.completed:
if (isValidation || isTesting)
{
bool pdfOk = true;
// se richiesto CheckPDF
if (memLayer.ML.CRB("checkPdfPathTV"))
{
// verifico PDF, se NON OK --> errore
string pdfPath = "";
foreach (var item in rispStima.PartList)
{
pdfOk = pdfOk && ComLib.checkPdfExistAccessible(item, out pdfPath);
if (!pdfOk)
{
// codice è B.xxx dove xxx = BatchID
DLMan.taEL.insertQuery(DateTime.Now, "Check PDF path", $"B.{rispStima.BatchID}", $"{rispStima.BatchID}.{item.PartExtCode}", $"Error: PDF file not found: {pdfPath}");
}
}
}
// se non OK --> registro errore...
if (!pdfOk)
{
bStatus = 9;
}
// verifico se il tempo di procesisng stimato sia > minimo...
else if (rispStima.EstimatedWorktime > memLayer.ML.CRI("minValidEstSec"))
{
bStatus = 10;
}
else
{
bStatus = 9;
}
}
else
{
bStatus = 2;
}
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 6;
}
break;
case procStatus.error:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 7;
}
break;
case procStatus.aborted:
default:
if (isValidation || isTesting)
{
bStatus = 9;
}
else
{
bStatus = 0;
}
break;
}
// SALVO info riguardo al batch running
DLMan.taBL.updateStatus(rispStima.BatchID, bStatus, rispStima.EnvNum, (decimal)rispStima.EstimatedWorktime / 60);
// salvo update elenco ITEMS
if (rispStima.PartList != null && rispStima.PartList.Count > 0)
{
ComLib.updatePartsFromNesting(rispStima.PartList);
}
// aggiorno la risposta dei tempi di esecuzione (+ NUM cart/part) degli ordini x permettere aggiustamenti
if (rispStima.EstOrderList != null && rispStima.EstOrderList.Count > 0)
{
ComLib.updateExtEstimFromNesting(rispStima.BatchID, rispStima.EstOrderList);
}
// aggiorno cadPath x items che non abbiano valorizzato...
string dxfFolder = memLayer.ML.CRS("drawingFolder");
if (isTesting)
{
dxfFolder = memLayer.ML.CRS("fileTestFolder");
}
string cadBasePath = $"{memLayer.ML.CRS("nestBasePath")}{dxfFolder}/";
DLMan.taIL.updateCadPath(cadBasePath, rispStima.BatchID, false);
// registro OK
answ = "OK";
}
// registro OK
answ = "OK";
}
else
// nesting
else if (batchProcAnsw.ProcType == 2)
{
// deserializzo come BatchreqFinale
nestReplyBatchFinal rispNest = JsonConvert.DeserializeObject<nestReplyBatchFinal>(content);
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveNestAnsw(rispNest);
// verifica preliminare che il batch possa accettare la risposta
var currBatchStatus = ComLib.BStatus(rispNest.BatchID);
if (currBatchStatus != BatchStatus.NestRequested)
{
string message = $"Impossibile processing risposta da EgtNest | ProcType: {batchProcAnsw.ProcType} | BatchID: {rispNest.BatchID} | stato: {currBatchStatus}";
logger.lg.scriviLog(message, tipoLog.ERROR);
// registro KO
answ = "KO";
}
else
{
// calcolo status del batch...
int bStatus = 2;
switch (rispNest.ProcessStatus)
{
case procStatus.waiting:
case procStatus.running:
bStatus = 3;
break;
case procStatus.completed:
bStatus = 4;
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
bStatus = 6;
break;
case procStatus.error:
bStatus = 7;
break;
case procStatus.aborted:
default:
bStatus = 2;
break;
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveNestAnsw(rispNest);
// calcolo status del batch...
int bStatus = 2;
switch (rispNest.ProcessStatus)
{
case procStatus.waiting:
case procStatus.running:
bStatus = 3;
break;
case procStatus.completed:
bStatus = 4;
break;
case procStatus.accepted:
bStatus = 5;
break;
case procStatus.refused:
bStatus = 6;
break;
case procStatus.error:
bStatus = 7;
break;
case procStatus.aborted:
default:
bStatus = 2;
break;
}
// aggiorno il resto SOLO SE status == completo...
if (rispNest.ProcessStatus == procStatus.completed || rispNest.ProcessStatus == procStatus.error)
{
// resetto le precedenti elaborazioni: elimino dati child MA NON il batch...
DLMan.taBL.resetTree(rispNest.BatchID);
// SALVO info riguardo al batch completato
DLMan.taBL.updateStatus(rispNest.BatchID, bStatus, rispNest.EnvNum, (decimal)rispNest.EstimatedWorktime / 60);
// salvo info riguardo ai vari Bunk / Sheets / Items...
if (rispNest.BunkList != null && rispNest.BunkList.Count > 0)
{
ComLib.updateBunksFromNesting(rispNest.BatchID, rispNest.BunkList);
}
// salvo info x CART & BINS previsti
if (rispNest.BinList != null && rispNest.BinList.Count > 0)
{
ComLib.updateBinsFromNesting(rispNest.BatchID, rispNest.BinList);
}
if (rispNest.CartList != null && rispNest.CartList.Count > 0)
{
ComLib.updateCartsFromNesting(rispNest.BatchID, rispNest.CartList);
}
isSplitReq = ComLib.checkSendBatchSplit(rispNest.BatchID);
}
// registro OK
answ = "OK";
}
// aggiorno il resto SOLO SE status == completo...
if (rispNest.ProcessStatus == procStatus.completed || rispNest.ProcessStatus == procStatus.error)
{
// resetto le precedenti elaborazioni: elimino dati child MA NON il batch...
DLMan.taBL.resetTree(rispNest.BatchID);
// SALVO info riguardo al batch completato
DLMan.taBL.updateStatus(rispNest.BatchID, bStatus, rispNest.EnvNum, (decimal)rispNest.EstimatedWorktime / 60);
// salvo info riguardo ai vari Bunk / Sheets / Items...
ComLib.updateBunksFromNesting(rispNest.BatchID, rispNest.BunkList);
// salvo info x CART & BINS previsti
ComLib.updateBinsFromNesting(rispNest.BatchID, rispNest.BinList);
ComLib.updateCartsFromNesting(rispNest.BatchID, rispNest.CartList);
}
// registro OK
answ = "OK";
}
}
else if (batchProcAnsw.OrderType == oType.OfflineOrder)
@@ -329,24 +570,29 @@ namespace NKC_WF.Controllers
answ = "WRONG DATA (expected baseNestAnsw object)";
}
}
catch(Exception exc)
catch (Exception exc)
{
answ = "NO";
}
// se tutto OK --> tolgo ultimo batch
if (answ == "OK")
{
// invio notifica che c'è una busta da processare
bool resetOk = ComLib.resetBatchReq();
// se tutto ok e ci sono da validare parts --> procedo!
if (resetOk)
// se è una split req --> NON resetto...
if (!isSplitReq)
{
bool nextValidSent = ComLib.sendFirstValidationBatch();
// invio notifica che c'è una busta da processare
bool resetOk = ComLib.resetBatchReq();
// se tutto ok e ci sono da validare parts --> procedo!
if (resetOk)
{
bool nextValidSent = ComLib.sendFirstValidationBatch();
}
}
}
// restituisco risposta
return answ;
}
#endregion Public Methods
}
}
}
+52 -48
View File
@@ -8,14 +8,22 @@ namespace NKC_WF.Controllers
{
public class BunkController : ApiController
{
#region Protected Fields
/// <summary>
/// COdice macchina (HARD CODED)
/// </summary>
protected string CodPost = "WRK001";
/// <summary>
/// oggetto static/singleton per fare chiamate sul datalayer
/// </summary>
protected DataLayer DLMan = new DataLayer();
/// <summary>
/// COdice macchina (HARD CODED)
/// </summary>
protected string machine = "WRK001";
#endregion Protected Fields
#region Public Methods
/// <summary>
/// Restituisce il FIRST BUNK da lavorare
/// GET: api/Bunk
@@ -27,7 +35,7 @@ namespace NKC_WF.Controllers
ProdBunk answ = null;
try
{
answ = ComLib.prodGetFirstBunk();
answ = ComLib.prodGetFirstBunk(CodPost);
}
catch
{ }
@@ -42,18 +50,19 @@ namespace NKC_WF.Controllers
/// <param name="showNext"></param>
/// <returns></returns>
[HttpGet]
public ProdBunk Get(int id, bool showNext)
public ProdBunk Get(int id, bool showNext, string machine)
{
ProdBunk answ = null;
CodPost = machine;
try
{
if (showNext)
{
answ = ComLib.prodGetNextBunk(id);
answ = ComLib.prodGetNextBunk(id, CodPost);
}
else
{
answ = ComLib.prodGetBunk(id);
answ = ComLib.prodGetBunk(id, CodPost);
}
}
catch
@@ -63,9 +72,9 @@ namespace NKC_WF.Controllers
/************************************
* METODI PUT
*
*
* per abilitare è necessario agire sulla conf di IIS:
*
*
* - modificare il file applicationHost.config che si trova in C:\Windows\System32\inetsrv\config
* - disinstallare webDav oppure commentare le righe
* <!-- <add name="WebDAVModule" /> -->
@@ -74,44 +83,9 @@ namespace NKC_WF.Controllers
* - aggiungere PUT/DELETE a handler:
* <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
* <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
*
*
**************************************/
/// <summary>
/// Effettua la chiamata di update
/// </summary>
/// <param name="id"></param>
/// <param name="value"></param>
// PUT: api/Bunk/5
[HttpPut]
public void Put(ProdBunk currBunk)
{
// NB. decodifico direttamente come oggetto, vedere qui:
// https://weblog.west-wind.com/posts/2013/dec/13/accepting-raw-request-body-content-with-aspnet-web-api
// https://weblog.west-wind.com/posts/2017/sep/14/accepting-raw-request-body-content-in-aspnet-core-api-controllers
// se non nullo...
if (currBunk != null)
{
foreach (var item in currBunk.SheetList)
{
DLMan.taSHL.updateDate(item.SheetId, item.Printing.DtStart, item.Printing.DtEnd, item.Machining.DtStart, item.Machining.DtEnd, item.Unloading.DtStart, item.Unloading.DtEnd, (int)item.Status);
// verifico SE SIA AVVENUTO CON SUCCESSO lo step di lavorazione...
if (item.Machining.Success)
{
// SE machining completato --> status a LAVORATO!
if (item.Machining.DtEnd != null)
{
DLMan.taIL.updateSheetStatus(item.SheetId, 1, "PROD");
}
}
}
}
// INVALIDO eventuale valore BUNK in REDIS...
ComLib.resetRedisBunkData(machine);
}
/// <summary>
/// Processa una chiamata POST per l'invio in blocco status BUNK
/// POST: api/Bunk
@@ -142,7 +116,6 @@ namespace NKC_WF.Controllers
{
// calcolo stsatus dalle date valide...
DLMan.taSHL.updateDate(item.SheetId, item.Printing.DtStart, item.Printing.DtEnd, item.Machining.DtStart, item.Machining.DtEnd, item.Unloading.DtStart, item.Unloading.DtEnd, (int)item.Status);
// SE machining completato --> status a LAVORATO!
if (item.Machining.DtEnd != null)
@@ -162,5 +135,36 @@ namespace NKC_WF.Controllers
return answ;
}
/// <summary>
/// Effettua la chiamata di update
/// </summary>
/// <param name="id"></param>
/// <param name="value"></param>
// PUT: api/Bunk/5
[HttpPut]
public void Put(ProdBunk currBunk)
{
// NB. decodifico direttamente come oggetto, vedere qui:
// https://weblog.west-wind.com/posts/2013/dec/13/accepting-raw-request-body-content-with-aspnet-web-api
// https://weblog.west-wind.com/posts/2017/sep/14/accepting-raw-request-body-content-in-aspnet-core-api-controllers
// se non nullo...
if (currBunk != null)
{
foreach (var item in currBunk.SheetList)
{
DLMan.taSHL.updateDate(item.SheetId, item.Printing.DtStart, item.Printing.DtEnd, item.Machining.DtStart, item.Machining.DtEnd, item.Unloading.DtStart, item.Unloading.DtEnd, (int)item.Status);
// SE machining completato --> status a LAVORATO!
if (item.Machining.DtEnd != null)
{
DLMan.taIL.updateSheetStatus(item.SheetId, 1, "PROD");
}
}
}
// INVALIDO eventuale valore BUNK in REDIS...
ComLib.resetRedisBunkData(CodPost);
}
#endregion Public Methods
}
}
}
+122
View File
@@ -0,0 +1,122 @@
using AppData;
using Newtonsoft.Json;
using NKC_SDK;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web.Http;
namespace NKC_WF.Controllers
{
/// <summary>
/// Classe controller per gestione eventi stats
/// Riceve una lista di 1..n eventi con
/// * CodMacchina
/// * DataOra
/// * Codice (Evento/stato) - codice 00 = KeepAlive, imposto dataora/drift
/// * Valore/Descrizione
///
/// e la salva su DB per successiva elaborazione
/// </summary>
public class MachineStatController : ApiController
{
#region Protected Fields
/// <summary>
/// oggetto static/singleton per fare chiamate sul datalayer
/// </summary>
protected DataLayer DLMan = new DataLayer();
/// <summary>
/// Codice macchina (HARD CODED)
/// </summary>
protected string machine = "WRK000";
#endregion Protected Fields
#region Public Methods
/// <summary>
/// Restituisce un array di stati macchina correnti
/// GET: api/MachineStat
/// </summary>
/// <returns></returns>
[HttpGet]
public MachineStatData Get()
{
MachineStatData answ = new MachineStatData();
try
{
answ = ComLib.prodMachStateDataGet(machine);
}
catch
{ }
// se vuoto metto 1 finto...
if (answ == null)
{
answ = new MachineStatData() { Machine = machine };
}
return answ;
}
/// <summary>
/// Fornisce il record dello stato macchina corrente
/// GET: api/MachineStat/WRK001
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public MachineStatData Get(string id)
{
MachineStatData answ = new MachineStatData() { Machine = id };
try
{
answ = ComLib.prodMachStateDataGet(id);
}
catch
{ }
return answ;
}
/************************************
* METODI PUT
*
* per abilitare è necessario agire sulla conf di IIS:
*
* - modificare il file applicationHost.config che si trova in C:\Windows\System32\inetsrv\config
* - disinstallare webDav oppure commentare le righe
* <!-- <add name="WebDAVModule" /> -->
* <!-- <add name="WebDAVModule" image="%windir%\System32\inetsrv\webdav.dll" /> -->
* <!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> -->
* - aggiungere PUT/DELETE a handler:
* <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
* <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
*
**************************************/
/// <summary>
/// Effettua la chiamata di update x un set di dati delle macchine
/// </summary>
/// <param name="updatedInfo">Oggetto con macchina + Elenco record da aggiornare</param>
// PUT: api/Sheet
[HttpPut]
public void Put(MachineStatData updatedInfo)
{
// NB. decodifico direttamente come oggetto, vedere qui:
// https://weblog.west-wind.com/posts/2013/dec/13/accepting-raw-request-body-content-with-aspnet-web-api
// https://weblog.west-wind.com/posts/2017/sep/14/accepting-raw-request-body-content-in-aspnet-core-api-controllers
if (updatedInfo != null)
{
// mi limito a chiamnare procedura di update...
ComLib.prodMachStateDataInsert(updatedInfo);
}
}
#endregion Public Methods
}
}
@@ -1,5 +1,6 @@
using Newtonsoft.Json;
using SteamWare;
using SteamWare.Logger;
using System;
using System.Collections.Generic;
using System.IO;
@@ -10,6 +11,8 @@ namespace NKC_WF.Controllers
{
public class PrintQueueConfController : ApiController
{
#region Public Methods
/// <summary>
/// Restituisce un array JSon x le conf delle code di stampa
/// GET: api/PrintQueueConf
@@ -32,7 +35,7 @@ namespace NKC_WF.Controllers
}
catch (Exception exc)
{
Log.Instance.Error(exc, "Eccezione in decodifica file conf printQueue");
Logging.Instance.Error(exc, "Eccezione in decodifica file conf printQueue");
}
}
}
@@ -57,5 +60,6 @@ namespace NKC_WF.Controllers
return answ;
}
#endregion Public Methods
}
}
}
+69 -63
View File
@@ -8,6 +8,8 @@ namespace NKC_WF.Controllers
{
public class SheetController : ApiController
{
#region Protected Fields
/// <summary>
/// oggetto static/singleton per fare chiamate sul datalayer
/// </summary>
@@ -17,6 +19,11 @@ namespace NKC_WF.Controllers
/// COdice macchina (HARD CODED)
/// </summary>
protected string machine = "WRK001";
#endregion Protected Fields
#region Public Methods
/// <summary>
/// Restituisce un array di sheet da lavorare (quindi NON ancora scaricati, anche di + BUNK)
/// GET: api/Sheet
@@ -26,7 +33,7 @@ namespace NKC_WF.Controllers
public SheetWorkList Get()
{
// fisso su machcina 1
string machineName = "WRK001";
string machineName = "NE02";
SheetWorkList answ = null;
try
{
@@ -36,9 +43,10 @@ namespace NKC_WF.Controllers
{ }
return answ;
}
/// <summary>
/// Ottengo elenco specifico dato cod MACCHINA
/// GET: api/Sheet/WRK001
/// Ottengo elenco specifico dato cod MACCHINA (es NE01)
/// GET: api/Sheet/NE01
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
@@ -57,9 +65,9 @@ namespace NKC_WF.Controllers
/************************************
* METODI PUT
*
*
* per abilitare è necessario agire sulla conf di IIS:
*
*
* - modificare il file applicationHost.config che si trova in C:\Windows\System32\inetsrv\config
* - disinstallare webDav oppure commentare le righe
* <!-- <add name="WebDAVModule" /> -->
@@ -68,64 +76,9 @@ namespace NKC_WF.Controllers
* - aggiungere PUT/DELETE a handler:
* <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
* <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" />
*
*
**************************************/
/// <summary>
/// Effettua la chiamata di update x SINGOLO foglio
/// </summary>
/// <param name="sheetUpdated">Oggetto con Elenco fogli da aggiornare</param>
// PUT: api/Sheet/5
[HttpPut]
public void Put(SheetWorkList sheetUpdated)
{
// NB. decodifico direttamente come oggetto, vedere qui:
// https://weblog.west-wind.com/posts/2013/dec/13/accepting-raw-request-body-content-with-aspnet-web-api
// https://weblog.west-wind.com/posts/2017/sep/14/accepting-raw-request-body-content-in-aspnet-core-api-controllers
int BunkId = 0;
int BatchId = 0;
if (sheetUpdated != null)
{
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveProdAnsw(sheetUpdated);
if (sheetUpdated.SheetList != null)
{
foreach (var currSheet in sheetUpdated.SheetList)
{
// se non nullo...
if (currSheet != null)
{
DLMan.taSHL.updateDate(currSheet.SheetId, currSheet.Printing.DtStart, currSheet.Printing.DtEnd, currSheet.Machining.DtStart, currSheet.Machining.DtEnd, currSheet.Unloading.DtStart, currSheet.Unloading.DtEnd, (int)currSheet.Status);
// verifico SE SIA AVVENUTO CON SUCCESSO lo step di lavorazione...
if (currSheet.Machining.Success)
{
// SE machining completato --> status a LAVORATO!
if (currSheet.Machining.DtEnd != null)
{
// hard coded su multiax
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, machine);
}
}
// segnalo avanzamento su redis x pagina unload
ComLib.advaceSheetRevByBunk(currSheet.BunkId);
// calcolo Batch
BunkId = currSheet.BunkId;
}
}
var tabBunks = DLMan.taSTL.getByKey(BunkId);
if (tabBunks.Count > 0)
{
BatchId = tabBunks[0].BatchID;
}
}
// ricalcolo stato BUNK
ComLib.updateBatchPosition(BatchId);
// INVALIDO eventuale valore BUNK in REDIS...
ComLib.resetRedisBunkData(machine);
}
}
/// <summary>
/// Processa una chiamata POST per l'invio in blocco status BUNK
/// POST: api/Bunk
@@ -168,7 +121,7 @@ namespace NKC_WF.Controllers
if (currSheet.Machining.DtEnd != null)
{
// hard coded su multiax
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, "WRK001");
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, sheetUpdated.Machine);
}
// segnalo avanzamento su redis x pagina unload
ComLib.advaceSheetRevByBunk(currSheet.BunkId);
@@ -194,5 +147,58 @@ namespace NKC_WF.Controllers
}
return answ;
}
/// <summary>
/// Effettua la chiamata di update x SINGOLO foglio
/// </summary>
/// <param name="sheetUpdated">Oggetto con Elenco fogli da aggiornare</param>
/// PUT: api/Sheet/machine_ID
[HttpPut]
public void Put(SheetWorkList sheetUpdated)
{
// NB. decodifico direttamente come oggetto, vedere qui:
// https://weblog.west-wind.com/posts/2013/dec/13/accepting-raw-request-body-content-with-aspnet-web-api
// https://weblog.west-wind.com/posts/2017/sep/14/accepting-raw-request-body-content-in-aspnet-core-api-controllers
int BunkId = 0;
int BatchId = 0;
if (sheetUpdated != null)
{
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveProdAnsw(sheetUpdated);
if (sheetUpdated.SheetList != null)
{
foreach (var currSheet in sheetUpdated.SheetList)
{
// se non nullo...
if (currSheet != null)
{
DLMan.taSHL.updateDate(currSheet.SheetId, currSheet.Printing.DtStart, currSheet.Printing.DtEnd, currSheet.Machining.DtStart, currSheet.Machining.DtEnd, currSheet.Unloading.DtStart, currSheet.Unloading.DtEnd, (int)currSheet.Status);
// SE machining completato --> status a LAVORATO!
if (currSheet.Machining.DtEnd != null)
{
// hard coded su multiax
DLMan.taIL.updateSheetStatus(currSheet.SheetId, 1, sheetUpdated.Machine);
}
// segnalo avanzamento su redis x pagina unload
ComLib.advaceSheetRevByBunk(currSheet.BunkId);
// calcolo Batch
BunkId = currSheet.BunkId;
}
}
var tabBunks = DLMan.taSTL.getByKey(BunkId);
if (tabBunks.Count > 0)
{
BatchId = tabBunks[0].BatchID;
}
}
// ricalcolo stato BUNK
ComLib.updateBatchPosition(BatchId);
// INVALIDO eventuale valore BUNK in REDIS...
ComLib.resetRedisBunkData(sheetUpdated.Machine);
}
}
#endregion Public Methods
}
}
}
+126
View File
@@ -0,0 +1,126 @@
using AppData;
using Newtonsoft.Json;
using NKC_SDK;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Web.Http;
namespace NKC_WF.Controllers
{
public class SheetStatsController : ApiController
{
#region Protected Fields
/// <summary>
/// oggetto static/singleton per fare chiamate sul datalayer
/// </summary>
protected DataLayer DLMan = new DataLayer();
#endregion Protected Fields
#region Private Methods
/// <summary>
/// Metodo effettivo recupero dati
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
private List<chartJsTSerie> getDataFilt(int id)
{
List<chartJsTSerie> answ = new List<chartJsTSerie>();
var tabDati = DLMan.taSP.GetData(id);
DateTime startTime = DateTime.Now.AddYears(1);
// ciclo
foreach (var item in tabDati)
{
if (item.PrevTime < startTime)
{
startTime = item.PrevTime;
}
answ.Add(new chartJsTSerie() { x = item.PrevTime, y = item.NumParts });
}
// restituisco
return answ;
}
/// <summary>
/// Metodo effettivo recupero dati
/// </summary>
/// <param name="id"></param>
/// <param name="maxHour"></param>
/// <returns></returns>
private List<chartJsTSerie> getDataFilt(int id, int maxHour)
{
List<chartJsTSerie> answ = new List<chartJsTSerie>();
var tabDati = DLMan.taSP.GetData(id);
DateTime startTime = DateTime.Now.AddYears(1);
// ciclo
foreach (var item in tabDati)
{
if (item.PrevTime < startTime)
{
startTime = item.PrevTime;
}
answ.Add(new chartJsTSerie() { x = item.PrevTime, y = item.NumParts });
if (item.PrevTime > startTime.AddHours(maxHour))
{
break;
}
}
// restituisco
return answ;
}
#endregion Private Methods
#region Public Methods
// GET api/TempRil
public string Get()
{
return "NA";
}
/// <summary>
/// Recupero dati x batch selezionato
/// GET api/SheetStats/5
/// </summary>
/// <param name="id">BatchID</param>
/// <returns></returns>
public List<chartJsTSerie> Get(int id)
{
DateTime dtRif = DateTime.Today;
// restituisco oggetto!
return getDataFilt(id);
}
/// <summary>
/// Recupero dati x batch selezionato
/// GET api/SheetStats/5
/// </summary>
/// <param name="id">BatchID</param>
/// <param name="MaxHour">num max ore da mostrare</param>
/// <returns></returns>
public List<chartJsTSerie> Get(int id, int MaxHour)
{
List<chartJsTSerie> answ = new List<chartJsTSerie>();
// se maxHour < 0 --> mostro tutto
if (MaxHour < 0)
{
answ = getDataFilt(id);
}
else
{
answ = getDataFilt(id, MaxHour);
}
// restituisco oggetto!
return answ;
}
#endregion Public Methods
}
}
+2 -2
View File
@@ -12,7 +12,7 @@ namespace NKC_WF.Controllers
// GET api/getMUCssController
public HttpResponseMessage Get()
{
string answ = getCssByPost(0);
string answ = $"{getCssByPost(0)}";
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent(answ, Encoding.UTF8, "text/css")
@@ -22,7 +22,7 @@ namespace NKC_WF.Controllers
// GET api/getMUCssController/5
public HttpResponseMessage Get(int id)
{
string answ = getCssByPost(id);
string answ = $"{getCssByPost(id)}";
return new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new StringContent(answ, Encoding.UTF8, "text/css")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

@@ -0,0 +1,36 @@
is_global = true
build_property.TargetFramework =
build_property.TargetFramework =
build_property.TargetFramework =
build_property.TargetFramework =
build_property.TargetFramework =
build_property.TargetPlatformMinVersion =
build_property.TargetPlatformMinVersion =
build_property.TargetPlatformMinVersion =
build_property.TargetPlatformMinVersion =
build_property.TargetPlatformMinVersion =
build_property.UsingMicrosoftNETSdkWeb =
build_property.UsingMicrosoftNETSdkWeb =
build_property.UsingMicrosoftNETSdkWeb =
build_property.UsingMicrosoftNETSdkWeb =
build_property.UsingMicrosoftNETSdkWeb =
build_property.ProjectTypeGuids = {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
build_property.ProjectTypeGuids = {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
build_property.ProjectTypeGuids = {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
build_property.ProjectTypeGuids = {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
build_property.ProjectTypeGuids = {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}
build_property.PublishSingleFile =
build_property.PublishSingleFile =
build_property.PublishSingleFile =
build_property.PublishSingleFile =
build_property.PublishSingleFile =
build_property.IncludeAllContentForSelfExtract =
build_property.IncludeAllContentForSelfExtract =
build_property.IncludeAllContentForSelfExtract =
build_property.IncludeAllContentForSelfExtract =
build_property.IncludeAllContentForSelfExtract =
build_property._SupportedPlatformList =
build_property._SupportedPlatformList =
build_property._SupportedPlatformList =
build_property._SupportedPlatformList =
build_property._SupportedPlatformList =
+234 -101
View File
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.2.9.8\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.2.9.8\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props')" />
<Import Project="..\packages\Microsoft.NetFramework.Analyzers.2.9.8\build\Microsoft.NetFramework.Analyzers.props" Condition="Exists('..\packages\Microsoft.NetFramework.Analyzers.2.9.8\build\Microsoft.NetFramework.Analyzers.props')" />
<Import Project="..\packages\Microsoft.NetCore.Analyzers.2.9.8\build\Microsoft.NetCore.Analyzers.props" Condition="Exists('..\packages\Microsoft.NetCore.Analyzers.2.9.8\build\Microsoft.NetCore.Analyzers.props')" />
<Import Project="..\packages\Microsoft.CodeQuality.Analyzers.2.9.8\build\Microsoft.CodeQuality.Analyzers.props" Condition="Exists('..\packages\Microsoft.CodeQuality.Analyzers.2.9.8\build\Microsoft.CodeQuality.Analyzers.props')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.2.9.8\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.2.9.8\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.props')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props')" />
<Import Project="..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.props" Condition="Exists('..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.props')" />
<Import Project="..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.props" Condition="Exists('..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.props')" />
<Import Project="..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\build\Microsoft.CodeQuality.Analyzers.props" Condition="Exists('..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\build\Microsoft.CodeQuality.Analyzers.props')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.props" Condition="Exists('..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.props')" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props" Condition="Exists('packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
@@ -52,29 +51,29 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="AegisImplicitMail, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AIM.1.0.3\lib\AegisImplicitMail.dll</HintPath>
<Reference Include="AegisImplicitMail, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AIM.1.1.0\lib\netstandard2.0\AegisImplicitMail.dll</HintPath>
</Reference>
<Reference Include="AjaxControlToolkit, Version=19.1.0.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL">
<HintPath>..\packages\AjaxControlToolkit.19.1.0\lib\net40\AjaxControlToolkit.dll</HintPath>
<Reference Include="AjaxControlToolkit, Version=20.1.0.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL">
<HintPath>..\packages\AjaxControlToolkit.20.1.0\lib\net40\AjaxControlToolkit.dll</HintPath>
</Reference>
<Reference Include="AspNet.ScriptManager.bootstrap, Version=4.4.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.bootstrap.4.4.1\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath>
<Reference Include="AspNet.ScriptManager.bootstrap, Version=4.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.bootstrap.4.6.0\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath>
</Reference>
<Reference Include="AspNet.ScriptManager.jQuery, Version=3.4.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.jQuery.3.4.1\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath>
<Reference Include="AspNet.ScriptManager.jQuery, Version=3.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.jQuery.3.6.0\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath>
</Reference>
<Reference Include="Crc32C.NET, Version=1.0.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Crc32C.NET.1.0.5.0\lib\net20\Crc32C.NET.dll</HintPath>
</Reference>
<Reference Include="DnsClient, Version=1.3.1.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.3.1\lib\net45\DnsClient.dll</HintPath>
<Reference Include="DnsClient, Version=1.5.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.5.0\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="Elmah, Version=1.2.14706.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\elmah.corelibrary.1.2.2\lib\Elmah.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.2.0.246, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.2.0\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.2.10, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.2\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.SessionState.SessionStateModule, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.SessionState.SessionStateModule.1.1.0\lib\Net462\Microsoft.AspNet.SessionState.SessionStateModule.dll</HintPath>
@@ -82,33 +81,33 @@
<Reference Include="Microsoft.AspNet.Web.Optimization.WebForms, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Web.Optimization.WebForms.1.1.3\lib\net45\Microsoft.AspNet.Web.Optimization.WebForms.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.1\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Web.RedisSessionStateProvider, Version=4.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.RedisSessionStateProvider.4.0.1\lib\net462\Microsoft.Web.RedisSessionStateProvider.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.11.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.11.0\lib\net452\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.13.1\lib\net452\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.11.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.11.0\lib\net452\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.13.1\lib\net452\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.11.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.11.0\lib\net452\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.13.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.13.1\lib\net452\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.0.0\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.Libmongocrypt, Version=1.2.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.2\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.3\lib\net45\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.10\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.dll</HintPath>
@@ -117,19 +116,24 @@
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.Charting.dll</HintPath>
</Reference>
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.1.16\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="SharpCompress, Version=0.26.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.26.0\lib\net46\SharpCompress.dll</HintPath>
<Reference Include="SharpCompress, Version=0.28.3.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.28.3\lib\netstandard2.0\SharpCompress.dll</HintPath>
</Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
</Reference>
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.1.58\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.2.62\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=4.1.2008.736, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.4.1.2008.736\lib\net462\SteamWare.dll</HintPath>
<Reference Include="SteamWare, Version=5.1.2108.1115, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2108.1115\lib\net462\SteamWare.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.1.2108.1115, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2108.1115\lib\net462\SteamWare.Logger.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
@@ -139,16 +143,16 @@
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.4.7.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
<Reference Include="System.Diagnostics.PerformanceCounter, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.5.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.IO.Pipelines, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.4.7.1\lib\netstandard2.0\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Pipelines, Version=5.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.5.0.1\lib\net461\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
@@ -165,8 +169,8 @@
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
@@ -174,34 +178,40 @@
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.Pkcs, Version=5.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.5.0.1\lib\net461\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Threading.Channels, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.4.7.1\lib\net461\System.Threading.Channels.dll</HintPath>
<Reference Include="System.Text.Encoding.CodePages, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encoding.CodePages.5.0.0\lib\net461\System.Text.Encoding.CodePages.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Channels, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.Helpers.dll</HintPath>
@@ -278,6 +288,8 @@
<Content Include="Content\bootstrap-reboot.min.css" />
<Content Include="Content\bootstrap.css" />
<Content Include="Content\bootstrap.min.css" />
<Content Include="Content\Chart.css" />
<Content Include="Content\Chart.min.css" />
<Content Include="Content\SheetColor.css">
<DependentUpon>SheetColor.less</DependentUpon>
</Content>
@@ -298,14 +310,8 @@
<Content Include="export\BunkDetail.aspx" />
<Content Include="Home.aspx" />
<Content Include="Images\999999999.svg" />
<Content Include="Images\LogoEgaltech.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Images\LogoSteamware.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Images\LogoEgalware.png" />
<Content Include="Images\test.svg" />
<Content Include="mongocrypt.dll" />
<Content Include="Resources\ChangeLog.html">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@@ -319,10 +325,36 @@
<Content Include="Scripts\bootstrap.bundle.min.js" />
<Content Include="Scripts\bootstrap.js" />
<Content Include="Scripts\bootstrap.min.js" />
<Content Include="Scripts\Chart.js" />
<Content Include="Scripts\Chart.min.js" />
<Content Include="Scripts\chartjs-plugin-zoom%40next.js" />
<Content Include="Scripts\esm\popper-utils.js" />
<Content Include="Scripts\esm\popper-utils.min.js" />
<Content Include="Scripts\esm\popper.js" />
<Content Include="Scripts\esm\popper.min.js" />
<Content Include="Scripts\hammerjs%402.0.8.js" />
<Content Include="Scripts\bootstrap.min.js.map" />
<Content Include="Scripts\bootstrap.js.map" />
<Content Include="Scripts\bootstrap.bundle.min.js.map" />
<Content Include="Scripts\bootstrap.bundle.js.map" />
<Content Include="Content\bootstrap.min.css.map" />
<Content Include="Content\bootstrap.css.map" />
<Content Include="Content\bootstrap-reboot.min.css.map" />
<Content Include="Content\bootstrap-reboot.css.map" />
<Content Include="Content\bootstrap-grid.min.css.map" />
<Content Include="Content\bootstrap-grid.css.map" />
<Content Include="NLog.config" />
<Content Include="App_Readme\SteamWare_demo\example-NLog.config" />
<Content Include="App_Readme\SteamWare_demo\example-app.config" />
<None Include="Scripts\jquery-3.6.0.intellisense.js" />
<Content Include="Scripts\jquery-3.6.0.js" />
<Content Include="Scripts\jquery-3.6.0.min.js" />
<Content Include="Scripts\jquery-3.6.0.slim.js" />
<Content Include="Scripts\jquery-3.6.0.slim.min.js" />
<Content Include="Scripts\moment-with-locales.js" />
<Content Include="Scripts\moment-with-locales.min.js" />
<Content Include="Scripts\moment.js" />
<Content Include="Scripts\moment.min.js" />
<Content Include="Scripts\popper-utils.js" />
<Content Include="Scripts\popper-utils.min.js" />
<Content Include="Scripts\popper.js" />
@@ -410,6 +442,7 @@
</Content>
<Content Include="site\DBG_QRCode_Unload.aspx" />
<Content Include="site\DevUtils.aspx" />
<Content Include="site\DxfValidation.aspx" />
<Content Include="site\ErrorsLog.aspx" />
<Content Include="site\ForceReload.aspx" />
<Content Include="site\GlobalSearch.aspx" />
@@ -428,6 +461,7 @@
<Content Include="site\MachineOffline.aspx" />
<Content Include="site\MachineUnload.aspx" />
<Content Include="site\MachineUnloadSmart.aspx" />
<Content Include="site\OrderHistory.aspx" />
<Content Include="site\OrderManager.aspx" />
<Content Include="site\OrderScheduler.aspx" />
<Content Include="site\OtherItems.aspx" />
@@ -435,6 +469,7 @@
<Content Include="site\PaintingSmart.aspx" />
<Content Include="site\PartMIA.aspx" />
<Content Include="site\PartValidation.aspx" />
<Content Include="site\PlannerReports.aspx" />
<Content Include="site\SecondScreen.aspx" />
<Content Include="site\SvgFull.aspx" />
<Content Include="site\TestAuth.aspx" />
@@ -443,6 +478,10 @@
<Content Include="site\UpdMan.aspx" />
<Content Include="WebUserControls\cmp_barcode.ascx" />
<Content Include="WebUserControls\cmp_batchDetail.ascx" />
<Content Include="WebUserControls\cmp_batchDetailData.ascx" />
<Content Include="WebUserControls\cmp_batchDetailMongo.ascx" />
<Content Include="WebUserControls\cmp_batchDetailSplit.ascx" />
<Content Include="WebUserControls\cmp_batchDetailSplitInfo.ascx" />
<Content Include="WebUserControls\cmp_batchList.ascx" />
<Content Include="WebUserControls\cmp_binDetIRK.ascx" />
<Content Include="WebUserControls\cmp_BP_bunkList.ascx" />
@@ -484,6 +523,8 @@
<Content Include="WebUserControls\cmp_KS_OtherItemsCart.ascx" />
<Content Include="WebUserControls\cmp_labelsPrint.ascx" />
<Content Include="WebUserControls\cmp_login.ascx" />
<Content Include="WebUserControls\cmp_MachSelSmart.ascx" />
<Content Include="WebUserControls\cmp_MachSem.ascx" />
<Content Include="WebUserControls\cmp_ML_ShDet.ascx" />
<Content Include="WebUserControls\cmp_MU_carts.ascx" />
<Content Include="WebUserControls\cmp_MU_Items.ascx" />
@@ -496,6 +537,7 @@
<Content Include="WebUserControls\cmp_offOrderDetail.ascx" />
<Content Include="WebUserControls\cmp_OOIL_drawings.ascx" />
<Content Include="WebUserControls\cmp_OOLI_detail.ascx" />
<Content Include="WebUserControls\cmp_orderExtList.ascx" />
<Content Include="WebUserControls\cmp_orderPrint.ascx" />
<Content Include="WebUserControls\cmp_orderRunning.ascx" />
<Content Include="WebUserControls\cmp_orderSched.ascx" />
@@ -511,6 +553,7 @@
<Content Include="WebUserControls\cmp_searchBin.ascx" />
<Content Include="WebUserControls\cmp_searchItems.ascx" />
<Content Include="WebUserControls\cmp_secScreen.ascx" />
<Content Include="WebUserControls\cmp_SheetsStats.ascx" />
<Content Include="WebUserControls\cmp_slider.ascx" />
<Content Include="WebUserControls\cmp_StackBuildDetail.ascx" />
<Content Include="WebUserControls\cmp_stackBuilding.ascx" />
@@ -527,8 +570,6 @@
<Content Include="WebUserControls\mod_righePag.ascx" />
<Content Include="WebUserControls\mod_vocabolario.ascx" />
<Content Include="WebUserControls\tpl_WIP.ascx" />
<Content Include="App_Readme\SteamWare_demo\example-NLog.config" />
<Content Include="App_Readme\SteamWare_demo\example-app.config" />
<None Include="compilerconfig.json" />
<None Include="compilerconfig.json.defaults">
<DependentUpon>compilerconfig.json</DependentUpon>
@@ -564,12 +605,6 @@
<Content Include="Content\OpenSansCondensed.woff">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Content\bootstrap.min.css.map" />
<Content Include="Content\bootstrap.css.map" />
<Content Include="Content\bootstrap-reboot.min.css.map" />
<Content Include="Content\bootstrap-reboot.css.map" />
<Content Include="Content\bootstrap-grid.min.css.map" />
<Content Include="Content\bootstrap-grid.css.map" />
<Content Include="Content\Roboto.woff2">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
@@ -586,10 +621,6 @@
<Content Include="Empty.Master" />
<None Include="Properties\PublishProfiles\IIS01.pubxml" />
<None Include="Properties\PublishProfiles\IIS02.pubxml" />
<Content Include="Scripts\bootstrap.min.js.map" />
<Content Include="Scripts\bootstrap.js.map" />
<Content Include="Scripts\bootstrap.bundle.min.js.map" />
<Content Include="Scripts\bootstrap.bundle.js.map" />
<Content Include="Scripts\index.js.flow" />
<Content Include="Scripts\esm\popper.min.js.map" />
<Content Include="Scripts\esm\popper.js.map" />
@@ -616,11 +647,6 @@
<Content Include="Reports\OtherPart.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<None Include="Scripts\jquery-3.4.1.intellisense.js" />
<Content Include="Scripts\jquery-3.4.1.js" />
<Content Include="Scripts\jquery-3.4.1.min.js" />
<Content Include="Scripts\jquery-3.4.1.slim.js" />
<Content Include="Scripts\jquery-3.4.1.slim.min.js" />
<Content Include="Scripts\modernizr-2.8.3.js" />
<Content Include="Scripts\WebForms\DetailsView.js" />
<Content Include="Scripts\WebForms\Focus.js" />
@@ -656,6 +682,8 @@
<Compile Include="Compressor.cs" />
<Compile Include="Controllers\AliveController.cs" />
<Compile Include="Controllers\getMUSheetRevController.cs" />
<Compile Include="Controllers\MachineStatController.cs" />
<Compile Include="Controllers\SheetStatsController.cs" />
<Compile Include="Controllers\PrintQueueController.cs" />
<Compile Include="Controllers\PrintQueueConfController.cs" />
<Compile Include="Controllers\PrintQueueLenController.cs" />
@@ -808,6 +836,13 @@
<Compile Include="site\DevUtils.aspx.designer.cs">
<DependentUpon>DevUtils.aspx</DependentUpon>
</Compile>
<Compile Include="site\DxfValidation.aspx.cs">
<DependentUpon>DxfValidation.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\DxfValidation.aspx.designer.cs">
<DependentUpon>DxfValidation.aspx</DependentUpon>
</Compile>
<Compile Include="site\ErrorsLog.aspx.cs">
<DependentUpon>ErrorsLog.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -923,6 +958,13 @@
<Compile Include="site\MachineUnloadSmart.aspx.designer.cs">
<DependentUpon>MachineUnloadSmart.aspx</DependentUpon>
</Compile>
<Compile Include="site\OrderHistory.aspx.cs">
<DependentUpon>OrderHistory.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\OrderHistory.aspx.designer.cs">
<DependentUpon>OrderHistory.aspx</DependentUpon>
</Compile>
<Compile Include="site\OrderManager.aspx.cs">
<DependentUpon>OrderManager.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -973,6 +1015,13 @@
<DependentUpon>PartValidation.aspx</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="site\PlannerReports.aspx.cs">
<DependentUpon>PlannerReports.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\PlannerReports.aspx.designer.cs">
<DependentUpon>PlannerReports.aspx</DependentUpon>
</Compile>
<Compile Include="site\SecondScreen.aspx.cs">
<DependentUpon>SecondScreen.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1057,6 +1106,34 @@
<Compile Include="WebUserControls\cmp_batchDetail.ascx.designer.cs">
<DependentUpon>cmp_batchDetail.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_batchDetailData.ascx.cs">
<DependentUpon>cmp_batchDetailData.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_batchDetailData.ascx.designer.cs">
<DependentUpon>cmp_batchDetailData.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_batchDetailMongo.ascx.cs">
<DependentUpon>cmp_batchDetailMongo.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_batchDetailMongo.ascx.designer.cs">
<DependentUpon>cmp_batchDetailMongo.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_batchDetailSplit.ascx.cs">
<DependentUpon>cmp_batchDetailSplit.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_batchDetailSplit.ascx.designer.cs">
<DependentUpon>cmp_batchDetailSplit.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_batchDetailSplitInfo.ascx.cs">
<DependentUpon>cmp_batchDetailSplitInfo.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_batchDetailSplitInfo.ascx.designer.cs">
<DependentUpon>cmp_batchDetailSplitInfo.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_batchList.ascx.cs">
<DependentUpon>cmp_batchList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1122,6 +1199,7 @@
</Compile>
<Compile Include="WebUserControls\cmp_fileUpload.ascx.cs">
<DependentUpon>cmp_fileUpload.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_fileUpload.ascx.designer.cs">
<DependentUpon>cmp_fileUpload.ascx</DependentUpon>
@@ -1357,6 +1435,20 @@
<Compile Include="WebUserControls\cmp_login.ascx.designer.cs">
<DependentUpon>cmp_login.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_MachSelSmart.ascx.cs">
<DependentUpon>cmp_MachSelSmart.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_MachSelSmart.ascx.designer.cs">
<DependentUpon>cmp_MachSelSmart.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_MachSem.ascx.cs">
<DependentUpon>cmp_MachSem.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_MachSem.ascx.designer.cs">
<DependentUpon>cmp_MachSem.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_menuTop.ascx.cs">
<DependentUpon>cmp_menuTop.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1448,6 +1540,13 @@
<Compile Include="WebUserControls\cmp_OOLI_detail.ascx.designer.cs">
<DependentUpon>cmp_OOLI_detail.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_orderExtList.ascx.cs">
<DependentUpon>cmp_orderExtList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_orderExtList.ascx.designer.cs">
<DependentUpon>cmp_orderExtList.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_orderPrint.ascx.cs">
<DependentUpon>cmp_orderPrint.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1553,6 +1652,13 @@
<Compile Include="WebUserControls\cmp_secScreen.ascx.designer.cs">
<DependentUpon>cmp_secScreen.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_SheetsStats.ascx.cs">
<DependentUpon>cmp_SheetsStats.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_SheetsStats.ascx.designer.cs">
<DependentUpon>cmp_SheetsStats.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_slider.ascx.cs">
<DependentUpon>cmp_slider.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1672,8 +1778,6 @@
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
<Content Include="Scripts\jquery-3.4.1.slim.min.map" />
<Content Include="Scripts\jquery-3.4.1.min.map" />
<Content Include="SiteContent.master" />
<Content Include="temp\PlaceHolder.file">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@@ -1692,12 +1796,19 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="temp\none.pdf" />
<Content Include="Scripts\moment.min.js.map" />
<Content Include="Scripts\moment-with-locales.min.js.map" />
<Content Include="Scripts\jquery-3.6.0.slim.min.map" />
<Content Include="Scripts\jquery-3.6.0.min.map" />
<None Include="Web.Debug-LELE.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.IIS02.config">
<DependentUpon>Web.config</DependentUpon>
</None>
<None Include="Web.Prod.config">
<DependentUpon>Web.config</DependentUpon>
</None>
@@ -1721,17 +1832,6 @@
<ItemGroup>
<TypeScriptCompile Include="Scripts\index.d.ts" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.2.9.8\analyzers\dotnet\cs\Microsoft.CodeAnalysis.VersionCheckAnalyzer.resources.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.2.9.8\analyzers\dotnet\Microsoft.CodeAnalysis.VersionCheckAnalyzer.dll" />
<Analyzer Include="..\packages\Microsoft.CodeQuality.Analyzers.2.9.8\analyzers\dotnet\cs\Humanizer.dll" />
<Analyzer Include="..\packages\Microsoft.CodeQuality.Analyzers.2.9.8\analyzers\dotnet\cs\Microsoft.CodeQuality.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeQuality.Analyzers.2.9.8\analyzers\dotnet\cs\Microsoft.CodeQuality.CSharp.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.NetCore.Analyzers.2.9.8\analyzers\dotnet\cs\Microsoft.NetCore.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.NetCore.Analyzers.2.9.8\analyzers\dotnet\cs\Microsoft.NetCore.CSharp.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.NetFramework.Analyzers.2.9.8\analyzers\dotnet\cs\Microsoft.NetFramework.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.NetFramework.Analyzers.2.9.8\analyzers\dotnet\cs\Microsoft.NetFramework.CSharp.Analyzers.dll" />
</ItemGroup>
<ItemGroup>
<Content Include="Reports\IRK_Kitting_Group.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
@@ -1740,6 +1840,17 @@
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\analyzers\dotnet\cs\Microsoft.CodeAnalysis.VersionCheckAnalyzer.resources.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\analyzers\dotnet\Microsoft.CodeAnalysis.VersionCheckAnalyzer.dll" />
<Analyzer Include="..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\analyzers\dotnet\cs\Humanizer.dll" />
<Analyzer Include="..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\analyzers\dotnet\cs\Microsoft.CodeQuality.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\analyzers\dotnet\cs\Microsoft.CodeQuality.CSharp.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.NetCore.Analyzers.3.3.2\analyzers\dotnet\cs\Microsoft.NetCore.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.NetCore.Analyzers.3.3.2\analyzers\dotnet\cs\Microsoft.NetCore.CSharp.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.NetFramework.Analyzers.3.3.2\analyzers\dotnet\cs\Microsoft.NetFramework.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.NetFramework.Analyzers.3.3.2\analyzers\dotnet\cs\Microsoft.NetFramework.CSharp.Analyzers.dll" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
@@ -1764,6 +1875,17 @@
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'IIS02|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>
<LangVersion>7.3</LangVersion>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
@@ -1790,15 +1912,20 @@
<PropertyGroup>
<ErrorText>Questo progetto fa riferimento a uno o più pacchetti NuGet che non sono presenti in questo computer. Usare lo strumento di ripristino dei pacchetti NuGet per scaricarli. Per altre informazioni, vedere http://go.microsoft.com/fwlink/?LinkID=322105. Il file mancante è {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props'))" />
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.2.9.8\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.2.9.8\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeQuality.Analyzers.2.9.8\build\Microsoft.CodeQuality.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeQuality.Analyzers.2.9.8\build\Microsoft.CodeQuality.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.NetCore.Analyzers.2.9.8\build\Microsoft.NetCore.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetCore.Analyzers.2.9.8\build\Microsoft.NetCore.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.NetFramework.Analyzers.2.9.8\build\Microsoft.NetFramework.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetFramework.Analyzers.2.9.8\build\Microsoft.NetFramework.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.2.9.8\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.2.9.8\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.11.0\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.11.0\build\MongoDB.Driver.Core.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\build\Microsoft.CodeQuality.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\build\Microsoft.CodeQuality.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\build\Microsoft.CodeQuality.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\build\Microsoft.CodeQuality.Analyzers.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.props'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets'))" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
@@ -1820,6 +1947,12 @@
<CallTarget Targets="ApplyWebConfigTransform" />
</Target>
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.11.0\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.11.0\build\MongoDB.Driver.Core.targets')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.VersionCheckAnalyzer.3.3.2\build\Microsoft.CodeAnalysis.VersionCheckAnalyzer.targets')" />
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" />
<Import Project="..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\build\Microsoft.CodeQuality.Analyzers.targets" Condition="Exists('..\packages\Microsoft.CodeQuality.Analyzers.3.3.2\build\Microsoft.CodeQuality.Analyzers.targets')" />
<Import Project="..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.targets" Condition="Exists('..\packages\Microsoft.NetCore.Analyzers.3.3.2\build\Microsoft.NetCore.Analyzers.targets')" />
<Import Project="..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.targets" Condition="Exists('..\packages\Microsoft.NetFramework.Analyzers.3.3.2\build\Microsoft.NetFramework.Analyzers.targets')" />
<Import Project="..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.targets" Condition="Exists('..\packages\Microsoft.CodeAnalysis.FxCopAnalyzers.3.3.2\build\Microsoft.CodeAnalysis.FxCopAnalyzers.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.2\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.13.1\build\MongoDB.Driver.Core.targets')" />
</Project>
+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<!-- optional, add some variabeles
https://github.com/nlog/NLog/wiki/Configuration-file#variables
-->
<variable name="myvar" value="myvalue" />
<!--
See https://github.com/nlog/nlog/wiki/Configuration-file
for information on customizing logging rules and outputs.
-->
<targets async="true">
<target xsi:type="File"
name="NKC"
fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="NKC" />
</rules>
</nlog>
+48 -3
View File
@@ -1,6 +1,6 @@
[
{
"name": "queueUnloadBin",
"name": "queueUnloadBinNE01",
"template": "Bin.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
@@ -15,7 +15,37 @@
}
},
{
"name": "queueUnloadCart",
"name": "queueUnloadBinNE02",
"template": "Bin.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueUnloadCartNE01",
"template": "Cart.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "11in",
"PageWidth": "8.5in",
"MarginLeft": "0.5in",
"MarginRight": "0.5in",
"MarginTop": "0.5in",
"MarginBottom": "0.5in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueUnloadCartNE02",
"template": "Cart.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
@@ -75,7 +105,22 @@
}
},
{
"name": "queuePart",
"name": "queuePartNE01",
"template": "Part.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
"OutputFormat": "EMF",
"PageHeight": "2in",
"PageWidth": "4.09in",
"MarginLeft": "0in",
"MarginRight": "0in",
"MarginTop": "0in",
"MarginBottom": "0in",
"xmlParam": "<DeviceInfo><OutputFormat>EMF</OutputFormat><PageWidth>4.09in</PageWidth><PageHeight>2in</PageHeight><MarginTop>0in</MarginTop><MarginLeft>0in</MarginLeft><MarginRight>0in</MarginRight><MarginBottom>0in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queuePartNE02",
"template": "Part.rdlc",
"printerName": "Microsoft Print to PDF",
"deviceInfoParam": {
+16151
View File
File diff suppressed because it is too large Load Diff
+7
View File
File diff suppressed because one or more lines are too long
+861 -950
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+845 -934
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+4 -4
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
+2
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -3,8 +3,6 @@
<%@ Register Src="~/WebUserControls/cmp_footer.ascx" TagPrefix="uc1" TagName="cmp_footer" %>
<%@ Register Src="~/WebUserControls/cmp_menuTop.ascx" TagPrefix="uc1" TagName="cmp_menuTop" %>
<!DOCTYPE html>
<html lang="en">
@@ -22,6 +20,8 @@
<asp:PlaceHolder runat="server">
<%: Scripts.Render("~/bundles/modernizr") %>
<%: Scripts.Render("~/bundles/jsMoment") %>
<%: Scripts.Render("~/bundles/jsChart") %>
</asp:PlaceHolder>
<webopt:BundleReference runat="server" Path="~/Content/css" />
@@ -58,4 +58,4 @@
</div>
</form>
</body>
</html>
</html>
+14 -14
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF
@@ -15,29 +15,29 @@ namespace NKC_WF
{
/// <summary>
/// Controllo cmp_menuTop.
/// cmp_menuTop control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_menuTop cmp_menuTop;
/// <summary>
/// Controllo MainContent.
/// MainContent control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ContentPlaceHolder MainContent;
/// <summary>
/// Controllo cmp_footer.
/// cmp_footer control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_footer cmp_footer;
}
+21
View File
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Per altre informazioni sull'utilizzo della trasformazione web.config, vedere https://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<!--conn string-->
<add key="NKC_WFConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_prod;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="DbConfConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_prod;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="VocabolarioConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_prod;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="UtenteCdcConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_prod;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="PermessiConnectionString" value="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_prod;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
<connectionStrings>
<add name="AppData.Properties.Settings.Sauder_NKCConnectionString" connectionString="Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_prod;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<add name="ErrorLog" connectionString="Data Source=SQL2016PROD;Initial Catalog=Elmah;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</connectionStrings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
+39 -22
View File
@@ -21,13 +21,14 @@
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt"/>
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit"/>
</controls>
</pages>
<sessionState mode="Custom" customProvider="MySessionStateStore">
<providers>
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider" host="127.0.0.1" accessKey="" ssl="false"
applicationName="NKC" databaseId="0" timeout="120"/>
applicationName="NKC" databaseId="2" timeout="480"/>
</providers>
</sessionState>
<httpModules>
@@ -36,8 +37,8 @@
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/>
</httpModules>
<!--Nascondo gli erroracci-->
<!--<customErrors mode="On" defaultRedirect="~/site/Default"/>-->
<!--<customErrors mode="On" defaultRedirect="~/"/>-->
<!--<customErrors mode="On" defaultRedirect="~/site/Default" />-->
<!--<customErrors mode="On" defaultRedirect="~/" />-->
<!--<customErrors mode="On" defaultRedirect="~/ErrorPages/Oops.aspx">-->
<customErrors mode="RemoteOnly" defaultRedirect="~/ErrorPages/Oops.aspx">
<error statusCode="400" redirect="~/ErrorPages/400.aspx"/>
@@ -48,7 +49,7 @@
<error statusCode="503" redirect="~/ErrorPages/503.aspx"/>
</customErrors>
<!--Mostro gli erroracci-->
<!--<customErrors mode="Off"/>-->
<!--<customErrors mode="Off" />-->
</system.web>
<appSettings>
<!--Configurazioni generali-->
@@ -58,10 +59,11 @@
<add key="copyRight" value="Egaltech &amp; Steamware "/>
<add key="authSenzaDominio" value="true"/>
<add key="_safePages" value="Test#Home#Default"/>
<add key="_righeDataGridAnagr" value="20"/>
<add key="BaseUrl" value="http://IIS02/NKC"/>
<!--Updater area-->
<add key="downloadPath" value="c:\Steamware\installers\"/>
<add key="appVers" value="stable"/>
<add key="appVers" value="master"/>
<!--area logger-->
<add key="_logDir" value="~/logs/"/>
<add key="enableDumpDiag" value="false"/>
@@ -78,7 +80,7 @@
<!--Configurazioni Redis-->
<add key="RedisConn" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password"/>
<add key="RedisConnAdmin" value="nkcredis.steamware.net,abortConnect=false,ssl=false,password=nkc.password,allowAdmin=true"/>
<add key="redisDb" value="0"/>
<add key="redisDb" value="2"/>
<!--MongoDB-->
<add key="mdbConnString" value="mongodb://W2019-MONGODB:27017"/>
<add key="enableMongo" value="true"/>
@@ -103,7 +105,7 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574BB5573C51424" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.3.1.0" newVersion="1.3.1.0"/>
<bindingRedirect oldVersion="0.0.0.0-1.3.2.0" newVersion="1.3.2.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
@@ -323,7 +325,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed"/>
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0"/>
<bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
@@ -331,11 +333,11 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0"/>
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0"/>
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
@@ -375,7 +377,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.26.0.0" newVersion="0.26.0.0"/>
<bindingRedirect oldVersion="0.0.0.0-0.28.3.0" newVersion="0.28.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral"/>
@@ -385,18 +387,24 @@
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.5.0.0" newVersion="1.5.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-5.0.0.1" newVersion="5.0.0.1"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.3.2.10" newVersion="1.3.2.10"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
</compilers>
</system.codedom>
<system.webServer>
<modules>
<remove name="Session"/>
@@ -460,4 +468,13 @@
</handlers>
</system.webServer>
</location>
</configuration>
<system.codedom>
<compilers>
<compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" compilerOptions="/langversion:7.0 /nowarn:1659;1699;1701;612;618"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4"
compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"
type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</compilers>
</system.codedom>
</configuration>
@@ -44,5 +44,6 @@
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="getByStack" TypeName="AppData.DS_AppTableAdapters.SheetListTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="hfStackID" DefaultValue="0" Name="StackID" PropertyName="Value" Type="Int32" />
<asp:Parameter Name="Machine" DefaultValue="" />
</SelectParameters>
</asp:ObjectDataSource>
+32 -32
View File
@@ -1,44 +1,44 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls
{
public partial class cmp_BP_sheetList
{
public partial class cmp_BP_sheetList
{
/// <summary>
/// Controllo hfStackID.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfStackID;
/// <summary>
/// hfStackID control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfStackID;
/// <summary>
/// Controllo grView.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// grView control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.GridView grView;
/// <summary>
/// Controllo ods.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
}
/// <summary>
/// ods control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
}
}
+2
View File
@@ -5,6 +5,7 @@
<asp:HiddenField runat="server" ID="hfStatus" />
<asp:HiddenField runat="server" ID="hfStatusEnd" />
<asp:HiddenField ID="hfBatchID" runat="server" />
<asp:HiddenField ID="hfMachine" runat="server" />
<asp:FormView ID="frmView" runat="server" Width="100%" DataKeyNames="SheetID" DataSourceID="ods">
<ItemTemplate>
<div runat="server" id="divBlock" class='<%# "row small alert border-thick px-0 " + getCss(Eval("ShStatus")) %>' role="alert">
@@ -83,5 +84,6 @@
<asp:ControlParameter ControlID="hfBatchID" DefaultValue="0" Name="BatchID" PropertyName="Value" Type="Int32" />
<asp:ControlParameter ControlID="hfStatus" DefaultValue="-1" Name="ShStatusStart" PropertyName="Value" Type="Int32" />
<asp:ControlParameter ControlID="hfStatusEnd" DefaultValue="-1" Name="ShStatusEnd" PropertyName="Value" Type="Int32" />
<asp:ControlParameter ControlID="hfMachine" DefaultValue="" Name="Machine" PropertyName="Value" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
@@ -54,6 +54,18 @@ namespace NKC_WF.WebUserControls
}
}
public string MachineSel
{
get
{
return hfMachine.Value;
}
set
{
hfMachine.Value = value;
}
}
public string getCss(object _status)
{
string answ = "";
+40 -29
View File
@@ -1,59 +1,70 @@
//------------------------------------------------------------------------------
// <generato automaticamente>
// Codice generato da uno strumento.
// <auto-generated>
// This code was generated by a tool.
//
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace NKC_WF.WebUserControls {
public partial class cmp_ML_ShDet {
namespace NKC_WF.WebUserControls
{
public partial class cmp_ML_ShDet
{
/// <summary>
/// Controllo hfStatus.
/// hfStatus control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfStatus;
/// <summary>
/// Controllo hfStatusEnd.
/// hfStatusEnd control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfStatusEnd;
/// <summary>
/// Controllo hfBatchID.
/// hfBatchID control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchID;
/// <summary>
/// Controllo frmView.
/// hfMachine control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfMachine;
/// <summary>
/// frmView control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.FormView frmView;
/// <summary>
/// Controllo ods.
/// ods control.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
}

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