Compare commits

..

230 Commits

Author SHA1 Message Date
Giancarlo Rottoli 1af238b30a Update Repoprt Cart 1.3 e Remnant 2021-12-28 09:49:40 +01:00
Samuele Locatelli a173fe8f5e Merge tag 'FixCiCd' into develop
Fix CiCd x pubblicazione nexus
2021-11-25 11:52:24 +01:00
Samuele Locatelli 278470356a Merge branch 'release/FixCiCd' 2021-11-25 11:52:12 +01:00
Samuele Locatelli 26335a70e7 fix versioni CORE 2021-11-25 11:49:51 +01:00
Samuele Locatelli ceb448bd4e fix path x NKC_WF? 2021-11-25 11:44:57 +01:00
Samuele Locatelli 04c5fc27b7 Merge tag 'FixCiCdNkcReman' into develop
fixed deply CI/CD x NKC e REMAN
2021-11-25 11:39:56 +01:00
Samuele Locatelli 90b26cbb40 Merge branch 'release/FixCiCdNkcReman' 2021-11-25 11:39:43 +01:00
Samuele Locatelli c5fd9d08c9 test fix yaml 2021-11-25 11:27:47 +01:00
Samuele Locatelli 86ce970e72 Fix vers num locale 2021-11-25 11:18:55 +01:00
Samuele Locatelli c2c3b88f2d update postbuild x REMAN 2021-11-25 11:17:49 +01:00
Samuele Locatelli 728a985ec5 riaggiunta publish propfiles corretti 2021-11-25 10:09:54 +01:00
Samuele Locatelli fe9b7eb730 Fix reman solution in yaml 2021-11-25 09:58:25 +01:00
Samuele Locatelli bf6d0f3159 refresh 2021-11-25 09:56:25 +01:00
Samuele Locatelli 38be0c67ac Update solution REMAN 2021-11-25 09:56:19 +01:00
Samuele Locatelli 7f3b0a3adf Spostamento progetto REMAN 2021-11-25 09:56:11 +01:00
Samuele Locatelli cae78daefd Spostamento progetto NKC Data 2021-11-25 09:56:01 +01:00
Samuele Locatelli 693b5d0eba fix pub profiles xml 2021-11-25 09:55:49 +01:00
Samuele Locatelli 1eceb82bc8 Merge tag 'UpdNKC' into develop
fix installer x NKC vers 25 nov
2021-11-25 09:07:22 +01:00
Samuele Locatelli dc75fd81c2 Merge branch 'release/UpdNKC' 2021-11-25 09:07:13 +01:00
Samuele Locatelli d2ca541109 fix yaml x dotnet restore finale 2021-11-25 08:59:17 +01:00
Samuele Locatelli 3b4eb2fce4 fix indent yaml 2021-11-25 08:55:17 +01:00
Samuele Locatelli d0ffd6ae90 test CICD x nexus upload develop 2021-11-25 08:53:19 +01:00
Samuele Locatelli 59239b70ae Fix layout base top/bottom 2021-11-25 08:51:40 +01:00
Samuele Locatelli 2499ff1250 maybe fix publish profiles 2021-11-24 19:39:37 +01:00
Samuele Locatelli 73f3c0bc71 tolto step pubblicazione zip... 2021-11-24 19:30:30 +01:00
Samuele Locatelli 4a26aa1955 COmpleto fix nullable, test CI/CD 2021-11-24 19:24:02 +01:00
Samuele Locatelli 6adbfe6375 Fix altri casi null 2021-11-24 19:12:26 +01:00
Samuele Locatelli 124a9ef75d altri fix null & pulizia codice 2021-11-24 19:11:37 +01:00
Samuele Locatelli adec730a94 fix vari nullable x context 2021-11-24 19:10:41 +01:00
Samuele Locatelli 85789538fd fix null in modelli 2021-11-24 19:09:30 +01:00
Samuele Locatelli fbcfb86d1f fix vari warning null x controller 2021-11-24 19:09:08 +01:00
Samuele Locatelli d7ffdc7852 fix yaml 2021-11-24 18:34:39 +01:00
Samuele Locatelli cb31f6a242 update CI-CD 2021-11-24 18:26:48 +01:00
Samuele Locatelli 2eb218a3c0 aggiunta profilo x deploy zip install 2021-11-24 18:26:42 +01:00
Samuele Locatelli a1a233b1f6 Fix anonymous auth x NKC 2021-11-24 18:08:34 +01:00
Samuele Locatelli 101fe9e208 Merge tag 'FixRemanReturnNkc' into develop
fix ritorno a NKC da reman
2021-11-24 17:57:58 +01:00
Samuele Locatelli 2883e85aa4 Merge branch 'release/FixRemanReturnNkc' 2021-11-24 17:57:49 +01:00
Samuele Locatelli 8032103960 aggiunta pagina rimando a NKC x REMAN 2021-11-24 17:57:19 +01:00
Samuele Locatelli 4ee3670183 pulizia 2021-11-24 17:57:12 +01:00
Samuele Locatelli d8b95d322e Merge tag 'PackUpgrade' into develop
Completato upgrade packages nuget + test redirect + update manager x
nuova app
2021-11-24 16:46:24 +01:00
Samuele Locatelli b86041d1bf Merge branch 'release/PackUpgrade' 2021-11-24 16:46:00 +01:00
Samuele Locatelli eb7e5c8502 Aggiunta pagina redirect verso REMAN + check updater 2021-11-24 16:45:49 +01:00
Samuele Locatelli 8a49e2d523 Refresh pacchetti dll mongo 2021-11-24 15:20:49 +01:00
Samuele Locatelli e6a8a0a042 Remapping parametro delle tuple 2021-11-24 15:19:17 +01:00
Samuele Locatelli 98b00efdf1 Update Redis 2021-11-24 15:09:55 +01:00
Samuele Locatelli 845dc7151d Update pack compressione 2021-11-24 15:07:42 +01:00
Samuele Locatelli 1b284c1c7d Update SDK a 4.6.2!!! 2021-11-24 15:07:36 +01:00
Samuele Locatelli 4617e6f3ee update componenti MOngoDB 2021-11-24 15:06:20 +01:00
Samuele Locatelli 6492618ff5 Update steamwarelibs 2021-11-24 15:03:35 +01:00
Samuele Locatelli 33bf62821e Update NLog 2021-11-24 14:56:38 +01:00
Samuele Locatelli 26789d4066 Fix display inch/mm x materiali/remnants 2021-11-24 11:41:06 +01:00
Samuele Locatelli 8df36b2480 Modifica Remnant con QRCode solo x lenght + quote Inch 2021-11-24 11:28:45 +01:00
Samuele Locatelli da1e3549f0 Update profili pubblicazione 2021-11-24 11:28:31 +01:00
Samuele Locatelli 07620c27a6 Fix install redis 5.0.14 su IIS01/IIS02 + update publish profile 2021-11-23 19:11:59 +01:00
Samuele Locatelli 343ba058f3 Merge tag 'ReManFirstRelease' into develop
Versione iniziale REMAN fino ad integrazione PJQ
2021-11-23 12:37:10 +01:00
Samuele Locatelli 9a8257d567 Merge branch 'release/ReManFirstRelease' 2021-11-23 12:36:57 +01:00
Samuele Locatelli 022acce553 update NKC: report remnant + conf coda... 2021-11-23 12:36:32 +01:00
Samuele Locatelli cad34c5610 fix btn stampa (mette in coda DB) 2021-11-23 12:35:58 +01:00
Samuele Locatelli f79170e72e Aggiunto model x PJQ gestione stampe 2021-11-23 12:35:50 +01:00
Samuele Locatelli 2e7e070c2a Fix display naviazione dettaglio MovMag 2021-11-23 08:45:39 +01:00
Samuele Locatelli b2677219d5 Update filtro x ultimi movimenti 2021-11-22 20:34:49 +01:00
Samuele Locatelli c9cd2b2df1 OK deposito e pickup 2021-11-22 19:49:59 +01:00
Samuele Locatelli dcedf03d2c OK x focus pagina scanner 2021-11-22 18:31:06 +01:00
Samuele Locatelli d1b59b5038 OK Remnants pickup 2021-11-22 12:16:17 +01:00
Samuele Locatelli b8373245ce Agigunta procedura ricerca x Dtmx 2021-11-22 11:09:59 +01:00
Samuele Locatelli 806cdab55a aggiunta modelli movMag con user 2021-11-22 11:09:52 +01:00
Samuele Locatelli 40bdce1141 riorg codice controller DB 2021-11-19 19:40:13 +01:00
Samuele Locatelli e28515776e Bozza modifica x gestione user che effettua variazioni magazzino 2021-11-19 19:40:06 +01:00
Samuele Locatelli c7dc020a93 Add migrazione x MovMag 2021-11-19 19:26:07 +01:00
Samuele Locatelli 8ed5f088c2 Aggiunta classe movimenti magazzino 2021-11-19 19:23:04 +01:00
Samuele Locatelli 20d89e4c79 Update pag remnants 2021-11-19 19:14:46 +01:00
Samuele Locatelli a7782d9018 Fix filtro con salto pagina x materiali --> remn 2021-11-19 18:05:48 +01:00
Samuele Locatelli 4e72c80350 Fix datapager + link vari 2021-11-19 17:04:54 +01:00
Samuele Locatelli be9bf008e5 Bozza pagine pickup / depèosito e menu nav 2021-11-19 16:46:02 +01:00
Samuele Locatelli 3aed8b7b39 inizio modifica x gestione filtro remants 2021-11-19 13:03:46 +01:00
Samuele Locatelli 8a9e87703d Aggiunto controllo duplicati su remnant esistenti 2021-11-19 13:01:04 +01:00
Samuele Locatelli 06b8edc0b2 COmpletato add, edit, incr/decr x remnants 2021-11-19 12:20:10 +01:00
Samuele Locatelli 5864eb448a Modifica con filtro remnant e + solo se selezionato 2021-11-19 09:55:41 +01:00
Samuele Locatelli 62dc3033f1 Merge tag 'ReManProjInit' into develop
Bozza preliminare sito gestione remnants
2021-11-18 19:16:21 +01:00
Samuele Locatelli d0d918ffde Merge branch 'release/ReManProjInit' 2021-11-18 19:16:11 +01:00
Samuele Locatelli 1af003f2ce Ancora update pagina Remnants 2021-11-18 19:15:56 +01:00
Samuele Locatelli e939a4b5bf Aggiunta metodi recupero remnants 2021-11-18 18:48:18 +01:00
Samuele Locatelli 30034aea7c Fix lunghezza dati 18.2 -->18.3 x decimal 2021-11-18 18:43:00 +01:00
Samuele Locatelli 17528bec75 Aggiunta remnants su DB 2021-11-18 18:34:59 +01:00
Samuele Locatelli 4d95a45279 Add initDb migration 2021-11-18 18:34:54 +01:00
Samuele Locatelli 5ac1925d1c Update ancora x materiali 2021-11-18 18:24:09 +01:00
Samuele Locatelli 418d1bdc6b Rimozione demo page forecast 2021-11-18 18:24:03 +01:00
Samuele Locatelli 25225d4fd5 bozza pagina lista materiali 2021-11-18 17:53:33 +01:00
Samuele Locatelli ba6da1514a aggiunta componenti loader + pager 2021-11-18 17:53:24 +01:00
Samuele Locatelli dc8a47b8d7 refresh layout 2021-11-18 17:53:16 +01:00
Samuele Locatelli d6c6558ba9 Aggiunta librerie fontawesome + bootstrap 2021-11-18 17:53:01 +01:00
Samuele Locatelli cea025da3b Update DB x controller materiali 2021-11-18 17:52:49 +01:00
Samuele Locatelli bbfab5ea52 Fix grafico x area NAV sito REMAN 2021-11-18 16:28:46 +01:00
Samuele Locatelli 8264498f15 update note x scaffolding 2021-11-18 16:28:31 +01:00
Samuele Locatelli c1c014b7c0 Aggiunta preliminare sito REMAN x gestione remnants 2021-11-13 09:49:29 +01:00
Samuele Locatelli e76320bf99 Merge tag 'FixSheetsStatsIndexReset' into develop
Fix calcolo statistiche sheet/batch, era un idx che si resettava x ogni
bunk
2021-11-11 19:35:56 +01:00
Samuele Locatelli 05fd8b3701 Merge branch 'release/FixSheetsStatsIndexReset' 2021-11-11 19:34:52 +01:00
Samuele Locatelli 56fdee795d Eliminata trappola post fix calcolo statistiche BATCH 2021-11-11 19:34:22 +01:00
Samuele Locatelli 7b8389e575 messo trappola x caricare json da mongo a mano da file 2021-11-11 19:34:01 +01:00
Samuele Locatelli 2a35aa08ec Merge tag 'FixCsvExport' into develop
Aggiunto csv export
2021-10-18 11:27:24 +02:00
Samuele Locatelli 54969b3b27 Merge branch 'release/FixCsvExport' 2021-10-18 11:27:05 +02:00
Samuele Locatelli 0be32f457d Aggiunto export CSV + fix 25 righe visualizzazione 2021-10-18 11:26:42 +02:00
Samuele Locatelli 06a4df8b50 Merge tag 'AddDayExportCsv' into develop
Aggiunta export day stats
2021-10-18 09:47:29 +02:00
Samuele Locatelli 53f30037aa Merge branch 'release/AddDayExportCsv' 2021-10-18 09:47:10 +02:00
Samuele Locatelli 846c195019 Fix export statistiche 2021-10-18 09:46:23 +02:00
Samuele E. Locatelli 7850d8222d bozza export csv (NOT OK) 2021-10-17 07:06:19 +02:00
Samuele Locatelli 7acf336639 Merge tag 'LogRecaltStats' into develop
Aggiunta log tempi ricalcolo statistiche
2021-10-07 10:31:36 +02:00
Samuele Locatelli 3a1604112e Merge branch 'release/LogRecaltStats' 2021-10-07 10:31:24 +02:00
Samuele Locatelli 30478f5272 Update x log tempo ricalcolo statistiche daily 2021-10-07 10:31:02 +02:00
Samuele Locatelli a0922ee29f Merge tag 'FIlterDisplayReview' into develop
Fix display review
2021-10-06 16:34:05 +02:00
Samuele Locatelli b7ba6fffeb Merge branch 'release/FIlterDisplayReview' 2021-10-06 16:33:50 +02:00
Samuele Locatelli f08f3c3c87 Update grafico filtri 2021-10-06 16:33:20 +02:00
Samuele Locatelli 4fcc8a1998 UPdate componente paginazione 2021-10-06 16:33:13 +02:00
Samuele Locatelli b353a49cc1 Merge tag 'ReportPEzziOra' into develop
Fix display pezzi/ora
2021-10-06 13:56:58 +02:00
Samuele Locatelli 1dfc180cbf Merge branch 'release/ReportPEzziOra' 2021-10-06 13:56:48 +02:00
Samuele Locatelli 9aa4f0c60c Review display pezzi/ora 2021-10-06 13:29:47 +02:00
Samuele Locatelli 32c5e0fd6c Fix ricalcolo parametrico reports daily 2021-10-06 12:53:11 +02:00
Samuele Locatelli 9cc60e93de Fix selezione asse giorno x report Daily 2021-10-06 12:53:03 +02:00
Samuele Locatelli 3b5157b4a1 Merge tag 'ReportFix' into develop
Completamento reports daily
2021-10-06 12:12:05 +02:00
Samuele Locatelli ae6ff18385 Merge branch 'release/ReportFix' 2021-10-06 12:11:50 +02:00
Samuele Locatelli e7355bea00 Completato update report x 2 grafici 2021-10-06 12:11:25 +02:00
Samuele Locatelli 8e98ae2f0a Fix display MIA in UnloadPage 2021-10-06 10:15:28 +02:00
Samuele Locatelli 53990745c6 Merge tag 'ReportPost' into develop
Aggiunta report daily post
2021-10-05 19:17:48 +02:00
Samuele Locatelli 617574a3bd Merge branch 'release/ReportPost' 2021-10-05 19:17:39 +02:00
Samuele Locatelli 52a5631675 Ok grafici + log, updatepanel NON VA 2021-10-05 19:15:39 +02:00
Samuele Locatelli b401be828f Update gestioen grafici daily 2021-10-05 19:00:21 +02:00
Samuele Locatelli ef0afc508e Bozza grafici Daily 2021-10-05 18:18:16 +02:00
Samuele Locatelli 426307f19c integrazione modulo 2021-10-05 16:21:32 +02:00
Samuele Locatelli 1f103cd87f inizio modulo daily stats 2021-10-05 16:21:28 +02:00
Samuele Locatelli 800ccf7eaa Merge tag 'ReportPre' into develop
Aggiunto modulo statistiche PRE
2021-10-05 15:34:27 +02:00
Samuele Locatelli 4ce2e41d75 Merge branch 'release/ReportPre' 2021-10-05 15:34:14 +02:00
Samuele Locatelli 3b980d1602 COmpletate statistiche PRE 2021-10-05 15:33:38 +02:00
Samuele Locatelli 03a15c34bf Test x grafici dinamici 2021-10-05 14:19:41 +02:00
Samuele Locatelli 9a4204a24c COmpletata scheda stats PRE senza grafici 2021-10-05 11:24:24 +02:00
Samuele Locatelli ddc88286ab Update visualizzazione tabella stats Batch 2021-10-05 11:00:13 +02:00
Samuele Locatelli 98625451e2 Aggancio selezione report 2021-10-04 19:13:04 +02:00
Samuele Locatelli 268c6c073f Inizio modifica pagina report 2021-10-04 19:07:00 +02:00
Samuele Locatelli e48ab33b50 Aggiunta componente selettore report 2021-10-04 19:06:51 +02:00
Samuele Locatelli 813b7d79ee Merge tag 'FixDxf_ErrorTrap' into develop
Fix gestione DXF: reset e impedimento + di 1 file x volta, aggiunta
error trap con 2° tentativo reload
2021-09-24 10:38:49 +02:00
Samuele Locatelli 06f9e23a5e Merge branch 'release/FixDxf_ErrorTrap' 2021-09-24 10:38:21 +02:00
Samuele Locatelli 37857e2c77 Riportato error message full in locale 2021-09-24 10:37:45 +02:00
Samuele Locatelli f162f4a367 Trappola error pages in pista x tentare 2 volte prima di andare in home 2021-09-24 10:37:21 +02:00
Samuele Locatelli 289fa0ffd8 Fix gestione DXF: invalidati i running nest e impedisce caricamento + di 1 x volta 2021-09-24 10:05:21 +02:00
Samuele Locatelli 3a55c155e9 Merge tag 'UpdaterFix' into develop
Completato fix updater x Nexus
2021-09-17 16:46:58 +02:00
Samuele Locatelli 9f4f96e15d Merge branch 'release/UpdaterFix' 2021-09-17 16:46:48 +02:00
Samuele Locatelli b83b29f798 Fix conf https x NEXUS 2021-09-17 16:46:34 +02:00
Samuele Locatelli 62cc21f43d Eliminazioni warnings vari codice 2021-09-17 14:51:27 +02:00
Samuele Locatelli 8ec6ce6390 Update typescript a latest 2021-09-17 14:51:19 +02:00
Samuele Locatelli 72398af0d5 fix port 61257 2021-09-17 14:39:20 +02:00
Samuele Locatelli d143857cf8 Update nuget vari 2021-09-17 14:31:54 +02:00
Samuele Locatelli d2daf33f14 UPdate nuget steamwarelibs 2021-09-17 14:26:21 +02:00
Samuele Locatelli 0a36cf3de8 Merge tag 'FixNexus' into develop
Fix nexus path https
2021-09-16 16:21:13 +02:00
Samuele Locatelli b178add115 Merge branch 'release/FixNexus' 2021-09-16 16:21:05 +02:00
Samuele Locatelli a7fcfe0eca Update nexus yaml conf 2021-09-16 16:17:06 +02:00
Samuele Locatelli 5aac6657e8 Merge tag 'CheckFIleNameCNC' into develop
Fix controllo filename/takt in fase import se già approvato
2021-09-16 16:05:16 +02:00
Samuele Locatelli f9281ece74 Merge branch 'release/CheckFIleNameCNC' 2021-09-16 16:05:04 +02:00
Samuele Locatelli 4cc1bfbd8f Fix comportamento file upload x kit e test dxf 2021-09-16 16:03:05 +02:00
Samuele Locatelli 8bb4580ba2 Aggiunto verifica batch già approvati in import 2021-09-16 16:01:48 +02:00
Samuele Locatelli a474c243f6 Merge tag 'FixManifestVErs' into develop
Fix manifest version (era 0.0.0.0)
2021-09-02 16:39:43 +02:00
Samuele Locatelli 91b36dbf5f Merge branch 'release/FixManifestVErs' 2021-09-02 16:38:40 +02:00
Samuele Locatelli 8ed38c3976 fix vers number in manifest.xml 2021-09-02 16:38:07 +02:00
Samuele Locatelli 2697a3ae09 Merge tag 'FixManifestDeploy' into develop
Fix modalità update e url manifest.xml
2021-09-02 16:32:36 +02:00
Samuele Locatelli 83f44c6d36 Merge branch 'release/FixManifestDeploy' 2021-09-02 16:30:28 +02:00
Samuele Locatelli 07e4fbe5e8 Update pagina download NKC 2021-09-02 16:30:03 +02:00
Samuele Locatelli 252387f6ca Modifica ciclo update in deploy CI/CD 2021-09-02 16:24:54 +02:00
Samuele Locatelli 8ccddec3bd Merge tag 'Gitlab_CICD' into develop
Fix gitlab CI CD deploy
2021-09-02 15:57:44 +02:00
Samuele Locatelli 06a2dc0200 Merge branch 'release/Gitlab_CICD' 2021-09-02 15:57:32 +02:00
Samuele Locatelli 0d6244365d Merge branch 'feature/Jenkins2Gitlab' into develop 2021-09-02 15:56:17 +02:00
Samuele Locatelli 4e25b172c8 Merge branch 'develop' into feature/Jenkins2Gitlab 2021-09-02 15:56:02 +02:00
Samuele Locatelli 07ff67b1c8 Fix timing esecuzioen batch stat import 2021-09-02 15:55:01 +02:00
Samuele Emilio Locatelli 7205e0a5ab Merge branch 'feature/Jenkins2Gitlab' into 'develop'
Feature/jenkins2 gitlab

See merge request steamware/NKC!1
2021-09-02 13:52:42 +00:00
Samuele Emilio Locatelli d618963565 Feature/jenkins2 gitlab 2021-09-02 13:52:42 +00:00
Samuele Locatelli 8379252c12 riduzione verbosita e path manifest/changelog x upload 2021-09-02 15:45:13 +02:00
Samuele Locatelli 17f32f80d7 fix nexus upload (hope) 2021-09-02 15:29:30 +02:00
Samuele Locatelli c7fd3961af fix typo: releases --> release 2021-09-02 15:22:37 +02:00
Samuele Locatelli fc0dfd9d2e modifica yaml CiCd 2021-09-02 15:20:05 +02:00
Samuele Locatelli 9c536f41e1 fix path x recupero filkx e nexus 2021-09-02 15:07:35 +02:00
Samuele Locatelli a5ba2a0eaf fix develop install x IIS01 2021-09-02 15:02:35 +02:00
Samuele Locatelli 836c3515da ancora modifica yaml 2021-09-02 15:02:12 +02:00
Samuele Locatelli 66f4ddc340 ancora test yaml CiCd 2021-09-02 14:55:12 +02:00
Samuele Locatelli f5dec22e60 Ancora test yaml CiCd 2021-09-02 14:35:40 +02:00
Samuele Locatelli 57aa6c9af9 cambio modalità build 2021-09-02 14:23:33 +02:00
Samuele Locatelli 763caff2e4 update tag verbosity 2021-09-02 14:16:27 +02:00
Samuele Locatelli 0d74d84fd6 fix yaml syntax 2021-09-02 14:13:06 +02:00
Samuele Locatelli 221c9d9a3e Update yaml x build/install 2021-09-02 14:10:06 +02:00
Samuele Emilio Locatelli ca6f82f118 Update .gitlab-ci.yml file 2021-09-02 10:22:02 +00:00
Samuele Locatelli 2e7b8f11aa Add tag x win 2021-09-02 12:20:42 +02:00
Samuele Locatelli f1bb875ecc Versione iniziale gitlab conf 2021-09-02 12:09:39 +02:00
Samuele Locatelli 7825f8e9aa Merge branch 'feature/StatistichePre' into develop 2021-09-02 11:47:31 +02:00
Samuele Locatelli 9a8272f021 Aggiunto calcolo statistiche a fine batch 2021-09-02 11:47:22 +02:00
Samuele Locatelli 385936a167 Refresh grafico pagina dev tools 2021-09-02 11:42:13 +02:00
Samuele Locatelli 8e6a086e18 Display tempo calcolo a fine esecuzione 2021-09-02 11:18:09 +02:00
Samuele Locatelli f5fefb8070 Aggiunta button in devUtils x ricalcolo 2021-09-02 11:14:44 +02:00
Samuele Locatelli 807a6d5e45 Aggiunta metodi chiamate stored ricalcolo 2021-09-02 11:14:19 +02:00
Samuele Locatelli 97984ce39c Merge tag 'GestionePngConVersioni' into develop
Gestione stsampa BIN con immagini PNG generate con indice revisione
disegno
2021-08-20 16:15:39 +02:00
Samuele Locatelli babd52629a Merge branch 'release/GestionePngConVersioni' 2021-08-20 16:15:20 +02:00
Samuele Locatelli 1b71f76d14 update schemacompare DB 2021-08-20 16:13:13 +02:00
Samuele Locatelli e1d84b29f4 Aggiunta metodo update dati da BIN 2021-08-20 15:06:29 +02:00
Samuele Locatelli 99b2983962 refresh parziale classi x update ExtCode + Rev 2021-08-20 14:46:04 +02:00
Samuele Locatelli 8a7b4dd8a0 Merge tag 'fixEmptyRedix_NugetNLog' into develop
Fix regressione gestioen redis x valori vuoti
2021-08-19 12:12:41 +02:00
Samuele Locatelli 553f488fdf Merge branch 'release/fixEmptyRedix_NugetNLog' 2021-08-19 12:12:19 +02:00
Samuele Locatelli fed4789534 FIx-update SteamwareLibs x redis vuoto 2021-08-19 12:12:08 +02:00
Samuele Locatelli 5bbeb6817b Update NLog 2021-08-19 12:09:49 +02:00
Samuele Locatelli 15df69f9fd Merge branch 'develop' 2021-08-19 11:42:42 +02:00
Samuele Locatelli ae70999f78 Clean dll inutili 2021-08-19 11:42:30 +02:00
Samuele Locatelli 1b484df0b9 Merge tag 'updateNugetSteamWareLibs' into develop
Update librerie
2021-08-19 11:39:55 +02:00
Samuele Locatelli cc00dc0804 Merge branch 'release/updateNugetSteamWareLibs' 2021-08-19 11:39:49 +02:00
Samuele Locatelli 719968ee2b Nuget update x SteamwareLibs e setRSV 2021-08-19 11:39:01 +02:00
Samuele Locatelli 78482b4833 aggiunto cacheDataTTL in web.config 2021-08-11 16:53:21 +02:00
Samuele Locatelli da292cae17 Merge tag 'ReloadConfFix' into develop
Fix corretto lettura CRS --> ConfReadString
2021-08-11 16:01:28 +02:00
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
355 changed files with 88964 additions and 1939 deletions
+3
View File
@@ -41,3 +41,6 @@ dotnet_diagnostic.CA1716.severity = none
# CA2227: Le proprietà delle raccolte devono essere di sola lettura
dotnet_diagnostic.CA2227.severity = none
# CA1805: Do not initialize unnecessarily
dotnet_diagnostic.CA1805.severity = none
+216
View File
@@ -0,0 +1,216 @@
variables:
NUGET_PATH: 'C:\Tools\nuget.exe'
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe'
ASPNET_MERGE_PATH: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
EXE_RELEASE_FOLDER: 'c:\Projetcs\Compiled\NKC\Release'
DEPLOY_FOLDER: 'c:\Projects\Deploy\NKC\Builds'
VERS_MAIN: '2.0'
NEW_REL: ''
NEXUS_PATH: 'NKC'
PROJ_NAME: 'NKC_WF'
APP_NAME: 'NKC'
# helper x fix pacchetti nuget da repo locale nexus.steamware.net
.nuget-fix: &nuget-fix
- |
$hasSource = C:\Tools\nuget.exe sources list | find "`"Steamware Nexus`"" /C
if ($hasSource -eq 0) {
C:\Tools\nuget.exe sources Add -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"viaDante16`""
} else {
C:\Tools\nuget.exe sources Update -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"viaDante16`""
}
echo $hasSource
# helper x fix version number
.version-fix: &version-fix
- |
$env:NEW_REL = $env:VERS_MAIN+"."+(get-date format yyMM)+"."+(get-date format ddHH)
echo "Set vers: $env:NEW_REL"
$contenuto = Get-Content -path 'VersGen\VersGen.cs' -Raw
$newContenuto = $contenuto -replace '0.0.0.0', $env:NEW_REL
$newContenuto | Set-Content -path 'VersGen\VersGen.cs'
# helper x fix manifest xml
.manifest-fix: &manifest-fix
- |
echo "Set manifest.xml for branch: $CI_COMMIT_BRANCH"
$contenuto = Get-Content -path $env:PROJ_NAME'\Resources\manifest.xml' -Raw
$newContenuto = $contenuto -replace '{{BRANCHNAME}}', $CI_COMMIT_BRANCH
$newContenuto = $newContenuto -replace '0.0.0.0', $env:NEW_REL
$newContenuto | Set-Content -path $env:PROJ_NAME'\Resources\manifest.xml'
# helper creazione hash files
.hashBuild: &hashBuild
- |
$Target = $env:PROJ_NAME + "\Release\" + $env:APP_NAME + ".zip"
$MD5 = Get-FileHash $Target -Algorithm MD5
$SHA1 = Get-FileHash $Target -Algorithm SHA1
New-Item $Target".md5"
New-Item $Target".sha1"
$MD5.Hash | Set-Content -path $Target".md5"
$SHA1.Hash | Set-Content -path $Target".sha1"
echo "Created HASH files for $Target"
# helper x send su NEXUS
# $VersNumb = $Get-Content "Resources\VersNum.txt"
.nexusUpload: &nexusUpload
- |
Set-Alias mCurl C:\Windows\system32\curl.exe
$currentDate = get-date -format yyMM;
$currentTime = get-date -format ddHH;
$VersNumb = $env:NEW_REL
echo "Curr Version: $VersNumb"
if($CI_COMMIT_BRANCH -eq "master")
{
$version = "stable"
}
else
{
$version = "unstable"
}
$File2Send = Get-ChildItem($env:PROJ_NAME + "\Release\*")
ForEach ($File in $File2Send) {
$FileName = Split-path $File -leaf
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/$FileName
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/ARCHIVE/$VersNumb/$FileName
}
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file "$env:PROJ_NAME\Resources\manifest.xml" https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/manifest.xml
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file "$env:PROJ_NAME\Resources\ChangeLog.html" https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/ChangeLog.html
stages:
- build
- deploy
- installer
Net:build:
stage: build
tags:
- win
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore NKC_WF.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" NKC_WF/NKC_WF.csproj -target:Build /p:Configuration=Release /p:Platform="Any CPU" /p:OutputPath=bin/ /verbosity:minimal /m'
Core:build:
stage: build
tags:
- win
before_script:
- *nuget-fix
- dotnet restore REMAN.sln
script:
- dotnet build REMAN/REMAN.csproj
Net:IIS01:deploy:
stage: deploy
tags:
- win
rules:
- if: '$CI_COMMIT_BRANCH == "develop"'
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore NKC_WF.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" /p:m=8 /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS01 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /verbosity:minimal NKC_WF/NKC_WF.csproj'
needs: ["Net:build"]
Net:IIS02:deploy:
stage: deploy
tags:
- win
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore NKC_WF.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" /p:m=8 /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:RunCodeAnalysis=false /p:Configuration=IIS02 /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /verbosity:minimal NKC_WF/NKC_WF.csproj'
needs: ["Net:build"]
Core:IIS01:deploy:
stage: deploy
tags:
- win
only:
- develop
needs: ["Core:build"]
script:
- dotnet publish -p:PublishProfile=IIS01.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=viadante16 -p:AllowUntrustedCertificate=true REMAN/REMAN.csproj
Core:IIS02:deploy:
stage: deploy
tags:
- win
only:
- master
needs: ["Core:build"]
script:
- dotnet publish -p:PublishProfile=IIS02.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=viadante16 -p:AllowUntrustedCertificate=true REMAN/REMAN.csproj
- dotnet publish -p:PublishProfile=W2019-IIS-Dev.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release -p:username=jenkins -p:Password=viadante16 -p:AllowUntrustedCertificate=true REMAN/REMAN.csproj
Net:install:
stage: installer
tags:
- win
# rules:
# - if: '$CI_COMMIT_BRANCH == "master"'
# when: manual
variables:
APP_NAME: NKC
PROJ_NAME: NKC_WF
NEXUS_PATH: NKC
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore NKC_WF.sln -Verbosity quiet'
- *version-fix
- *manifest-fix
script:
- '& "$env:MSBUILD_PATH" /p:m=8 /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /T:Package /P:Configuration=Release /p:PublishProfile=master.pubxml /p:RunCodeAnalysis=false /p:PackageLocation=Release/$env:APP_NAME.zip /p:DeployIisAppPath="Default Web Site/NKC" /p:PackageAsSingleFile=True /verbosity:minimal /p:OutputPath=bin/ NKC_WF/NKC_WF.csproj'
# qui il deploy su nexus...
- *hashBuild
- *nexusUpload
needs: ["Net:build"]
Core:install:
stage: installer
tags:
- win
only:
- develop
- master
needs: ["Core:build"]
variables:
APP_NAME: REMAN
PROJ_NAME: REMAN
NEXUS_PATH: REMAN
before_script:
# - *nuget-fix
- dotnet restore REMAN.sln
- *version-fix
- *manifest-fix
script:
- dotnet publish -p:PublishProfile=IISProfile.pubxml -p:RunCodeAnalysis=false -p:Configuration=Release REMAN/REMAN.csproj -o:publish
# qui il deploy su nexus...
- *hashBuild
- *nexusUpload
# VARIABILI
# Tema numero versione: si potrebbe usare la variabile CI_COMMIT_TAG con $env:CI_COMMIT_TAG, in questo caso SOLO SE c'è un tag sistema versione...
# Tema compilazione x branch: $CI_COMMIT_BRANCH == "my-branch" potrebbe essere condizione if x fare alcuni sscript...
# rif: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
# Da approfondire:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/dotNET.gitlab-ci.yml
# https://www.google.com/search?q=gitlab+variable+year+month&rlz=1C1GCEA_enIT945IT945&oq=gitlab+variable+year+month&aqs=chrome..69i57j69i64.5262j0j7&sourceid=chrome&ie=UTF-8
# https://docs.gitlab.com/ee/ci/examples/README.html
# https://docs.gitlab.com/ee/ci/quick_start/index.html
# https://docs.gitlab.com/ee/ci/yaml/
+27 -24
View File
@@ -51,11 +51,11 @@
<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.4.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.4.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.3.2.10, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.2\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.3.11, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.3\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>
@@ -72,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.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.12.4\lib\net452\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.13.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.13.3\lib\net452\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.12.4\lib\net452\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.13.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.13.3\lib\net452\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.12.4\lib\net452\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.13.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.13.3\lib\net452\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.2.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.1\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.Libmongocrypt, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.3.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<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.10\lib\net45\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.12\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>
@@ -99,20 +99,20 @@
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<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 Include="SharpCompress, Version=0.30.1.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.30.1\lib\net461\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.2.4\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.2.88\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=5.1.2107.759, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2107.759\lib\net462\SteamWare.dll</HintPath>
<Reference Include="SteamWare, Version=5.1.2109.1716, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2109.1716\lib\net462\SteamWare.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.1.2107.759, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2107.759\lib\net462\SteamWare.Logger.dll</HintPath>
<Reference Include="SteamWare.Logger, Version=5.1.2109.1716, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2109.1716\lib\net462\SteamWare.Logger.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
@@ -184,6 +184,9 @@
<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" />
@@ -278,10 +281,10 @@
<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\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.1\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.13.3\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.13.3\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.1\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.13.3\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.13.3\build\MongoDB.Driver.Core.targets')" />
</Project>
+260 -147
View File
@@ -80,8 +80,16 @@ namespace AppData
/// </summary>
public static string redQueueCountSet = "NKC:SERV:PJQCOUNT";
/// <summary>
/// Richiesta sec screen
/// </summary>
public static string redSecScreenReq = "NKC:SECSCREEN:REQ";
/// <summary>
/// Vato ricalcolo dati stats giornalieri
/// </summary>
public static string redVetoDayStats = "NKC:SERV:DAYSTATS:RECALC";
#endregion Public Fields
#region Public Constructors
@@ -249,6 +257,22 @@ namespace AppData
#region Private Methods
/// <summary>
/// Verifica ed eventualmente aggiunge part da aggiornare all'elenco
/// </summary>
/// <param name="part2update"></param>
/// <param name="partList"></param>
private static void addPart2Upd(ref Dictionary<string, int> part2update, List<Part> partList)
{
foreach (var item in partList)
{
if (!part2update.ContainsKey(item.PartRev))
{
part2update.Add(item.PartRev, item.PartId);
}
}
}
/// <summary>
/// verifica che la macchina dichiarata esiste o la crea...
/// </summary>
@@ -494,29 +518,6 @@ namespace AppData
return currData;
}
public static bool setMachLiveStatus(string machine, bool isLive)
{
string redKey = $"{redProdMachStateLive}:{machine}";
string redVal = $"{isLive}";
// salvo x 90 sec
bool done = memLayer.ML.setRSV(redKey, redVal, 90);
return done;
}
public static bool getMachLiveStatus(string machine)
{
bool isLive = false;
/// cerco in redis...
string redKey = $"{redProdMachStateLive}:{machine}";
string redVal = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(redVal))
{
bool.TryParse(redVal, out isLive);
}
return isLive;
}
/// <summary>
/// Salvo in Redis il SUCCESSIVO bunk da lavorare
/// </summary>
@@ -1059,6 +1060,109 @@ namespace AppData
return answ;
}
/// <summary>
/// Invia una richiesta di esecuzione di Nesting x un Batch ANCESTOR
/// </summary>
/// <param name="BatchID">Batch di cui si chiede processing</param>
/// <returns></returns>
public static bool checkSendBatchSplit(int BatchID)
{
int nextIndex = 10;
bool batchSent = false;
bool batchProcessed = false;
DataLayer DLMan = new DataLayer();
var currType = ComLib.BType(BatchID);
// NKC2: controllo SE sia un batch tipo ancestor (1° invio)
if (currType == BatchType.Ancestor)
{
// recupero batch descendant
var tabDesc = ComLib.BatchDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo fino a trovare un batch VALIDO (= contiene ordini)
foreach (var item in tabDesc)
{
batchProcessed = false;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
// primo parto da indice 10...
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
}
}
// NKC2: se è un batch ti dipo descendant (invii successivi)
if (currType == BatchType.Descendant)
{
// verifico se ce ne siano altri NON validati (ma splitted)
var tabDesc = ComLib.BatchOtherDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo x tutte le righe che NON fossero con nesting effettuato
foreach (var item in tabDesc)
{
batchProcessed = false;
// se c'è qualcosa da processare lo richiede
if (item.STATUS == 2)
{
nextIndex += 50;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
// se non ha trovato nulla --> prova update Batch Ancestor...
}
}
}
return batchSent;
}
/// <summary>
/// verifica che lo status e la decodifica ci siano...
/// </summary>
@@ -1372,6 +1476,19 @@ namespace AppData
return context.Request.ServerVariables["REMOTE_ADDR"];
}
public static bool getMachLiveStatus(string machine)
{
bool isLive = false;
/// cerco in redis...
string redKey = $"{redProdMachStateLive}:{machine}";
string redVal = memLayer.ML.getRSV(redKey);
if (!string.IsNullOrEmpty(redVal))
{
bool.TryParse(redVal, out isLive);
}
return isLive;
}
/// <summary>
/// Restituisce il prossimo codice di envelope per comunicare con sistemi esterni
/// </summary>
@@ -2032,6 +2149,18 @@ namespace AppData
return answ;
}
/// <summary>
/// Effettua divisione evitando zeri a den...
/// </summary>
/// <param name="num"></param>
/// <param name="den"></param>
/// <returns></returns>
public static double ratioProt(double num, double den)
{
den = den == 0 ? 1 : den;
return num / den;
}
/// <summary>
/// Leggo il Takt inviato
/// </summary>
@@ -2246,111 +2375,6 @@ namespace AppData
return answ;
}
/// <summary>
/// Invia una richiesta di esecuzione di Nesting x un Batch ANCESTOR
/// </summary>
/// <param name="BatchID">Batch di cui si chiede processing</param>
/// <returns></returns>
public static bool checkSendBatchSplit(int BatchID)
{
int nextIndex = 10;
bool batchSent = false;
bool batchProcessed = false;
DataLayer DLMan = new DataLayer();
var currType = ComLib.BType(BatchID);
// NKC2: controllo SE sia un batch tipo ancestor (1° invio)
if (currType == BatchType.Ancestor)
{
// recupero batch descendant
var tabDesc = ComLib.BatchDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo fino a trovare un batch VALIDO (= contiene ordini)
foreach (var item in tabDesc)
{
batchProcessed = false;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
// primo parto da indice 10...
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
}
}
// NKC2: se è un batch ti dipo descendant (invii successivi)
if (currType == BatchType.Descendant)
{
// verifico se ce ne siano altri NON validati (ma splitted)
var tabDesc = ComLib.BatchOtherDescendant(BatchID);
if (tabDesc != null && tabDesc.Count > 0)
{
batchSent = false;
// ciclo x tutte le righe che NON fossero con nesting effettuato
foreach (var item in tabDesc)
{
batchProcessed = false;
// se c'è qualcosa da processare lo richiede
if (item.STATUS == 2)
{
nextIndex += 50;
// 2021.07.19 FIX x caso batch vuoto: se non ho pezzi --> approvo direttamente e passo al successivo...
var tabItems = DLMan.taIL.getByBatch(item.BatchID);
if (tabItems != null)
{
// --> invio batch
if (tabItems.Count > 0)
{
ComLib.sendBatchReq(item.BatchID, "Nesting", 2, false, nextIndex);
// registro su DB nesting iniziato...
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.NestRequested, "", -1);
batchProcessed = true;
batchSent = true;
}
}
//--> approvo direttamente e passo al successivo... (annullo batch)
if (!batchProcessed)
{
// registro su DB batch DISCARDED (NON HA PEZZI...)
DLMan.taBL.updateStatus(item.BatchID, (int)BatchStatus.Discarded, "", -1);
}
// se ho fatto --> esco
if (batchSent)
break;
}
// se non ha trovato nulla --> prova update Batch Ancestor...
}
}
}
return batchSent;
}
/// <summary>
/// Invia una richiesta di esecuzione di Nesting x un Batch
/// </summary>
@@ -2671,6 +2695,15 @@ namespace AppData
memLayer.ML.setRSV(redCurrSheetId(macchina), SheetID.ToString());
}
public static bool setMachLiveStatus(string machine, bool isLive)
{
string redKey = $"{redProdMachStateLive}:{machine}";
string redVal = $"{isLive}";
// salvo x 90 sec
bool done = memLayer.ML.setRSV(redKey, redVal, 90);
return done;
}
/// <summary>
/// Salva per 5 sec la richiesta di reload delle pagine MachineUnload
/// </summary>
@@ -2749,6 +2782,7 @@ namespace AppData
/// <param name="BinList"></param>
public static void updateBinsFromNesting(int BatchID, List<NestBin> BinList)
{
Dictionary<string, string> part2update = new Dictionary<string, string>();
DataLayer DLMan = new DataLayer();
// inizio a processare... bunks!
if (BinList != null)
@@ -2772,6 +2806,30 @@ namespace AppData
}
}
}
// verifico se aggiornare part
if (!part2update.ContainsKey(item.PartRev))
{
part2update.Add(item.PartRev, item.PartExtCode);
}
}
// verifico se ho part da aggiornare
if (part2update.Count > 0)
{
// recupero tabella parts in blocco da batch
var item4batch = DLMan.taIL.getByBatch(BatchID);
// chiamo stored x ogni esempio di part
foreach (var item in part2update)
{
var currItemList = item4batch.Where(x => x.ItemExtCode == item.Value).ToList();
if (currItemList != null && currItemList.Count > 0)
{
// processo!
foreach (var currPart in currItemList)
{
DLMan.taIL.updateExtCodeFromBinNesting(BatchID, item.Value, item.Key);
}
}
}
}
}
}
@@ -2880,25 +2938,6 @@ namespace AppData
}
}
/// <summary>
/// Verifica ed eventualmente aggiunge part da aggiornare all'elenco
/// </summary>
/// <param name="part2update"></param>
/// <param name="partList"></param>
private static void addPart2Upd(ref Dictionary<string, int> part2update, List<Part> partList)
{
foreach (var item in partList)
{
if (!part2update.ContainsKey(item.PartRev))
{
part2update.Add(item.PartRev, item.PartId);
}
}
}
/// <summary>
/// Processa elenco items e salva in redis valori x css, elenchi, ...
/// </summary>
@@ -3343,6 +3382,80 @@ namespace AppData
return answ;
}
/// <summary>
/// Effettua il ricalcolo delle statistiche x SheetStat --> BatchStat dato un BatchID recuperando i dati da MongoDB
/// </summary>
/// <param name="BatchID"></param>
/// <returns></returns>
public bool updateSheetStatsByBatch(int BatchID)
{
bool answ = false;
DataLayer DLMan = new DataLayer();
List<int> PaintPartList = new List<int>();
// cerco da lista salvataggi Estim/Nest...
var nestAnsw = getNestAnsw(BatchID);
if (nestAnsw != null)
{
// inizio eliminando le vecchie statistiche x foglio
DLMan.taShStats.resetBatch(BatchID);
// recupero i pitturati
try
{
if (nestAnsw.BinList != null)
{
foreach (var bin in nestAnsw.BinList)
{
// se ho parti le aggiungo
if (bin.PartList != null)
{
foreach (var Part in bin.PartList)
{
PaintPartList.Add(Part.PartId);
}
}
}
}
}
catch
{ }
// il tot delle part è in bunk > Sheet > part
try
{
if (nestAnsw.BunkList != null)
{
int sheetIdx = 0;
foreach (var bunk in nestAnsw.BunkList)
{
foreach (var sheet in bunk.SheetList)
{
// incremento contatore sheets
sheetIdx++;
// dati resa superfici
double num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0;
double den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1;
// parts del foglio
List<int> PartList = sheet.PartList.Select(x => x.PartId).ToList();
int numPaint = PartList.Intersect(PaintPartList).Count();
// qui salvo le statistiche
DLMan.taShStats.upsertQuery(BatchID, sheetIdx, sheet.MatId, (decimal)num, (decimal)den, sheet.PartList.Count, numPaint);
//DLMan.taShStats.upsertQuery(BatchID, sheet.SheetIndex, sheet.MatId, (decimal)num, (decimal)den, sheet.PartList.Count, numPaint);
}
}
}
}
catch
{ }
// finisco calcolando le statistiche x Batch...
DLMan.taBStats.refresh(BatchID);
}
return answ;
}
#endregion Public Methods
#region Public Classes
+2928 -146
View File
File diff suppressed because it is too large Load Diff
+430 -69
View File
@@ -134,6 +134,17 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_getApprovedByTakt" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getApprovedByTakt" GetMethodModifier="Public" GetMethodName="getApprovedByTakt" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getApprovedByTakt" UserSourceName="getApprovedByTakt">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_getApprovedByTakt</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="nvarchar" DbType="String" Direction="Input" ParameterName="@Takt" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_getByKey" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByKey" GetMethodModifier="Public" GetMethodName="getByKey" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByKey" UserSourceName="getByKey">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
@@ -203,6 +214,16 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_getNestRunning" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getNestRunning" GetMethodModifier="Public" GetMethodName="getNestRunning" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getNestRunning" UserSourceName="getNestRunning">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_getNestRunning</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" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_getNextAvailable" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getNextAvailable" GetMethodModifier="Public" GetMethodName="getNextAvailable" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getNextAvailable" UserSourceName="getNextAvailable">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
@@ -245,7 +266,17 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_makeDescendantByKey" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="makeDescendantByKey" Modifier="Public" Name="makeDescendantByKey" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy8" UserSourceName="makeDescendantByKey">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_invalidateRunning" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="invalidateRunning" Modifier="Public" Name="invalidateRunning" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy8" UserSourceName="invalidateRunning">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_invalidateRunning</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" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_makeDescendantByKey" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="makeDescendantByKey" Modifier="Public" Name="makeDescendantByKey" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy9" UserSourceName="makeDescendantByKey">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_makeDescendantByKey</CommandText>
@@ -257,7 +288,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_redoPartValid" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="redoPartValid" Modifier="Public" Name="redoPartValid" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy9" UserSourceName="redoPartValid">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_redoPartValid" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="redoPartValid" Modifier="Public" Name="redoPartValid" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy10" UserSourceName="redoPartValid">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_redoPartValid</CommandText>
@@ -268,7 +299,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_refuseNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="refuseNesting" Modifier="Public" Name="refuseNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy10" UserSourceName="refuseNesting">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_refuseNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="refuseNesting" Modifier="Public" Name="refuseNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy11" UserSourceName="refuseNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_refuseNesting</CommandText>
@@ -280,7 +311,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetAllNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetNesting" Modifier="Public" Name="resetNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy11" UserSourceName="resetNesting">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetAllNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetNesting" Modifier="Public" Name="resetNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy12" UserSourceName="resetNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_resetAllNesting</CommandText>
@@ -291,7 +322,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetPartUnValid" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetPartUnValid" Modifier="Public" Name="resetPartUnValid" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy12" UserSourceName="resetPartUnValid">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetPartUnValid" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetPartUnValid" Modifier="Public" Name="resetPartUnValid" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy13" UserSourceName="resetPartUnValid">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_resetPartUnValid</CommandText>
@@ -301,7 +332,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_zzz_resetProdCall" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetProdCall" Modifier="Public" Name="resetProdCall" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy13" UserSourceName="resetProdCall">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_zzz_resetProdCall" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetProdCall" Modifier="Public" Name="resetProdCall" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy14" UserSourceName="resetProdCall">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_zzz_resetProdCall</CommandText>
@@ -311,7 +342,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetTree" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetTree" Modifier="Public" Name="resetTree" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy14" UserSourceName="resetTree">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_resetTree" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetTree" Modifier="Public" Name="resetTree" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy15" UserSourceName="resetTree">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_resetTree</CommandText>
@@ -322,7 +353,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_updatePlaceCod" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updatePlaceCod" Modifier="Public" Name="updatePlaceCod" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy15" UserSourceName="updatePlaceCod">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_updatePlaceCod" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updatePlaceCod" Modifier="Public" Name="updatePlaceCod" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy16" UserSourceName="updatePlaceCod">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_updatePlaceCod</CommandText>
@@ -334,7 +365,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_updateSchedPrior" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSchedPrior" Modifier="Public" Name="updateSchedPrior" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy16" UserSourceName="updateSchedPrior">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_updateSchedPrior" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSchedPrior" Modifier="Public" Name="updateSchedPrior" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy17" UserSourceName="updateSchedPrior">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_updateSchedPrior</CommandText>
@@ -346,7 +377,7 @@ FROM v_BatchList</CommandText>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_updateStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateStatus" Modifier="Public" Name="updateStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy17" UserSourceName="updateStatus">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_Batch_updateStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateStatus" Modifier="Public" Name="updateStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy18" UserSourceName="updateStatus">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_Batch_updateStatus</CommandText>
@@ -1040,7 +1071,20 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateExtCodeFromNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateExtCodeFromNesting" Modifier="Public" Name="updateExtCodeFromNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy7" UserSourceName="updateExtCodeFromNesting">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateExtCodeFromBinNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateExtCodeFromBinNesting" Modifier="Public" Name="updateExtCodeFromBinNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy3" UserSourceName="updateExtCodeFromBinNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateExtCodeFromBinNesting</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="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@PartExtCode" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@PartRev" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateExtCodeFromNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateExtCodeFromNesting" Modifier="Public" Name="updateExtCodeFromNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy4" UserSourceName="updateExtCodeFromNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateExtCodeFromNesting</CommandText>
@@ -1053,7 +1097,7 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateFromNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateFromNesting" Modifier="Public" Name="updateFromNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy3" UserSourceName="updateFromNesting">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateFromNesting" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateFromNesting" Modifier="Public" Name="updateFromNesting" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy5" UserSourceName="updateFromNesting">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateFromNesting</CommandText>
@@ -1068,7 +1112,7 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateSheetStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSheetStatus" Modifier="Public" Name="updateSheetStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy4" UserSourceName="updateSheetStatus">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateSheetStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSheetStatus" Modifier="Public" Name="updateSheetStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy6" UserSourceName="updateSheetStatus">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateSheetStatus</CommandText>
@@ -1081,7 +1125,7 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateSheetStatusPU" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSheetStatusPU" Modifier="Public" Name="updateSheetStatusPU" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy5" UserSourceName="updateSheetStatusPU">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateSheetStatusPU" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateSheetStatusPU" Modifier="Public" Name="updateSheetStatusPU" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy7" UserSourceName="updateSheetStatusPU">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateSheetStatusPU</CommandText>
@@ -1093,7 +1137,7 @@ SELECT ItemID, StatusID, KitID, ItemDtmx, ItemExtCode, ItemDesc, ItemNote, ItemQ
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateStatus" Modifier="Public" Name="updateStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy6" UserSourceName="updateStatus">
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_IL_updateStatus" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="updateStatus" Modifier="Public" Name="updateStatus" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy8" UserSourceName="updateStatus">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_IL_updateStatus</CommandText>
@@ -3644,6 +3688,255 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="SheetStatsTableAdapter" GeneratorDataComponentClassName="SheetStatsTableAdapter" Name="SheetStats" UserDataComponentName="SheetStatsTableAdapter">
<MainSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.SheetStats" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM [SheetStats] WHERE (([BatchID] = @Original_BatchID) AND ([SheetIndex] = @Original_SheetIndex))</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SheetIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SheetIndex" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO [SheetStats] ([BatchID], [SheetIndex], [MatID], [WorkArea], [TotalArea], [NumParts], [NumPainted]) VALUES (@BatchID, @SheetIndex, @MatID, @WorkArea, @TotalArea, @NumParts, @NumPainted);
SELECT BatchID, SheetIndex, MatID, WorkArea, TotalArea, NumParts, NumPainted FROM SheetStats WHERE (BatchID = @BatchID) AND (SheetIndex = @SheetIndex)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@SheetIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SheetIndex" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@MatID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="MatID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@WorkArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="WorkArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="TotalArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumParts" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumPainted" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT *
FROM SheetStats</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [SheetStats] SET [BatchID] = @BatchID, [SheetIndex] = @SheetIndex, [MatID] = @MatID, [WorkArea] = @WorkArea, [TotalArea] = @TotalArea, [NumParts] = @NumParts, [NumPainted] = @NumPainted WHERE (([BatchID] = @Original_BatchID) AND ([SheetIndex] = @Original_SheetIndex));
SELECT BatchID, SheetIndex, MatID, WorkArea, TotalArea, NumParts, NumPainted FROM SheetStats WHERE (BatchID = @BatchID) AND (SheetIndex = @SheetIndex)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@SheetIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SheetIndex" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@MatID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="MatID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@WorkArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="WorkArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="TotalArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumParts" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumPainted" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_SheetIndex" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="SheetIndex" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</UpdateCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="BatchID" DataSetColumn="BatchID" />
<Mapping SourceColumn="SheetIndex" DataSetColumn="SheetIndex" />
<Mapping SourceColumn="MatID" DataSetColumn="MatID" />
<Mapping SourceColumn="WorkArea" DataSetColumn="WorkArea" />
<Mapping SourceColumn="TotalArea" DataSetColumn="TotalArea" />
<Mapping SourceColumn="NumParts" DataSetColumn="NumParts" />
<Mapping SourceColumn="NumPainted" DataSetColumn="NumPainted" />
</Mappings>
<Sources>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_SheetStat_resetQuery" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="resetBatch" Modifier="Public" Name="resetBatch" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="resetBatch">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_SheetStat_resetQuery</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="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_SheetStat_upsertQuery" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="upsertQuery" Modifier="Public" Name="upsertQuery" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy1" UserSourceName="upsertQuery">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_SheetStat_upsertQuery</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="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SheetIndex" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@MatID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="numeric" DbType="Decimal" Direction="Input" ParameterName="@WorkArea" Precision="18" ProviderType="Decimal" Scale="3" Size="9" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="numeric" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="9" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="BatchStatsTableAdapter" GeneratorDataComponentClassName="BatchStatsTableAdapter" Name="BatchStats" UserDataComponentName="BatchStatsTableAdapter">
<MainSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.BatchStats" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<DeleteCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>DELETE FROM [BatchStats] WHERE (([BatchID] = @Original_BatchID))</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</DeleteCommand>
<InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO [BatchStats] ([BatchID], [Takt], [AvgYeld], [TotalArea], [NumMat], [NumSheets], [NumModel], [NumKit], [NumParts], [NumPainted], [PlaceCod]) VALUES (@BatchID, @Takt, @AvgYeld, @TotalArea, @NumMat, @NumSheets, @NumModel, @NumKit, @NumParts, @NumPainted, @PlaceCod);
SELECT BatchID, Takt, AvgYeld, TotalArea, NumMat, NumSheets, NumModel, NumKit, NumParts, NumPainted, PlaceCod FROM BatchStats WHERE (BatchID = @BatchID)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Takt" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Takt" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@AvgYeld" Precision="18" ProviderType="Decimal" Scale="9" Size="0" SourceColumn="AvgYeld" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="TotalArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumMat" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumMat" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumSheets" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumSheets" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumModel" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumModel" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumKit" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumKit" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumParts" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumPainted" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceCod" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT BatchID, Takt, AvgYeld, TotalArea, NumMat, NumSheets, NumModel, NumKit, NumParts, NumPainted FROM BatchStats</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
<UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>UPDATE [BatchStats] SET [BatchID] = @BatchID, [Takt] = @Takt, [AvgYeld] = @AvgYeld, [TotalArea] = @TotalArea, [NumMat] = @NumMat, [NumSheets] = @NumSheets, [NumModel] = @NumModel, [NumKit] = @NumKit, [NumParts] = @NumParts, [NumPainted] = @NumPainted, [PlaceCod] = @PlaceCod WHERE (([BatchID] = @Original_BatchID));
SELECT BatchID, Takt, AvgYeld, TotalArea, NumMat, NumSheets, NumModel, NumKit, NumParts, NumPainted, PlaceCod FROM BatchStats WHERE (BatchID = @BatchID)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@Takt" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="Takt" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@AvgYeld" Precision="18" ProviderType="Decimal" Scale="9" Size="0" SourceColumn="AvgYeld" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Decimal" Direction="Input" ParameterName="@TotalArea" Precision="18" ProviderType="Decimal" Scale="3" Size="0" SourceColumn="TotalArea" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumMat" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumMat" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumSheets" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumSheets" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumModel" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumModel" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumKit" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumKit" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumParts" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumParts" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@NumPainted" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="NumPainted" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="0" SourceColumn="PlaceCod" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="" DataSourceName="" DbType="Int32" Direction="Input" ParameterName="@Original_BatchID" Precision="0" ProviderType="Int" Scale="0" Size="0" SourceColumn="BatchID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters>
</DbCommand>
</UpdateCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="BatchID" DataSetColumn="BatchID" />
<Mapping SourceColumn="Takt" DataSetColumn="Takt" />
<Mapping SourceColumn="AvgYeld" DataSetColumn="AvgYeld" />
<Mapping SourceColumn="TotalArea" DataSetColumn="TotalArea" />
<Mapping SourceColumn="NumMat" DataSetColumn="NumMat" />
<Mapping SourceColumn="NumSheets" DataSetColumn="NumSheets" />
<Mapping SourceColumn="NumModel" DataSetColumn="NumModel" />
<Mapping SourceColumn="NumKit" DataSetColumn="NumKit" />
<Mapping SourceColumn="NumParts" DataSetColumn="NumParts" />
<Mapping SourceColumn="NumPainted" DataSetColumn="NumPainted" />
</Mappings>
<Sources>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_BatchStat_getLast" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getLast" GetMethodModifier="Public" GetMethodName="getLast" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getLast" UserSourceName="getLast">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_BatchStat_getLast</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="int" DbType="Int32" Direction="Input" ParameterName="@ShowMax" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_BatchStat_refresh" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="refresh" Modifier="Public" Name="refresh" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="refresh">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_BatchStat_refresh</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="int" DbType="Int32" Direction="Input" ParameterName="@BatchID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="ProductionStatsDayTableAdapter" GeneratorDataComponentClassName="ProductionStatsDayTableAdapter" Name="ProductionStatsDay" UserDataComponentName="ProductionStatsDayTableAdapter">
<MainSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.ProductionStatsDay" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT *
FROM ProductionStatsDay</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="PlaceCod" DataSetColumn="PlaceCod" />
<Mapping SourceColumn="DataRif" DataSetColumn="DataRif" />
<Mapping SourceColumn="DataOraRif" DataSetColumn="DataOraRif" />
<Mapping SourceColumn="ItmProd" DataSetColumn="ItmProd" />
<Mapping SourceColumn="ItmScrap" DataSetColumn="ItmScrap" />
<Mapping SourceColumn="MinRun" DataSetColumn="MinRun" />
<Mapping SourceColumn="MinDisp" DataSetColumn="MinDisp" />
</Mappings>
<Sources>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_ProdStatDay_getFilt" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getFilt" GetMethodModifier="Public" GetMethodName="getFilt" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getFilt" UserSourceName="getFilt">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_ProdStatDay_getFilt</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="datetime" DbType="DateTime" Direction="Input" ParameterName="@dtStart" Precision="23" ProviderType="DateTime" Scale="3" Size="8" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@dtEnd" Precision="23" ProviderType="DateTime" Scale="3" Size="8" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_ProdStatDay_getLast" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getLast" GetMethodModifier="Public" GetMethodName="getLast" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getLast" UserSourceName="getLast">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_ProdStatDay_getLast</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" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.dbo.stp_STATS_ProductionUpdate" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="ProductionUpdate" Modifier="Public" Name="ProductionUpdate" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="ProductionUpdate">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_STATS_ProductionUpdate</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="datetime" DbType="DateTime" Direction="Input" ParameterName="@dtStart" Precision="23" ProviderType="DateTime" Scale="3" Size="8" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@dtEnd" Precision="23" ProviderType="DateTime" Scale="3" Size="8" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@PlaceCod" Precision="0" ProviderType="NVarChar" Scale="0" Size="50" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@DayGroup" Precision="1" ProviderType="Bit" Scale="0" Size="1" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
</Tables>
<Sources />
</DataSource>
@@ -3652,7 +3945,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
<xs:element name="DS_App" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DS_App" msprop:Generator_UserDSName="DS_App">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="BatchList" msprop:Generator_TableClassName="BatchListDataTable" msprop:Generator_TableVarName="tableBatchList" msprop:Generator_TablePropName="BatchList" msprop:Generator_RowDeletingName="BatchListRowDeleting" msprop:Generator_RowChangingName="BatchListRowChanging" msprop:Generator_RowEvHandlerName="BatchListRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchListRowDeleted" msprop:Generator_UserTableName="BatchList" msprop:Generator_RowChangedName="BatchListRowChanged" msprop:Generator_RowEvArgName="BatchListRowChangeEvent" msprop:Generator_RowClassName="BatchListRow">
<xs:element name="BatchList" msprop:Generator_TableClassName="BatchListDataTable" msprop:Generator_TableVarName="tableBatchList" msprop:Generator_RowChangedName="BatchListRowChanged" msprop:Generator_TablePropName="BatchList" msprop:Generator_RowDeletingName="BatchListRowDeleting" msprop:Generator_RowChangingName="BatchListRowChanging" msprop:Generator_RowEvHandlerName="BatchListRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchListRowDeleted" msprop:Generator_RowClassName="BatchListRow" msprop:Generator_UserTableName="BatchList" msprop:Generator_RowEvArgName="BatchListRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="BatchID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" />
@@ -3710,7 +4003,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StackList" msprop:Generator_TableClassName="StackListDataTable" msprop:Generator_TableVarName="tableStackList" msprop:Generator_TablePropName="StackList" msprop:Generator_RowDeletingName="StackListRowDeleting" msprop:Generator_RowChangingName="StackListRowChanging" msprop:Generator_RowEvHandlerName="StackListRowChangeEventHandler" msprop:Generator_RowDeletedName="StackListRowDeleted" msprop:Generator_UserTableName="StackList" msprop:Generator_RowChangedName="StackListRowChanged" msprop:Generator_RowEvArgName="StackListRowChangeEvent" msprop:Generator_RowClassName="StackListRow">
<xs:element name="StackList" msprop:Generator_TableClassName="StackListDataTable" msprop:Generator_TableVarName="tableStackList" msprop:Generator_RowChangedName="StackListRowChanged" msprop:Generator_TablePropName="StackList" msprop:Generator_RowDeletingName="StackListRowDeleting" msprop:Generator_RowChangingName="StackListRowChanging" msprop:Generator_RowEvHandlerName="StackListRowChangeEventHandler" msprop:Generator_RowDeletedName="StackListRowDeleted" msprop:Generator_RowClassName="StackListRow" msprop:Generator_UserTableName="StackList" msprop:Generator_RowEvArgName="StackListRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="StackID" msprop:Generator_ColumnVarNameInTable="columnStackID" msprop:Generator_ColumnPropNameInRow="StackID" msprop:Generator_ColumnPropNameInTable="StackIDColumn" msprop:Generator_UserColumnName="StackID" type="xs:int" />
@@ -3735,7 +4028,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SheetList" msprop:Generator_TableClassName="SheetListDataTable" msprop:Generator_TableVarName="tableSheetList" msprop:Generator_TablePropName="SheetList" msprop:Generator_RowDeletingName="SheetListRowDeleting" msprop:Generator_RowChangingName="SheetListRowChanging" msprop:Generator_RowEvHandlerName="SheetListRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetListRowDeleted" msprop:Generator_UserTableName="SheetList" msprop:Generator_RowChangedName="SheetListRowChanged" msprop:Generator_RowEvArgName="SheetListRowChangeEvent" msprop:Generator_RowClassName="SheetListRow">
<xs:element name="SheetList" msprop:Generator_TableClassName="SheetListDataTable" msprop:Generator_TableVarName="tableSheetList" msprop:Generator_RowChangedName="SheetListRowChanged" msprop:Generator_TablePropName="SheetList" msprop:Generator_RowDeletingName="SheetListRowDeleting" msprop:Generator_RowChangingName="SheetListRowChanging" msprop:Generator_RowEvHandlerName="SheetListRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetListRowDeleted" msprop:Generator_RowClassName="SheetListRow" msprop:Generator_UserTableName="SheetList" msprop:Generator_RowEvArgName="SheetListRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="SheetID" msprop:Generator_ColumnVarNameInTable="columnSheetID" msprop:Generator_ColumnPropNameInRow="SheetID" msprop:Generator_ColumnPropNameInTable="SheetIDColumn" msprop:Generator_UserColumnName="SheetID" type="xs:int" />
@@ -3790,7 +4083,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OrderList" msprop:Generator_TableClassName="OrderListDataTable" msprop:Generator_TableVarName="tableOrderList" msprop:Generator_TablePropName="OrderList" msprop:Generator_RowDeletingName="OrderListRowDeleting" msprop:Generator_RowChangingName="OrderListRowChanging" msprop:Generator_RowEvHandlerName="OrderListRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderListRowDeleted" msprop:Generator_UserTableName="OrderList" msprop:Generator_RowChangedName="OrderListRowChanged" msprop:Generator_RowEvArgName="OrderListRowChangeEvent" msprop:Generator_RowClassName="OrderListRow">
<xs:element name="OrderList" msprop:Generator_TableClassName="OrderListDataTable" msprop:Generator_TableVarName="tableOrderList" msprop:Generator_RowChangedName="OrderListRowChanged" msprop:Generator_TablePropName="OrderList" msprop:Generator_RowDeletingName="OrderListRowDeleting" msprop:Generator_RowChangingName="OrderListRowChanging" msprop:Generator_RowEvHandlerName="OrderListRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderListRowDeleted" msprop:Generator_RowClassName="OrderListRow" msprop:Generator_UserTableName="OrderList" msprop:Generator_RowEvArgName="OrderListRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="OrdID" msprop:Generator_ColumnVarNameInTable="columnOrdID" msprop:Generator_ColumnPropNameInRow="OrdID" msprop:Generator_ColumnPropNameInTable="OrdIDColumn" msprop:Generator_UserColumnName="OrdID" type="xs:int" />
@@ -3863,7 +4156,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ItemList" msprop:Generator_TableClassName="ItemListDataTable" msprop:Generator_TableVarName="tableItemList" msprop:Generator_TablePropName="ItemList" msprop:Generator_RowDeletingName="ItemListRowDeleting" msprop:Generator_RowChangingName="ItemListRowChanging" msprop:Generator_RowEvHandlerName="ItemListRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemListRowDeleted" msprop:Generator_UserTableName="ItemList" msprop:Generator_RowChangedName="ItemListRowChanged" msprop:Generator_RowEvArgName="ItemListRowChangeEvent" msprop:Generator_RowClassName="ItemListRow">
<xs:element name="ItemList" msprop:Generator_TableClassName="ItemListDataTable" msprop:Generator_TableVarName="tableItemList" msprop:Generator_RowChangedName="ItemListRowChanged" msprop:Generator_TablePropName="ItemList" msprop:Generator_RowDeletingName="ItemListRowDeleting" msprop:Generator_RowChangingName="ItemListRowChanging" msprop:Generator_RowEvHandlerName="ItemListRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemListRowDeleted" msprop:Generator_RowClassName="ItemListRow" msprop:Generator_UserTableName="ItemList" msprop:Generator_RowEvArgName="ItemListRowChangeEvent">
<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" />
@@ -3932,7 +4225,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Materials" msprop:Generator_TableClassName="MaterialsDataTable" msprop:Generator_TableVarName="tableMaterials" msprop:Generator_RowChangedName="MaterialsRowChanged" msprop:Generator_TablePropName="Materials" msprop:Generator_RowDeletingName="MaterialsRowDeleting" msprop:Generator_RowChangingName="MaterialsRowChanging" msprop:Generator_RowEvHandlerName="MaterialsRowChangeEventHandler" msprop:Generator_RowDeletedName="MaterialsRowDeleted" msprop:Generator_RowClassName="MaterialsRow" msprop:Generator_UserTableName="Materials" msprop:Generator_RowEvArgName="MaterialsRowChangeEvent">
<xs:element name="Materials" msprop:Generator_TableClassName="MaterialsDataTable" msprop:Generator_TableVarName="tableMaterials" msprop:Generator_TablePropName="Materials" msprop:Generator_RowDeletingName="MaterialsRowDeleting" msprop:Generator_RowChangingName="MaterialsRowChanging" msprop:Generator_RowEvHandlerName="MaterialsRowChangeEventHandler" msprop:Generator_RowDeletedName="MaterialsRowDeleted" msprop:Generator_UserTableName="Materials" msprop:Generator_RowChangedName="MaterialsRowChanged" msprop:Generator_RowEvArgName="MaterialsRowChangeEvent" msprop:Generator_RowClassName="MaterialsRow">
<xs:complexType>
<xs:sequence>
<xs:element name="MatID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnMatID" msprop:Generator_ColumnPropNameInRow="MatID" msprop:Generator_ColumnPropNameInTable="MatIDColumn" msprop:Generator_UserColumnName="MatID" type="xs:int" />
@@ -3965,7 +4258,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Bins" msprop:Generator_TableClassName="BinsDataTable" msprop:Generator_TableVarName="tableBins" msprop:Generator_RowChangedName="BinsRowChanged" msprop:Generator_TablePropName="Bins" msprop:Generator_RowDeletingName="BinsRowDeleting" msprop:Generator_RowChangingName="BinsRowChanging" msprop:Generator_RowEvHandlerName="BinsRowChangeEventHandler" msprop:Generator_RowDeletedName="BinsRowDeleted" msprop:Generator_RowClassName="BinsRow" msprop:Generator_UserTableName="Bins" msprop:Generator_RowEvArgName="BinsRowChangeEvent">
<xs:element name="Bins" msprop:Generator_TableClassName="BinsDataTable" msprop:Generator_TableVarName="tableBins" msprop:Generator_TablePropName="Bins" msprop:Generator_RowDeletingName="BinsRowDeleting" msprop:Generator_RowChangingName="BinsRowChanging" msprop:Generator_RowEvHandlerName="BinsRowChangeEventHandler" msprop:Generator_RowDeletedName="BinsRowDeleted" msprop:Generator_UserTableName="Bins" msprop:Generator_RowChangedName="BinsRowChanged" msprop:Generator_RowEvArgName="BinsRowChangeEvent" msprop:Generator_RowClassName="BinsRow">
<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" />
@@ -4037,7 +4330,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Carts" msprop:Generator_TableClassName="CartsDataTable" msprop:Generator_TableVarName="tableCarts" msprop:Generator_RowChangedName="CartsRowChanged" msprop:Generator_TablePropName="Carts" msprop:Generator_RowDeletingName="CartsRowDeleting" msprop:Generator_RowChangingName="CartsRowChanging" msprop:Generator_RowEvHandlerName="CartsRowChangeEventHandler" msprop:Generator_RowDeletedName="CartsRowDeleted" msprop:Generator_RowClassName="CartsRow" msprop:Generator_UserTableName="Carts" msprop:Generator_RowEvArgName="CartsRowChangeEvent">
<xs:element name="Carts" msprop:Generator_TableClassName="CartsDataTable" msprop:Generator_TableVarName="tableCarts" msprop:Generator_TablePropName="Carts" msprop:Generator_RowDeletingName="CartsRowDeleting" msprop:Generator_RowChangingName="CartsRowChanging" msprop:Generator_RowEvHandlerName="CartsRowChangeEventHandler" msprop:Generator_RowDeletedName="CartsRowDeleted" msprop:Generator_UserTableName="Carts" msprop:Generator_RowChangedName="CartsRowChanged" msprop:Generator_RowEvArgName="CartsRowChangeEvent" msprop:Generator_RowClassName="CartsRow">
<xs:complexType>
<xs:sequence>
<xs:element name="CartID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnCartID" msprop:Generator_ColumnPropNameInRow="CartID" msprop:Generator_ColumnPropNameInTable="CartIDColumn" msprop:Generator_UserColumnName="CartID" type="xs:int" />
@@ -4056,7 +4349,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OfflineOrderList" msprop:Generator_TableClassName="OfflineOrderListDataTable" msprop:Generator_TableVarName="tableOfflineOrderList" msprop:Generator_TablePropName="OfflineOrderList" msprop:Generator_RowDeletingName="OfflineOrderListRowDeleting" msprop:Generator_RowChangingName="OfflineOrderListRowChanging" msprop:Generator_RowEvHandlerName="OfflineOrderListRowChangeEventHandler" msprop:Generator_RowDeletedName="OfflineOrderListRowDeleted" msprop:Generator_UserTableName="OfflineOrderList" msprop:Generator_RowChangedName="OfflineOrderListRowChanged" msprop:Generator_RowEvArgName="OfflineOrderListRowChangeEvent" msprop:Generator_RowClassName="OfflineOrderListRow">
<xs:element name="OfflineOrderList" msprop:Generator_TableClassName="OfflineOrderListDataTable" msprop:Generator_TableVarName="tableOfflineOrderList" msprop:Generator_RowChangedName="OfflineOrderListRowChanged" msprop:Generator_TablePropName="OfflineOrderList" msprop:Generator_RowDeletingName="OfflineOrderListRowDeleting" msprop:Generator_RowChangingName="OfflineOrderListRowChanging" msprop:Generator_RowEvHandlerName="OfflineOrderListRowChangeEventHandler" msprop:Generator_RowDeletedName="OfflineOrderListRowDeleted" msprop:Generator_RowClassName="OfflineOrderListRow" msprop:Generator_UserTableName="OfflineOrderList" msprop:Generator_RowEvArgName="OfflineOrderListRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="OrdID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnOrdID" msprop:Generator_ColumnPropNameInRow="OrdID" msprop:Generator_ColumnPropNameInTable="OrdIDColumn" msprop:Generator_UserColumnName="OrdID" type="xs:int" />
@@ -4087,7 +4380,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OffOrd2Item" msprop:Generator_TableClassName="OffOrd2ItemDataTable" msprop:Generator_TableVarName="tableOffOrd2Item" msprop:Generator_TablePropName="OffOrd2Item" msprop:Generator_RowDeletingName="OffOrd2ItemRowDeleting" msprop:Generator_RowChangingName="OffOrd2ItemRowChanging" msprop:Generator_RowEvHandlerName="OffOrd2ItemRowChangeEventHandler" msprop:Generator_RowDeletedName="OffOrd2ItemRowDeleted" msprop:Generator_UserTableName="OffOrd2Item" msprop:Generator_RowChangedName="OffOrd2ItemRowChanged" msprop:Generator_RowEvArgName="OffOrd2ItemRowChangeEvent" msprop:Generator_RowClassName="OffOrd2ItemRow">
<xs:element name="OffOrd2Item" msprop:Generator_TableClassName="OffOrd2ItemDataTable" msprop:Generator_TableVarName="tableOffOrd2Item" msprop:Generator_RowChangedName="OffOrd2ItemRowChanged" msprop:Generator_TablePropName="OffOrd2Item" msprop:Generator_RowDeletingName="OffOrd2ItemRowDeleting" msprop:Generator_RowChangingName="OffOrd2ItemRowChanging" msprop:Generator_RowEvHandlerName="OffOrd2ItemRowChangeEventHandler" msprop:Generator_RowDeletedName="OffOrd2ItemRowDeleted" msprop:Generator_RowClassName="OffOrd2ItemRow" msprop:Generator_UserTableName="OffOrd2Item" msprop:Generator_RowEvArgName="OffOrd2ItemRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="OrdID" msprop:Generator_ColumnVarNameInTable="columnOrdID" msprop:Generator_ColumnPropNameInRow="OrdID" msprop:Generator_ColumnPropNameInTable="OrdIDColumn" msprop:Generator_UserColumnName="OrdID" type="xs:int" />
@@ -4095,7 +4388,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="KitList" msprop:Generator_TableClassName="KitListDataTable" msprop:Generator_TableVarName="tableKitList" msprop:Generator_RowChangedName="KitListRowChanged" msprop:Generator_TablePropName="KitList" msprop:Generator_RowDeletingName="KitListRowDeleting" msprop:Generator_RowChangingName="KitListRowChanging" msprop:Generator_RowEvHandlerName="KitListRowChangeEventHandler" msprop:Generator_RowDeletedName="KitListRowDeleted" msprop:Generator_RowClassName="KitListRow" msprop:Generator_UserTableName="KitList" msprop:Generator_RowEvArgName="KitListRowChangeEvent">
<xs:element name="KitList" msprop:Generator_TableClassName="KitListDataTable" msprop:Generator_TableVarName="tableKitList" msprop:Generator_TablePropName="KitList" msprop:Generator_RowDeletingName="KitListRowDeleting" msprop:Generator_RowChangingName="KitListRowChanging" msprop:Generator_RowEvHandlerName="KitListRowChangeEventHandler" msprop:Generator_RowDeletedName="KitListRowDeleted" msprop:Generator_UserTableName="KitList" msprop:Generator_RowChangedName="KitListRowChanged" msprop:Generator_RowEvArgName="KitListRowChangeEvent" msprop:Generator_RowClassName="KitListRow">
<xs:complexType>
<xs:sequence>
<xs:element name="KitID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnKitID" msprop:Generator_ColumnPropNameInRow="KitID" msprop:Generator_ColumnPropNameInTable="KitIDColumn" msprop:Generator_UserColumnName="KitID" type="xs:int" />
@@ -4112,7 +4405,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Nesting" msprop:Generator_TableClassName="NestingDataTable" msprop:Generator_TableVarName="tableNesting" msprop:Generator_TablePropName="Nesting" msprop:Generator_RowDeletingName="NestingRowDeleting" msprop:Generator_RowChangingName="NestingRowChanging" msprop:Generator_RowEvHandlerName="NestingRowChangeEventHandler" msprop:Generator_RowDeletedName="NestingRowDeleted" msprop:Generator_UserTableName="Nesting" msprop:Generator_RowChangedName="NestingRowChanged" msprop:Generator_RowEvArgName="NestingRowChangeEvent" msprop:Generator_RowClassName="NestingRow">
<xs:element name="Nesting" msprop:Generator_TableClassName="NestingDataTable" msprop:Generator_TableVarName="tableNesting" msprop:Generator_RowChangedName="NestingRowChanged" msprop:Generator_TablePropName="Nesting" msprop:Generator_RowDeletingName="NestingRowDeleting" msprop:Generator_RowChangingName="NestingRowChanging" msprop:Generator_RowEvHandlerName="NestingRowChangeEventHandler" msprop:Generator_RowDeletedName="NestingRowDeleted" msprop:Generator_RowClassName="NestingRow" msprop:Generator_UserTableName="Nesting" msprop:Generator_RowEvArgName="NestingRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="SheetID" msprop:Generator_ColumnVarNameInTable="columnSheetID" msprop:Generator_ColumnPropNameInRow="SheetID" msprop:Generator_ColumnPropNameInTable="SheetIDColumn" msprop:Generator_UserColumnName="SheetID" type="xs:int" />
@@ -4121,7 +4414,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ImportLog" msprop:Generator_TableClassName="ImportLogDataTable" msprop:Generator_TableVarName="tableImportLog" msprop:Generator_TablePropName="ImportLog" msprop:Generator_RowDeletingName="ImportLogRowDeleting" msprop:Generator_RowChangingName="ImportLogRowChanging" msprop:Generator_RowEvHandlerName="ImportLogRowChangeEventHandler" msprop:Generator_RowDeletedName="ImportLogRowDeleted" msprop:Generator_UserTableName="ImportLog" msprop:Generator_RowChangedName="ImportLogRowChanged" msprop:Generator_RowEvArgName="ImportLogRowChangeEvent" msprop:Generator_RowClassName="ImportLogRow">
<xs:element name="ImportLog" msprop:Generator_TableClassName="ImportLogDataTable" msprop:Generator_TableVarName="tableImportLog" msprop:Generator_RowChangedName="ImportLogRowChanged" msprop:Generator_TablePropName="ImportLog" msprop:Generator_RowDeletingName="ImportLogRowDeleting" msprop:Generator_RowChangingName="ImportLogRowChanging" msprop:Generator_RowEvHandlerName="ImportLogRowChangeEventHandler" msprop:Generator_RowDeletedName="ImportLogRowDeleted" msprop:Generator_RowClassName="ImportLogRow" msprop:Generator_UserTableName="ImportLog" msprop:Generator_RowEvArgName="ImportLogRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="NumLog" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnNumLog" msprop:Generator_ColumnPropNameInRow="NumLog" msprop:Generator_ColumnPropNameInTable="NumLogColumn" msprop:Generator_UserColumnName="NumLog" type="xs:int" />
@@ -4152,7 +4445,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BinList" msprop:Generator_TableClassName="BinListDataTable" msprop:Generator_TableVarName="tableBinList" msprop:Generator_TablePropName="BinList" msprop:Generator_RowDeletingName="BinListRowDeleting" msprop:Generator_RowChangingName="BinListRowChanging" msprop:Generator_RowEvHandlerName="BinListRowChangeEventHandler" msprop:Generator_RowDeletedName="BinListRowDeleted" msprop:Generator_UserTableName="BinList" msprop:Generator_RowChangedName="BinListRowChanged" msprop:Generator_RowEvArgName="BinListRowChangeEvent" msprop:Generator_RowClassName="BinListRow">
<xs:element name="BinList" msprop:Generator_TableClassName="BinListDataTable" msprop:Generator_TableVarName="tableBinList" msprop:Generator_RowChangedName="BinListRowChanged" msprop:Generator_TablePropName="BinList" msprop:Generator_RowDeletingName="BinListRowDeleting" msprop:Generator_RowChangingName="BinListRowChanging" msprop:Generator_RowEvHandlerName="BinListRowChangeEventHandler" msprop:Generator_RowDeletedName="BinListRowDeleted" msprop:Generator_RowClassName="BinListRow" msprop:Generator_UserTableName="BinList" msprop:Generator_RowEvArgName="BinListRowChangeEvent">
<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" />
@@ -4160,7 +4453,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FinalKit" msprop:Generator_TableClassName="FinalKitDataTable" msprop:Generator_TableVarName="tableFinalKit" msprop:Generator_RowChangedName="FinalKitRowChanged" msprop:Generator_TablePropName="FinalKit" msprop:Generator_RowDeletingName="FinalKitRowDeleting" msprop:Generator_RowChangingName="FinalKitRowChanging" msprop:Generator_RowEvHandlerName="FinalKitRowChangeEventHandler" msprop:Generator_RowDeletedName="FinalKitRowDeleted" msprop:Generator_RowClassName="FinalKitRow" msprop:Generator_UserTableName="FinalKit" msprop:Generator_RowEvArgName="FinalKitRowChangeEvent">
<xs:element name="FinalKit" msprop:Generator_TableClassName="FinalKitDataTable" msprop:Generator_TableVarName="tableFinalKit" msprop:Generator_TablePropName="FinalKit" msprop:Generator_RowDeletingName="FinalKitRowDeleting" msprop:Generator_RowChangingName="FinalKitRowChanging" msprop:Generator_RowEvHandlerName="FinalKitRowChangeEventHandler" msprop:Generator_RowDeletedName="FinalKitRowDeleted" msprop:Generator_UserTableName="FinalKit" msprop:Generator_RowChangedName="FinalKitRowChanged" msprop:Generator_RowEvArgName="FinalKitRowChangeEvent" msprop:Generator_RowClassName="FinalKitRow">
<xs:complexType>
<xs:sequence>
<xs:element name="FinalKitID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnFinalKitID" msprop:Generator_ColumnPropNameInRow="FinalKitID" msprop:Generator_ColumnPropNameInTable="FinalKitIDColumn" msprop:Generator_UserColumnName="FinalKitID" type="xs:int" />
@@ -4176,7 +4469,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Order2FinalKit" msprop:Generator_TableClassName="Order2FinalKitDataTable" msprop:Generator_TableVarName="tableOrder2FinalKit" msprop:Generator_RowChangedName="Order2FinalKitRowChanged" msprop:Generator_TablePropName="Order2FinalKit" msprop:Generator_RowDeletingName="Order2FinalKitRowDeleting" msprop:Generator_RowChangingName="Order2FinalKitRowChanging" msprop:Generator_RowEvHandlerName="Order2FinalKitRowChangeEventHandler" msprop:Generator_RowDeletedName="Order2FinalKitRowDeleted" msprop:Generator_RowClassName="Order2FinalKitRow" msprop:Generator_UserTableName="Order2FinalKit" msprop:Generator_RowEvArgName="Order2FinalKitRowChangeEvent">
<xs:element name="Order2FinalKit" msprop:Generator_TableClassName="Order2FinalKitDataTable" msprop:Generator_TableVarName="tableOrder2FinalKit" msprop:Generator_TablePropName="Order2FinalKit" msprop:Generator_RowDeletingName="Order2FinalKitRowDeleting" msprop:Generator_RowChangingName="Order2FinalKitRowChanging" msprop:Generator_RowEvHandlerName="Order2FinalKitRowChangeEventHandler" msprop:Generator_RowDeletedName="Order2FinalKitRowDeleted" msprop:Generator_UserTableName="Order2FinalKit" msprop:Generator_RowChangedName="Order2FinalKitRowChanged" msprop:Generator_RowEvArgName="Order2FinalKitRowChangeEvent" msprop:Generator_RowClassName="Order2FinalKitRow">
<xs:complexType>
<xs:sequence>
<xs:element name="FinalKitID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnFinalKitID" msprop:Generator_ColumnPropNameInRow="FinalKitID" msprop:Generator_ColumnPropNameInTable="FinalKitIDColumn" msprop:Generator_UserColumnName="FinalKitID" type="xs:int" />
@@ -4184,7 +4477,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Counters" msprop:Generator_TableClassName="CountersDataTable" msprop:Generator_TableVarName="tableCounters" msprop:Generator_TablePropName="Counters" msprop:Generator_RowDeletingName="CountersRowDeleting" msprop:Generator_RowChangingName="CountersRowChanging" msprop:Generator_RowEvHandlerName="CountersRowChangeEventHandler" msprop:Generator_RowDeletedName="CountersRowDeleted" msprop:Generator_UserTableName="Counters" msprop:Generator_RowChangedName="CountersRowChanged" msprop:Generator_RowEvArgName="CountersRowChangeEvent" msprop:Generator_RowClassName="CountersRow">
<xs:element name="Counters" msprop:Generator_TableClassName="CountersDataTable" msprop:Generator_TableVarName="tableCounters" msprop:Generator_RowChangedName="CountersRowChanged" msprop:Generator_TablePropName="Counters" msprop:Generator_RowDeletingName="CountersRowDeleting" msprop:Generator_RowChangingName="CountersRowChanging" msprop:Generator_RowEvHandlerName="CountersRowChangeEventHandler" msprop:Generator_RowDeletedName="CountersRowDeleted" msprop:Generator_RowClassName="CountersRow" msprop:Generator_UserTableName="Counters" msprop:Generator_RowEvArgName="CountersRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="CountType" msprop:Generator_ColumnVarNameInTable="columnCountType" msprop:Generator_ColumnPropNameInRow="CountType" msprop:Generator_ColumnPropNameInTable="CountTypeColumn" msprop:Generator_UserColumnName="CountType">
@@ -4212,7 +4505,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ErrorsLog" msprop:Generator_TableClassName="ErrorsLogDataTable" msprop:Generator_TableVarName="tableErrorsLog" msprop:Generator_RowChangedName="ErrorsLogRowChanged" msprop:Generator_TablePropName="ErrorsLog" msprop:Generator_RowDeletingName="ErrorsLogRowDeleting" msprop:Generator_RowChangingName="ErrorsLogRowChanging" msprop:Generator_RowEvHandlerName="ErrorsLogRowChangeEventHandler" msprop:Generator_RowDeletedName="ErrorsLogRowDeleted" msprop:Generator_RowClassName="ErrorsLogRow" msprop:Generator_UserTableName="ErrorsLog" msprop:Generator_RowEvArgName="ErrorsLogRowChangeEvent">
<xs:element name="ErrorsLog" msprop:Generator_TableClassName="ErrorsLogDataTable" msprop:Generator_TableVarName="tableErrorsLog" msprop:Generator_TablePropName="ErrorsLog" msprop:Generator_RowDeletingName="ErrorsLogRowDeleting" msprop:Generator_RowChangingName="ErrorsLogRowChanging" msprop:Generator_RowEvHandlerName="ErrorsLogRowChangeEventHandler" msprop:Generator_RowDeletedName="ErrorsLogRowDeleted" msprop:Generator_UserTableName="ErrorsLog" msprop:Generator_RowChangedName="ErrorsLogRowChanged" msprop:Generator_RowEvArgName="ErrorsLogRowChangeEvent" msprop:Generator_RowClassName="ErrorsLogRow">
<xs:complexType>
<xs:sequence>
<xs:element name="ErrID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnErrID" msprop:Generator_ColumnPropNameInRow="ErrID" msprop:Generator_ColumnPropNameInTable="ErrIDColumn" msprop:Generator_UserColumnName="ErrID" type="xs:int" />
@@ -4248,7 +4541,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ItemValidation" msprop:Generator_TableClassName="ItemValidationDataTable" msprop:Generator_TableVarName="tableItemValidation" msprop:Generator_RowChangedName="ItemValidationRowChanged" msprop:Generator_TablePropName="ItemValidation" msprop:Generator_RowDeletingName="ItemValidationRowDeleting" msprop:Generator_RowChangingName="ItemValidationRowChanging" msprop:Generator_RowEvHandlerName="ItemValidationRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemValidationRowDeleted" msprop:Generator_RowClassName="ItemValidationRow" msprop:Generator_UserTableName="ItemValidation" msprop:Generator_RowEvArgName="ItemValidationRowChangeEvent">
<xs:element name="ItemValidation" msprop:Generator_TableClassName="ItemValidationDataTable" msprop:Generator_TableVarName="tableItemValidation" msprop:Generator_TablePropName="ItemValidation" msprop:Generator_RowDeletingName="ItemValidationRowDeleting" msprop:Generator_RowChangingName="ItemValidationRowChanging" msprop:Generator_RowEvHandlerName="ItemValidationRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemValidationRowDeleted" msprop:Generator_UserTableName="ItemValidation" msprop:Generator_RowChangedName="ItemValidationRowChanged" msprop:Generator_RowEvArgName="ItemValidationRowChangeEvent" msprop:Generator_RowClassName="ItemValidationRow">
<xs:complexType>
<xs:sequence>
<xs:element name="ItemExtCode" msprop:Generator_ColumnVarNameInTable="columnItemExtCode" msprop:Generator_ColumnPropNameInRow="ItemExtCode" msprop:Generator_ColumnPropNameInTable="ItemExtCodeColumn" msprop:Generator_UserColumnName="ItemExtCode">
@@ -4264,7 +4557,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PartValidPareto" msprop:Generator_TableClassName="PartValidParetoDataTable" msprop:Generator_TableVarName="tablePartValidPareto" msprop:Generator_TablePropName="PartValidPareto" msprop:Generator_RowDeletingName="PartValidParetoRowDeleting" msprop:Generator_RowChangingName="PartValidParetoRowChanging" msprop:Generator_RowEvHandlerName="PartValidParetoRowChangeEventHandler" msprop:Generator_RowDeletedName="PartValidParetoRowDeleted" msprop:Generator_UserTableName="PartValidPareto" msprop:Generator_RowChangedName="PartValidParetoRowChanged" msprop:Generator_RowEvArgName="PartValidParetoRowChangeEvent" msprop:Generator_RowClassName="PartValidParetoRow">
<xs:element name="PartValidPareto" msprop:Generator_TableClassName="PartValidParetoDataTable" msprop:Generator_TableVarName="tablePartValidPareto" msprop:Generator_RowChangedName="PartValidParetoRowChanged" msprop:Generator_TablePropName="PartValidPareto" msprop:Generator_RowDeletingName="PartValidParetoRowDeleting" msprop:Generator_RowChangingName="PartValidParetoRowChanging" msprop:Generator_RowEvHandlerName="PartValidParetoRowChangeEventHandler" msprop:Generator_RowDeletedName="PartValidParetoRowDeleted" msprop:Generator_RowClassName="PartValidParetoRow" msprop:Generator_UserTableName="PartValidPareto" msprop:Generator_RowEvArgName="PartValidParetoRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="TotParts" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnTotParts" msprop:Generator_ColumnPropNameInRow="TotParts" msprop:Generator_ColumnPropNameInTable="TotPartsColumn" msprop:Generator_UserColumnName="TotParts" type="xs:int" minOccurs="0" />
@@ -4274,7 +4567,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UnloadStats" msprop:Generator_TableClassName="UnloadStatsDataTable" msprop:Generator_TableVarName="tableUnloadStats" msprop:Generator_TablePropName="UnloadStats" msprop:Generator_RowDeletingName="UnloadStatsRowDeleting" msprop:Generator_RowChangingName="UnloadStatsRowChanging" msprop:Generator_RowEvHandlerName="UnloadStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="UnloadStatsRowDeleted" msprop:Generator_UserTableName="UnloadStats" msprop:Generator_RowChangedName="UnloadStatsRowChanged" msprop:Generator_RowEvArgName="UnloadStatsRowChangeEvent" msprop:Generator_RowClassName="UnloadStatsRow">
<xs:element name="UnloadStats" msprop:Generator_TableClassName="UnloadStatsDataTable" msprop:Generator_TableVarName="tableUnloadStats" msprop:Generator_RowChangedName="UnloadStatsRowChanged" msprop:Generator_TablePropName="UnloadStats" msprop:Generator_RowDeletingName="UnloadStatsRowDeleting" msprop:Generator_RowChangingName="UnloadStatsRowChanging" msprop:Generator_RowEvHandlerName="UnloadStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="UnloadStatsRowDeleted" msprop:Generator_RowClassName="UnloadStatsRow" msprop:Generator_UserTableName="UnloadStats" msprop:Generator_RowEvArgName="UnloadStatsRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="Stat" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnStat" msprop:Generator_ColumnPropNameInRow="Stat" msprop:Generator_ColumnPropNameInTable="StatColumn" msprop:Generator_UserColumnName="Stat" minOccurs="0">
@@ -4291,7 +4584,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Remnants" msprop:Generator_TableClassName="RemnantsDataTable" msprop:Generator_TableVarName="tableRemnants" msprop:Generator_RowChangedName="RemnantsRowChanged" msprop:Generator_TablePropName="Remnants" msprop:Generator_RowDeletingName="RemnantsRowDeleting" msprop:Generator_RowChangingName="RemnantsRowChanging" msprop:Generator_RowEvHandlerName="RemnantsRowChangeEventHandler" msprop:Generator_RowDeletedName="RemnantsRowDeleted" msprop:Generator_RowClassName="RemnantsRow" msprop:Generator_UserTableName="Remnants" msprop:Generator_RowEvArgName="RemnantsRowChangeEvent">
<xs:element name="Remnants" msprop:Generator_TableClassName="RemnantsDataTable" msprop:Generator_TableVarName="tableRemnants" msprop:Generator_TablePropName="Remnants" msprop:Generator_RowDeletingName="RemnantsRowDeleting" msprop:Generator_RowChangingName="RemnantsRowChanging" msprop:Generator_RowEvHandlerName="RemnantsRowChangeEventHandler" msprop:Generator_RowDeletedName="RemnantsRowDeleted" msprop:Generator_UserTableName="Remnants" msprop:Generator_RowChangedName="RemnantsRowChanged" msprop:Generator_RowEvArgName="RemnantsRowChangeEvent" msprop:Generator_RowClassName="RemnantsRow">
<xs:complexType>
<xs:sequence>
<xs:element name="RemnantID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnRemnantID" msprop:Generator_ColumnPropNameInRow="RemnantID" msprop:Generator_ColumnPropNameInTable="RemnantIDColumn" msprop:Generator_UserColumnName="RemnantID" type="xs:int" />
@@ -4304,7 +4597,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CartOnKit" msprop:Generator_TableClassName="CartOnKitDataTable" msprop:Generator_TableVarName="tableCartOnKit" msprop:Generator_RowChangedName="CartOnKitRowChanged" msprop:Generator_TablePropName="CartOnKit" msprop:Generator_RowDeletingName="CartOnKitRowDeleting" msprop:Generator_RowChangingName="CartOnKitRowChanging" msprop:Generator_RowEvHandlerName="CartOnKitRowChangeEventHandler" msprop:Generator_RowDeletedName="CartOnKitRowDeleted" msprop:Generator_RowClassName="CartOnKitRow" msprop:Generator_UserTableName="CartOnKit" msprop:Generator_RowEvArgName="CartOnKitRowChangeEvent">
<xs:element name="CartOnKit" msprop:Generator_TableClassName="CartOnKitDataTable" msprop:Generator_TableVarName="tableCartOnKit" msprop:Generator_TablePropName="CartOnKit" msprop:Generator_RowDeletingName="CartOnKitRowDeleting" msprop:Generator_RowChangingName="CartOnKitRowChanging" msprop:Generator_RowEvHandlerName="CartOnKitRowChangeEventHandler" msprop:Generator_RowDeletedName="CartOnKitRowDeleted" msprop:Generator_UserTableName="CartOnKit" msprop:Generator_RowChangedName="CartOnKitRowChanged" msprop:Generator_RowEvArgName="CartOnKitRowChangeEvent" msprop:Generator_RowClassName="CartOnKitRow">
<xs:complexType>
<xs:sequence>
<xs:element name="CartID" msprop:Generator_ColumnVarNameInTable="columnCartID" msprop:Generator_ColumnPropNameInRow="CartID" msprop:Generator_ColumnPropNameInTable="CartIDColumn" msprop:Generator_UserColumnName="CartID" type="xs:int" />
@@ -4353,7 +4646,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PackList" msprop:Generator_TableClassName="PackListDataTable" msprop:Generator_TableVarName="tablePackList" msprop:Generator_RowChangedName="PackListRowChanged" msprop:Generator_TablePropName="PackList" msprop:Generator_RowDeletingName="PackListRowDeleting" msprop:Generator_RowChangingName="PackListRowChanging" msprop:Generator_RowEvHandlerName="PackListRowChangeEventHandler" msprop:Generator_RowDeletedName="PackListRowDeleted" msprop:Generator_RowClassName="PackListRow" msprop:Generator_UserTableName="PackList" msprop:Generator_RowEvArgName="PackListRowChangeEvent">
<xs:element name="PackList" msprop:Generator_TableClassName="PackListDataTable" msprop:Generator_TableVarName="tablePackList" msprop:Generator_TablePropName="PackList" msprop:Generator_RowDeletingName="PackListRowDeleting" msprop:Generator_RowChangingName="PackListRowChanging" msprop:Generator_RowEvHandlerName="PackListRowChangeEventHandler" msprop:Generator_RowDeletedName="PackListRowDeleted" msprop:Generator_UserTableName="PackList" msprop:Generator_RowChangedName="PackListRowChanged" msprop:Generator_RowEvArgName="PackListRowChangeEvent" msprop:Generator_RowClassName="PackListRow">
<xs:complexType>
<xs:sequence>
<xs:element name="PackListID" msprop:Generator_ColumnVarNameInTable="columnPackListID" msprop:Generator_ColumnPropNameInRow="PackListID" msprop:Generator_ColumnPropNameInTable="PackListIDColumn" msprop:Generator_UserColumnName="PackListID" type="xs:int" />
@@ -4382,7 +4675,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OtherItem" msprop:Generator_TableClassName="OtherItemDataTable" msprop:Generator_TableVarName="tableOtherItem" msprop:Generator_RowChangedName="OtherItemRowChanged" msprop:Generator_TablePropName="OtherItem" msprop:Generator_RowDeletingName="OtherItemRowDeleting" msprop:Generator_RowChangingName="OtherItemRowChanging" msprop:Generator_RowEvHandlerName="OtherItemRowChangeEventHandler" msprop:Generator_RowDeletedName="OtherItemRowDeleted" msprop:Generator_RowClassName="OtherItemRow" msprop:Generator_UserTableName="OtherItem" msprop:Generator_RowEvArgName="OtherItemRowChangeEvent">
<xs:element name="OtherItem" msprop:Generator_TableClassName="OtherItemDataTable" msprop:Generator_TableVarName="tableOtherItem" msprop:Generator_TablePropName="OtherItem" msprop:Generator_RowDeletingName="OtherItemRowDeleting" msprop:Generator_RowChangingName="OtherItemRowChanging" msprop:Generator_RowEvHandlerName="OtherItemRowChangeEventHandler" msprop:Generator_RowDeletedName="OtherItemRowDeleted" msprop:Generator_UserTableName="OtherItem" msprop:Generator_RowChangedName="OtherItemRowChanged" msprop:Generator_RowEvArgName="OtherItemRowChangeEvent" msprop:Generator_RowClassName="OtherItemRow">
<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" />
@@ -4424,7 +4717,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ItemSearchDetail" msprop:Generator_TableClassName="ItemSearchDetailDataTable" msprop:Generator_TableVarName="tableItemSearchDetail" msprop:Generator_TablePropName="ItemSearchDetail" msprop:Generator_RowDeletingName="ItemSearchDetailRowDeleting" msprop:Generator_RowChangingName="ItemSearchDetailRowChanging" msprop:Generator_RowEvHandlerName="ItemSearchDetailRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemSearchDetailRowDeleted" msprop:Generator_UserTableName="ItemSearchDetail" msprop:Generator_RowChangedName="ItemSearchDetailRowChanged" msprop:Generator_RowEvArgName="ItemSearchDetailRowChangeEvent" msprop:Generator_RowClassName="ItemSearchDetailRow">
<xs:element name="ItemSearchDetail" msprop:Generator_TableClassName="ItemSearchDetailDataTable" msprop:Generator_TableVarName="tableItemSearchDetail" msprop:Generator_RowChangedName="ItemSearchDetailRowChanged" msprop:Generator_TablePropName="ItemSearchDetail" msprop:Generator_RowDeletingName="ItemSearchDetailRowDeleting" msprop:Generator_RowChangingName="ItemSearchDetailRowChanging" msprop:Generator_RowEvHandlerName="ItemSearchDetailRowChangeEventHandler" msprop:Generator_RowDeletedName="ItemSearchDetailRowDeleted" msprop:Generator_RowClassName="ItemSearchDetailRow" msprop:Generator_UserTableName="ItemSearchDetail" msprop:Generator_RowEvArgName="ItemSearchDetailRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="ItemID" msprop:Generator_ColumnVarNameInTable="columnItemID" msprop:Generator_ColumnPropNameInRow="ItemID" msprop:Generator_ColumnPropNameInTable="ItemIDColumn" msprop:Generator_UserColumnName="ItemID" type="xs:int" />
@@ -4535,7 +4828,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PackListDet" msprop:Generator_TableClassName="PackListDetDataTable" msprop:Generator_TableVarName="tablePackListDet" msprop:Generator_TablePropName="PackListDet" msprop:Generator_RowDeletingName="PackListDetRowDeleting" msprop:Generator_RowChangingName="PackListDetRowChanging" msprop:Generator_RowEvHandlerName="PackListDetRowChangeEventHandler" msprop:Generator_RowDeletedName="PackListDetRowDeleted" msprop:Generator_UserTableName="PackListDet" msprop:Generator_RowChangedName="PackListDetRowChanged" msprop:Generator_RowEvArgName="PackListDetRowChangeEvent" msprop:Generator_RowClassName="PackListDetRow">
<xs:element name="PackListDet" msprop:Generator_TableClassName="PackListDetDataTable" msprop:Generator_TableVarName="tablePackListDet" msprop:Generator_RowChangedName="PackListDetRowChanged" msprop:Generator_TablePropName="PackListDet" msprop:Generator_RowDeletingName="PackListDetRowDeleting" msprop:Generator_RowChangingName="PackListDetRowChanging" msprop:Generator_RowEvHandlerName="PackListDetRowChangeEventHandler" msprop:Generator_RowDeletedName="PackListDetRowDeleted" msprop:Generator_RowClassName="PackListDetRow" msprop:Generator_UserTableName="PackListDet" msprop:Generator_RowEvArgName="PackListDetRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="PackListID" msprop:Generator_ColumnVarNameInTable="columnPackListID" msprop:Generator_ColumnPropNameInRow="PackListID" msprop:Generator_ColumnPropNameInTable="PackListIDColumn" msprop:Generator_UserColumnName="PackListID" type="xs:int" />
@@ -4598,7 +4891,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PackLog" msprop:Generator_TableClassName="PackLogDataTable" msprop:Generator_TableVarName="tablePackLog" msprop:Generator_TablePropName="PackLog" msprop:Generator_RowDeletingName="PackLogRowDeleting" msprop:Generator_RowChangingName="PackLogRowChanging" msprop:Generator_RowEvHandlerName="PackLogRowChangeEventHandler" msprop:Generator_RowDeletedName="PackLogRowDeleted" msprop:Generator_UserTableName="PackLog" msprop:Generator_RowChangedName="PackLogRowChanged" msprop:Generator_RowEvArgName="PackLogRowChangeEvent" msprop:Generator_RowClassName="PackLogRow">
<xs:element name="PackLog" msprop:Generator_TableClassName="PackLogDataTable" msprop:Generator_TableVarName="tablePackLog" msprop:Generator_RowChangedName="PackLogRowChanged" msprop:Generator_TablePropName="PackLog" msprop:Generator_RowDeletingName="PackLogRowDeleting" msprop:Generator_RowChangingName="PackLogRowChanging" msprop:Generator_RowEvHandlerName="PackLogRowChangeEventHandler" msprop:Generator_RowDeletedName="PackLogRowDeleted" msprop:Generator_RowClassName="PackLogRow" msprop:Generator_UserTableName="PackLog" msprop:Generator_RowEvArgName="PackLogRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="PLogID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnPLogID" msprop:Generator_ColumnPropNameInRow="PLogID" msprop:Generator_ColumnPropNameInTable="PLogIDColumn" msprop:Generator_UserColumnName="PLogID" type="xs:int" />
@@ -4643,7 +4936,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="PackCheck" msprop:Generator_TableClassName="PackCheckDataTable" msprop:Generator_TableVarName="tablePackCheck" msprop:Generator_TablePropName="PackCheck" msprop:Generator_RowDeletingName="PackCheckRowDeleting" msprop:Generator_RowChangingName="PackCheckRowChanging" msprop:Generator_RowEvHandlerName="PackCheckRowChangeEventHandler" msprop:Generator_RowDeletedName="PackCheckRowDeleted" msprop:Generator_UserTableName="PackCheck" msprop:Generator_RowChangedName="PackCheckRowChanged" msprop:Generator_RowEvArgName="PackCheckRowChangeEvent" msprop:Generator_RowClassName="PackCheckRow">
<xs:element name="PackCheck" msprop:Generator_TableClassName="PackCheckDataTable" msprop:Generator_TableVarName="tablePackCheck" msprop:Generator_RowChangedName="PackCheckRowChanged" msprop:Generator_TablePropName="PackCheck" msprop:Generator_RowDeletingName="PackCheckRowDeleting" msprop:Generator_RowChangingName="PackCheckRowChanging" msprop:Generator_RowEvHandlerName="PackCheckRowChangeEventHandler" msprop:Generator_RowDeletedName="PackCheckRowDeleted" msprop:Generator_RowClassName="PackCheckRow" msprop:Generator_UserTableName="PackCheck" msprop:Generator_RowEvArgName="PackCheckRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="CartID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnCartID" msprop:Generator_ColumnPropNameInRow="CartID" msprop:Generator_ColumnPropNameInTable="CartIDColumn" msprop:Generator_UserColumnName="CartID" type="xs:int" minOccurs="0" />
@@ -4669,7 +4962,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OKIB" msprop:Generator_TableClassName="OKIBDataTable" msprop:Generator_TableVarName="tableOKIB" msprop:Generator_RowChangedName="OKIBRowChanged" msprop:Generator_TablePropName="OKIB" msprop:Generator_RowDeletingName="OKIBRowDeleting" msprop:Generator_RowChangingName="OKIBRowChanging" msprop:Generator_RowEvHandlerName="OKIBRowChangeEventHandler" msprop:Generator_RowDeletedName="OKIBRowDeleted" msprop:Generator_RowClassName="OKIBRow" msprop:Generator_UserTableName="OKIB" msprop:Generator_RowEvArgName="OKIBRowChangeEvent">
<xs:element name="OKIB" msprop:Generator_TableClassName="OKIBDataTable" msprop:Generator_TableVarName="tableOKIB" msprop:Generator_TablePropName="OKIB" msprop:Generator_RowDeletingName="OKIBRowDeleting" msprop:Generator_RowChangingName="OKIBRowChanging" msprop:Generator_RowEvHandlerName="OKIBRowChangeEventHandler" msprop:Generator_RowDeletedName="OKIBRowDeleted" msprop:Generator_UserTableName="OKIB" msprop:Generator_RowChangedName="OKIBRowChanged" msprop:Generator_RowEvArgName="OKIBRowChangeEvent" msprop:Generator_RowClassName="OKIBRow">
<xs:complexType>
<xs:sequence>
<xs:element name="ItemID" msprop:Generator_ColumnVarNameInTable="columnItemID" msprop:Generator_ColumnPropNameInRow="ItemID" msprop:Generator_ColumnPropNameInTable="ItemIDColumn" msprop:Generator_UserColumnName="ItemID" type="xs:int" />
@@ -4762,7 +5055,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OKIB_Sum" msprop:Generator_TableClassName="OKIB_SumDataTable" msprop:Generator_TableVarName="tableOKIB_Sum" msprop:Generator_TablePropName="OKIB_Sum" msprop:Generator_RowDeletingName="OKIB_SumRowDeleting" msprop:Generator_RowChangingName="OKIB_SumRowChanging" msprop:Generator_RowEvHandlerName="OKIB_SumRowChangeEventHandler" msprop:Generator_RowDeletedName="OKIB_SumRowDeleted" msprop:Generator_UserTableName="OKIB_Sum" msprop:Generator_RowChangedName="OKIB_SumRowChanged" msprop:Generator_RowEvArgName="OKIB_SumRowChangeEvent" msprop:Generator_RowClassName="OKIB_SumRow">
<xs:element name="OKIB_Sum" msprop:Generator_TableClassName="OKIB_SumDataTable" msprop:Generator_TableVarName="tableOKIB_Sum" msprop:Generator_RowChangedName="OKIB_SumRowChanged" msprop:Generator_TablePropName="OKIB_Sum" msprop:Generator_RowDeletingName="OKIB_SumRowDeleting" msprop:Generator_RowChangingName="OKIB_SumRowChanging" msprop:Generator_RowEvHandlerName="OKIB_SumRowChangeEventHandler" msprop:Generator_RowDeletedName="OKIB_SumRowDeleted" msprop:Generator_RowClassName="OKIB_SumRow" msprop:Generator_UserTableName="OKIB_Sum" msprop:Generator_RowEvArgName="OKIB_SumRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="BinID" msprop:Generator_ColumnVarNameInTable="columnBinID" msprop:Generator_ColumnPropNameInRow="BinID" msprop:Generator_ColumnPropNameInTable="BinIDColumn" msprop:Generator_UserColumnName="BinID" type="xs:int" />
@@ -4825,7 +5118,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OKOI" msprop:Generator_TableClassName="OKOIDataTable" msprop:Generator_TableVarName="tableOKOI" msprop:Generator_TablePropName="OKOI" msprop:Generator_RowDeletingName="OKOIRowDeleting" msprop:Generator_RowChangingName="OKOIRowChanging" msprop:Generator_RowEvHandlerName="OKOIRowChangeEventHandler" msprop:Generator_RowDeletedName="OKOIRowDeleted" msprop:Generator_UserTableName="OKOI" msprop:Generator_RowChangedName="OKOIRowChanged" msprop:Generator_RowEvArgName="OKOIRowChangeEvent" msprop:Generator_RowClassName="OKOIRow">
<xs:element name="OKOI" msprop:Generator_TableClassName="OKOIDataTable" msprop:Generator_TableVarName="tableOKOI" msprop:Generator_RowChangedName="OKOIRowChanged" msprop:Generator_TablePropName="OKOI" msprop:Generator_RowDeletingName="OKOIRowDeleting" msprop:Generator_RowChangingName="OKOIRowChanging" msprop:Generator_RowEvHandlerName="OKOIRowChangeEventHandler" msprop:Generator_RowDeletedName="OKOIRowDeleted" msprop:Generator_RowClassName="OKOIRow" msprop:Generator_UserTableName="OKOI" msprop:Generator_RowEvArgName="OKOIRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="OtherItemID" msprop:Generator_ColumnVarNameInTable="columnOtherItemID" msprop:Generator_ColumnPropNameInRow="OtherItemID" msprop:Generator_ColumnPropNameInTable="OtherItemIDColumn" msprop:Generator_UserColumnName="OtherItemID" type="xs:int" />
@@ -4884,7 +5177,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OKOI_sum" msprop:Generator_TableClassName="OKOI_sumDataTable" msprop:Generator_TableVarName="tableOKOI_sum" msprop:Generator_TablePropName="OKOI_sum" msprop:Generator_RowDeletingName="OKOI_sumRowDeleting" msprop:Generator_RowChangingName="OKOI_sumRowChanging" msprop:Generator_RowEvHandlerName="OKOI_sumRowChangeEventHandler" msprop:Generator_RowDeletedName="OKOI_sumRowDeleted" msprop:Generator_UserTableName="OKOI_sum" msprop:Generator_RowChangedName="OKOI_sumRowChanged" msprop:Generator_RowEvArgName="OKOI_sumRowChangeEvent" msprop:Generator_RowClassName="OKOI_sumRow">
<xs:element name="OKOI_sum" msprop:Generator_TableClassName="OKOI_sumDataTable" msprop:Generator_TableVarName="tableOKOI_sum" msprop:Generator_RowChangedName="OKOI_sumRowChanged" msprop:Generator_TablePropName="OKOI_sum" msprop:Generator_RowDeletingName="OKOI_sumRowDeleting" msprop:Generator_RowChangingName="OKOI_sumRowChanging" msprop:Generator_RowEvHandlerName="OKOI_sumRowChangeEventHandler" msprop:Generator_RowDeletedName="OKOI_sumRowDeleted" msprop:Generator_RowClassName="OKOI_sumRow" msprop:Generator_UserTableName="OKOI_sum" msprop:Generator_RowEvArgName="OKOI_sumRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="OtherItemID" msprop:Generator_ColumnVarNameInTable="columnOtherItemID" msprop:Generator_ColumnPropNameInRow="OtherItemID" msprop:Generator_ColumnPropNameInTable="OtherItemIDColumn" msprop:Generator_UserColumnName="OtherItemID" type="xs:int" />
@@ -4933,7 +5226,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Pack2Cart" msprop:Generator_TableClassName="Pack2CartDataTable" msprop:Generator_TableVarName="tablePack2Cart" msprop:Generator_RowChangedName="Pack2CartRowChanged" msprop:Generator_TablePropName="Pack2Cart" msprop:Generator_RowDeletingName="Pack2CartRowDeleting" msprop:Generator_RowChangingName="Pack2CartRowChanging" msprop:Generator_RowEvHandlerName="Pack2CartRowChangeEventHandler" msprop:Generator_RowDeletedName="Pack2CartRowDeleted" msprop:Generator_RowClassName="Pack2CartRow" msprop:Generator_UserTableName="Pack2Cart" msprop:Generator_RowEvArgName="Pack2CartRowChangeEvent">
<xs:element name="Pack2Cart" msprop:Generator_TableClassName="Pack2CartDataTable" msprop:Generator_TableVarName="tablePack2Cart" msprop:Generator_TablePropName="Pack2Cart" msprop:Generator_RowDeletingName="Pack2CartRowDeleting" msprop:Generator_RowChangingName="Pack2CartRowChanging" msprop:Generator_RowEvHandlerName="Pack2CartRowChangeEventHandler" msprop:Generator_RowDeletedName="Pack2CartRowDeleted" msprop:Generator_UserTableName="Pack2Cart" msprop:Generator_RowChangedName="Pack2CartRowChanged" msprop:Generator_RowEvArgName="Pack2CartRowChangeEvent" msprop:Generator_RowClassName="Pack2CartRow">
<xs:complexType>
<xs:sequence>
<xs:element name="PackListID" msprop:Generator_ColumnVarNameInTable="columnPackListID" msprop:Generator_ColumnPropNameInRow="PackListID" msprop:Generator_ColumnPropNameInTable="PackListIDColumn" msprop:Generator_UserColumnName="PackListID" type="xs:int" />
@@ -4972,7 +5265,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CartIRK" msprop:Generator_TableClassName="CartIRKDataTable" msprop:Generator_TableVarName="tableCartIRK" msprop:Generator_TablePropName="CartIRK" msprop:Generator_RowDeletingName="CartIRKRowDeleting" msprop:Generator_RowChangingName="CartIRKRowChanging" msprop:Generator_RowEvHandlerName="CartIRKRowChangeEventHandler" msprop:Generator_RowDeletedName="CartIRKRowDeleted" msprop:Generator_UserTableName="CartIRK" msprop:Generator_RowChangedName="CartIRKRowChanged" msprop:Generator_RowEvArgName="CartIRKRowChangeEvent" msprop:Generator_RowClassName="CartIRKRow">
<xs:element name="CartIRK" msprop:Generator_TableClassName="CartIRKDataTable" msprop:Generator_TableVarName="tableCartIRK" msprop:Generator_RowChangedName="CartIRKRowChanged" msprop:Generator_TablePropName="CartIRK" msprop:Generator_RowDeletingName="CartIRKRowDeleting" msprop:Generator_RowChangingName="CartIRKRowChanging" msprop:Generator_RowEvHandlerName="CartIRKRowChangeEventHandler" msprop:Generator_RowDeletedName="CartIRKRowDeleted" msprop:Generator_RowClassName="CartIRKRow" msprop:Generator_UserTableName="CartIRK" msprop:Generator_RowEvArgName="CartIRKRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="OrderExtCode" msprop:Generator_ColumnVarNameInTable="columnOrderExtCode" msprop:Generator_ColumnPropNameInRow="OrderExtCode" msprop:Generator_ColumnPropNameInTable="OrderExtCodeColumn" msprop:Generator_UserColumnName="OrderExtCode" minOccurs="0">
@@ -5025,7 +5318,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FileValidation" msprop:Generator_TableClassName="FileValidationDataTable" msprop:Generator_TableVarName="tableFileValidation" msprop:Generator_TablePropName="FileValidation" msprop:Generator_RowDeletingName="FileValidationRowDeleting" msprop:Generator_RowChangingName="FileValidationRowChanging" msprop:Generator_RowEvHandlerName="FileValidationRowChangeEventHandler" msprop:Generator_RowDeletedName="FileValidationRowDeleted" msprop:Generator_UserTableName="FileValidation" msprop:Generator_RowChangedName="FileValidationRowChanged" msprop:Generator_RowEvArgName="FileValidationRowChangeEvent" msprop:Generator_RowClassName="FileValidationRow">
<xs:element name="FileValidation" msprop:Generator_TableClassName="FileValidationDataTable" msprop:Generator_TableVarName="tableFileValidation" msprop:Generator_RowChangedName="FileValidationRowChanged" msprop:Generator_TablePropName="FileValidation" msprop:Generator_RowDeletingName="FileValidationRowDeleting" msprop:Generator_RowChangingName="FileValidationRowChanging" msprop:Generator_RowEvHandlerName="FileValidationRowChangeEventHandler" msprop:Generator_RowDeletedName="FileValidationRowDeleted" msprop:Generator_RowClassName="FileValidationRow" msprop:Generator_UserTableName="FileValidation" msprop:Generator_RowEvArgName="FileValidationRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="ItemExtCode" msprop:Generator_ColumnVarNameInTable="columnItemExtCode" msprop:Generator_ColumnPropNameInRow="ItemExtCode" msprop:Generator_ColumnPropNameInTable="ItemExtCodeColumn" msprop:Generator_UserColumnName="ItemExtCode">
@@ -5042,7 +5335,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SheetsPreview" msprop:Generator_TableClassName="SheetsPreviewDataTable" msprop:Generator_TableVarName="tableSheetsPreview" msprop:Generator_RowChangedName="SheetsPreviewRowChanged" msprop:Generator_TablePropName="SheetsPreview" msprop:Generator_RowDeletingName="SheetsPreviewRowDeleting" msprop:Generator_RowChangingName="SheetsPreviewRowChanging" msprop:Generator_RowEvHandlerName="SheetsPreviewRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetsPreviewRowDeleted" msprop:Generator_RowClassName="SheetsPreviewRow" msprop:Generator_UserTableName="SheetsPreview" msprop:Generator_RowEvArgName="SheetsPreviewRowChangeEvent">
<xs:element name="SheetsPreview" msprop:Generator_TableClassName="SheetsPreviewDataTable" msprop:Generator_TableVarName="tableSheetsPreview" msprop:Generator_TablePropName="SheetsPreview" msprop:Generator_RowDeletingName="SheetsPreviewRowDeleting" msprop:Generator_RowChangingName="SheetsPreviewRowChanging" msprop:Generator_RowEvHandlerName="SheetsPreviewRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetsPreviewRowDeleted" msprop:Generator_UserTableName="SheetsPreview" msprop:Generator_RowChangedName="SheetsPreviewRowChanged" msprop:Generator_RowEvArgName="SheetsPreviewRowChangeEvent" msprop:Generator_RowClassName="SheetsPreviewRow">
<xs:complexType>
<xs:sequence>
<xs:element name="SheetID" msprop:Generator_ColumnVarNameInTable="columnSheetID" msprop:Generator_ColumnPropNameInRow="SheetID" msprop:Generator_ColumnPropNameInTable="SheetIDColumn" msprop:Generator_UserColumnName="SheetID" type="xs:int" />
@@ -5055,7 +5348,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="OrderListTree" msprop:Generator_TableClassName="OrderListTreeDataTable" msprop:Generator_TableVarName="tableOrderListTree" msprop:Generator_RowChangedName="OrderListTreeRowChanged" msprop:Generator_TablePropName="OrderListTree" msprop:Generator_RowDeletingName="OrderListTreeRowDeleting" msprop:Generator_RowChangingName="OrderListTreeRowChanging" msprop:Generator_RowEvHandlerName="OrderListTreeRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderListTreeRowDeleted" msprop:Generator_RowClassName="OrderListTreeRow" msprop:Generator_UserTableName="OrderListTree" msprop:Generator_RowEvArgName="OrderListTreeRowChangeEvent">
<xs:element name="OrderListTree" msprop:Generator_TableClassName="OrderListTreeDataTable" msprop:Generator_TableVarName="tableOrderListTree" msprop:Generator_TablePropName="OrderListTree" msprop:Generator_RowDeletingName="OrderListTreeRowDeleting" msprop:Generator_RowChangingName="OrderListTreeRowChanging" msprop:Generator_RowEvHandlerName="OrderListTreeRowChangeEventHandler" msprop:Generator_RowDeletedName="OrderListTreeRowDeleted" msprop:Generator_UserTableName="OrderListTree" msprop:Generator_RowChangedName="OrderListTreeRowChanged" msprop:Generator_RowEvArgName="OrderListTreeRowChangeEvent" msprop:Generator_RowClassName="OrderListTreeRow">
<xs:complexType>
<xs:sequence>
<xs:element name="BatchID" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" />
@@ -5077,7 +5370,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Places" msprop:Generator_TableClassName="PlacesDataTable" msprop:Generator_TableVarName="tablePlaces" msprop:Generator_RowChangedName="PlacesRowChanged" msprop:Generator_TablePropName="Places" msprop:Generator_RowDeletingName="PlacesRowDeleting" msprop:Generator_RowChangingName="PlacesRowChanging" msprop:Generator_RowEvHandlerName="PlacesRowChangeEventHandler" msprop:Generator_RowDeletedName="PlacesRowDeleted" msprop:Generator_RowClassName="PlacesRow" msprop:Generator_UserTableName="Places" msprop:Generator_RowEvArgName="PlacesRowChangeEvent">
<xs:element name="Places" msprop:Generator_TableClassName="PlacesDataTable" msprop:Generator_TableVarName="tablePlaces" msprop:Generator_TablePropName="Places" msprop:Generator_RowDeletingName="PlacesRowDeleting" msprop:Generator_RowChangingName="PlacesRowChanging" msprop:Generator_RowEvHandlerName="PlacesRowChangeEventHandler" msprop:Generator_RowDeletedName="PlacesRowDeleted" msprop:Generator_UserTableName="Places" msprop:Generator_RowChangedName="PlacesRowChanged" msprop:Generator_RowEvArgName="PlacesRowChangeEvent" msprop:Generator_RowClassName="PlacesRow">
<xs:complexType>
<xs:sequence>
<xs:element name="PlaceCod" msprop:Generator_ColumnVarNameInTable="columnPlaceCod" msprop:Generator_ColumnPropNameInRow="PlaceCod" msprop:Generator_ColumnPropNameInTable="PlaceCodColumn" msprop:Generator_UserColumnName="PlaceCod">
@@ -5105,7 +5398,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusLog" msprop:Generator_TableClassName="StatusLogDataTable" msprop:Generator_TableVarName="tableStatusLog" msprop:Generator_RowChangedName="StatusLogRowChanged" msprop:Generator_TablePropName="StatusLog" msprop:Generator_RowDeletingName="StatusLogRowDeleting" msprop:Generator_RowChangingName="StatusLogRowChanging" msprop:Generator_RowEvHandlerName="StatusLogRowChangeEventHandler" msprop:Generator_RowDeletedName="StatusLogRowDeleted" msprop:Generator_RowClassName="StatusLogRow" msprop:Generator_UserTableName="StatusLog" msprop:Generator_RowEvArgName="StatusLogRowChangeEvent">
<xs:element name="StatusLog" msprop:Generator_TableClassName="StatusLogDataTable" msprop:Generator_TableVarName="tableStatusLog" msprop:Generator_TablePropName="StatusLog" msprop:Generator_RowDeletingName="StatusLogRowDeleting" msprop:Generator_RowChangingName="StatusLogRowChanging" msprop:Generator_RowEvHandlerName="StatusLogRowChangeEventHandler" msprop:Generator_RowDeletedName="StatusLogRowDeleted" msprop:Generator_UserTableName="StatusLog" msprop:Generator_RowChangedName="StatusLogRowChanged" msprop:Generator_RowEvArgName="StatusLogRowChangeEvent" msprop:Generator_RowClassName="StatusLogRow">
<xs:complexType>
<xs:sequence>
<xs:element name="PlaceCod" msprop:Generator_ColumnVarNameInTable="columnPlaceCod" msprop:Generator_ColumnPropNameInRow="PlaceCod" msprop:Generator_ColumnPropNameInTable="PlaceCodColumn" msprop:Generator_UserColumnName="PlaceCod">
@@ -5142,7 +5435,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="StatusDecode" msprop:Generator_TableClassName="StatusDecodeDataTable" msprop:Generator_TableVarName="tableStatusDecode" msprop:Generator_TablePropName="StatusDecode" msprop:Generator_RowDeletingName="StatusDecodeRowDeleting" msprop:Generator_RowChangingName="StatusDecodeRowChanging" msprop:Generator_RowEvHandlerName="StatusDecodeRowChangeEventHandler" msprop:Generator_RowDeletedName="StatusDecodeRowDeleted" msprop:Generator_UserTableName="StatusDecode" msprop:Generator_RowChangedName="StatusDecodeRowChanged" msprop:Generator_RowEvArgName="StatusDecodeRowChangeEvent" msprop:Generator_RowClassName="StatusDecodeRow">
<xs:element name="StatusDecode" msprop:Generator_TableClassName="StatusDecodeDataTable" msprop:Generator_TableVarName="tableStatusDecode" msprop:Generator_RowChangedName="StatusDecodeRowChanged" msprop:Generator_TablePropName="StatusDecode" msprop:Generator_RowDeletingName="StatusDecodeRowDeleting" msprop:Generator_RowChangingName="StatusDecodeRowChanging" msprop:Generator_RowEvHandlerName="StatusDecodeRowChangeEventHandler" msprop:Generator_RowDeletedName="StatusDecodeRowDeleted" msprop:Generator_RowClassName="StatusDecodeRow" msprop:Generator_UserTableName="StatusDecode" msprop:Generator_RowEvArgName="StatusDecodeRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="Station" msprop:Generator_ColumnVarNameInTable="columnStation" msprop:Generator_ColumnPropNameInRow="Station" msprop:Generator_ColumnPropNameInTable="StationColumn" msprop:Generator_UserColumnName="Station">
@@ -5176,7 +5469,7 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="UpdMan" msprop:Generator_TableClassName="UpdManDataTable" msprop:Generator_TableVarName="tableUpdMan" msprop:Generator_TablePropName="UpdMan" msprop:Generator_RowDeletingName="UpdManRowDeleting" msprop:Generator_RowChangingName="UpdManRowChanging" msprop:Generator_RowEvHandlerName="UpdManRowChangeEventHandler" msprop:Generator_RowDeletedName="UpdManRowDeleted" msprop:Generator_UserTableName="UpdMan" msprop:Generator_RowChangedName="UpdManRowChanged" msprop:Generator_RowEvArgName="UpdManRowChangeEvent" msprop:Generator_RowClassName="UpdManRow">
<xs:element name="UpdMan" msprop:Generator_TableClassName="UpdManDataTable" msprop:Generator_TableVarName="tableUpdMan" msprop:Generator_RowChangedName="UpdManRowChanged" msprop:Generator_TablePropName="UpdMan" msprop:Generator_RowDeletingName="UpdManRowDeleting" msprop:Generator_RowChangingName="UpdManRowChanging" msprop:Generator_RowEvHandlerName="UpdManRowChangeEventHandler" msprop:Generator_RowDeletedName="UpdManRowDeleted" msprop:Generator_RowClassName="UpdManRow" msprop:Generator_UserTableName="UpdMan" msprop:Generator_RowEvArgName="UpdManRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="AppName" msprop:Generator_ColumnVarNameInTable="columnAppName" msprop:Generator_ColumnPropNameInRow="AppName" msprop:Generator_ColumnPropNameInTable="AppNameColumn" msprop:Generator_UserColumnName="AppName">
@@ -5218,6 +5511,60 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SheetStats" msprop:Generator_TableClassName="SheetStatsDataTable" msprop:Generator_TableVarName="tableSheetStats" msprop:Generator_TablePropName="SheetStats" msprop:Generator_RowDeletingName="SheetStatsRowDeleting" msprop:Generator_RowChangingName="SheetStatsRowChanging" msprop:Generator_RowEvHandlerName="SheetStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="SheetStatsRowDeleted" msprop:Generator_UserTableName="SheetStats" msprop:Generator_RowChangedName="SheetStatsRowChanged" msprop:Generator_RowEvArgName="SheetStatsRowChangeEvent" msprop:Generator_RowClassName="SheetStatsRow">
<xs:complexType>
<xs:sequence>
<xs:element name="BatchID" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" />
<xs:element name="SheetIndex" msprop:Generator_ColumnVarNameInTable="columnSheetIndex" msprop:Generator_ColumnPropNameInRow="SheetIndex" msprop:Generator_ColumnPropNameInTable="SheetIndexColumn" msprop:Generator_UserColumnName="SheetIndex" type="xs:int" />
<xs:element name="MatID" msprop:Generator_ColumnVarNameInTable="columnMatID" msprop:Generator_ColumnPropNameInRow="MatID" msprop:Generator_ColumnPropNameInTable="MatIDColumn" msprop:Generator_UserColumnName="MatID" type="xs:int" />
<xs:element name="WorkArea" msprop:Generator_ColumnVarNameInTable="columnWorkArea" msprop:Generator_ColumnPropNameInRow="WorkArea" msprop:Generator_ColumnPropNameInTable="WorkAreaColumn" msprop:Generator_UserColumnName="WorkArea" type="xs:decimal" />
<xs:element name="TotalArea" msprop:Generator_ColumnVarNameInTable="columnTotalArea" msprop:Generator_ColumnPropNameInRow="TotalArea" msprop:Generator_ColumnPropNameInTable="TotalAreaColumn" msprop:Generator_UserColumnName="TotalArea" type="xs:decimal" />
<xs:element name="NumParts" msprop:Generator_ColumnVarNameInTable="columnNumParts" msprop:Generator_ColumnPropNameInRow="NumParts" msprop:Generator_ColumnPropNameInTable="NumPartsColumn" msprop:Generator_UserColumnName="NumParts" type="xs:int" />
<xs:element name="NumPainted" msprop:Generator_ColumnVarNameInTable="columnNumPainted" msprop:Generator_ColumnPropNameInRow="NumPainted" msprop:Generator_ColumnPropNameInTable="NumPaintedColumn" msprop:Generator_UserColumnName="NumPainted" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BatchStats" msprop:Generator_TableClassName="BatchStatsDataTable" msprop:Generator_TableVarName="tableBatchStats" msprop:Generator_TablePropName="BatchStats" msprop:Generator_RowDeletingName="BatchStatsRowDeleting" msprop:Generator_RowChangingName="BatchStatsRowChanging" msprop:Generator_RowEvHandlerName="BatchStatsRowChangeEventHandler" msprop:Generator_RowDeletedName="BatchStatsRowDeleted" msprop:Generator_UserTableName="BatchStats" msprop:Generator_RowChangedName="BatchStatsRowChanged" msprop:Generator_RowEvArgName="BatchStatsRowChangeEvent" msprop:Generator_RowClassName="BatchStatsRow">
<xs:complexType>
<xs:sequence>
<xs:element name="BatchID" msprop:Generator_ColumnVarNameInTable="columnBatchID" msprop:Generator_ColumnPropNameInRow="BatchID" msprop:Generator_ColumnPropNameInTable="BatchIDColumn" msprop:Generator_UserColumnName="BatchID" type="xs:int" />
<xs:element name="Takt" msprop:Generator_ColumnVarNameInTable="columnTakt" msprop:Generator_ColumnPropNameInRow="Takt" msprop:Generator_ColumnPropNameInTable="TaktColumn" msprop:Generator_UserColumnName="Takt">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AvgYeld" msprop:Generator_ColumnVarNameInTable="columnAvgYeld" msprop:Generator_ColumnPropNameInRow="AvgYeld" msprop:Generator_ColumnPropNameInTable="AvgYeldColumn" msprop:Generator_UserColumnName="AvgYeld" type="xs:decimal" />
<xs:element name="TotalArea" msprop:Generator_ColumnVarNameInTable="columnTotalArea" msprop:Generator_ColumnPropNameInRow="TotalArea" msprop:Generator_ColumnPropNameInTable="TotalAreaColumn" msprop:Generator_UserColumnName="TotalArea" type="xs:decimal" />
<xs:element name="NumMat" msprop:Generator_ColumnVarNameInTable="columnNumMat" msprop:Generator_ColumnPropNameInRow="NumMat" msprop:Generator_ColumnPropNameInTable="NumMatColumn" msprop:Generator_UserColumnName="NumMat" type="xs:int" />
<xs:element name="NumSheets" msprop:Generator_ColumnVarNameInTable="columnNumSheets" msprop:Generator_ColumnPropNameInRow="NumSheets" msprop:Generator_ColumnPropNameInTable="NumSheetsColumn" msprop:Generator_UserColumnName="NumSheets" type="xs:int" />
<xs:element name="NumModel" msprop:Generator_ColumnVarNameInTable="columnNumModel" msprop:Generator_ColumnPropNameInRow="NumModel" msprop:Generator_ColumnPropNameInTable="NumModelColumn" msprop:Generator_UserColumnName="NumModel" type="xs:int" />
<xs:element name="NumKit" msprop:Generator_ColumnVarNameInTable="columnNumKit" msprop:Generator_ColumnPropNameInRow="NumKit" msprop:Generator_ColumnPropNameInTable="NumKitColumn" msprop:Generator_UserColumnName="NumKit" type="xs:int" />
<xs:element name="NumParts" msprop:Generator_ColumnVarNameInTable="columnNumParts" msprop:Generator_ColumnPropNameInRow="NumParts" msprop:Generator_ColumnPropNameInTable="NumPartsColumn" msprop:Generator_UserColumnName="NumParts" type="xs:int" />
<xs:element name="NumPainted" msprop:Generator_ColumnVarNameInTable="columnNumPainted" msprop:Generator_ColumnPropNameInRow="NumPainted" msprop:Generator_ColumnPropNameInTable="NumPaintedColumn" msprop:Generator_UserColumnName="NumPainted" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ProductionStatsDay" msprop:Generator_TableClassName="ProductionStatsDayDataTable" msprop:Generator_TableVarName="tableProductionStatsDay" msprop:Generator_TablePropName="ProductionStatsDay" msprop:Generator_RowDeletingName="ProductionStatsDayRowDeleting" msprop:Generator_RowChangingName="ProductionStatsDayRowChanging" msprop:Generator_RowEvHandlerName="ProductionStatsDayRowChangeEventHandler" msprop:Generator_RowDeletedName="ProductionStatsDayRowDeleted" msprop:Generator_UserTableName="ProductionStatsDay" msprop:Generator_RowChangedName="ProductionStatsDayRowChanged" msprop:Generator_RowEvArgName="ProductionStatsDayRowChangeEvent" msprop:Generator_RowClassName="ProductionStatsDayRow">
<xs:complexType>
<xs:sequence>
<xs:element name="PlaceCod" msprop:Generator_ColumnVarNameInTable="columnPlaceCod" msprop:Generator_ColumnPropNameInRow="PlaceCod" msprop:Generator_ColumnPropNameInTable="PlaceCodColumn" msprop:Generator_UserColumnName="PlaceCod">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DataRif" msprop:Generator_ColumnVarNameInTable="columnDataRif" msprop:Generator_ColumnPropNameInRow="DataRif" msprop:Generator_ColumnPropNameInTable="DataRifColumn" msprop:Generator_UserColumnName="DataRif" type="xs:dateTime" />
<xs:element name="DataOraRif" msprop:Generator_ColumnVarNameInTable="columnDataOraRif" msprop:Generator_ColumnPropNameInRow="DataOraRif" msprop:Generator_ColumnPropNameInTable="DataOraRifColumn" msprop:Generator_UserColumnName="DataOraRif" type="xs:dateTime" />
<xs:element name="ItmProd" msprop:Generator_ColumnVarNameInTable="columnItmProd" msprop:Generator_ColumnPropNameInRow="ItmProd" msprop:Generator_ColumnPropNameInTable="ItmProdColumn" msprop:Generator_UserColumnName="ItmProd" type="xs:int" />
<xs:element name="ItmScrap" msprop:Generator_ColumnVarNameInTable="columnItmScrap" msprop:Generator_ColumnPropNameInRow="ItmScrap" msprop:Generator_ColumnPropNameInTable="ItmScrapColumn" msprop:Generator_UserColumnName="ItmScrap" type="xs:int" />
<xs:element name="MinRun" msprop:Generator_ColumnVarNameInTable="columnMinRun" msprop:Generator_ColumnPropNameInRow="MinRun" msprop:Generator_ColumnPropNameInTable="MinRunColumn" msprop:Generator_UserColumnName="MinRun" type="xs:int" />
<xs:element name="MinDisp" msprop:Generator_ColumnVarNameInTable="columnMinDisp" msprop:Generator_ColumnPropNameInRow="MinDisp" msprop:Generator_ColumnPropNameInTable="MinDispColumn" msprop:Generator_UserColumnName="MinDisp" type="xs:int" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
@@ -5385,21 +5732,35 @@ SELECT AppName, ManifestUrl, IsAuth, LocalRepo, PackName, LicenseKey FROM Update
<xs:selector xpath=".//mstns:UpdMan" />
<xs:field xpath="mstns:AppName" />
</xs:unique>
<xs:unique name="SheetStats_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:SheetStats" />
<xs:field xpath="mstns:BatchID" />
<xs:field xpath="mstns:SheetIndex" />
</xs:unique>
<xs:unique name="BatchStats_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:BatchStats" />
<xs:field xpath="mstns:BatchID" />
</xs:unique>
<xs:unique name="ProductionStatsDayKey1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:ProductionStatsDay" />
<xs:field xpath="mstns:PlaceCod" />
<xs:field xpath="mstns:DataRif" />
</xs:unique>
</xs:element>
<xs:annotation>
<xs:appinfo>
<msdata:Relationship name="FK_ItemList_Materials1" msdata:parent="Materials" msdata:child="ItemList" msdata:parentkey="MatID" msdata:childkey="MatID" msprop:Generator_UserChildTable="ItemList" msprop:Generator_ChildPropName="GetItemListRows" msprop:Generator_UserRelationName="FK_ItemList_Materials1" msprop:Generator_ParentPropName="MaterialsRow" msprop:Generator_RelationVarName="relationFK_ItemList_Materials1" msprop:Generator_UserParentTable="Materials" />
<msdata:Relationship name="FK_OffOrd2Item_OfflineOrderList" msdata:parent="OfflineOrderList" msdata:child="OffOrd2Item" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="OffOrd2Item" msprop:Generator_ChildPropName="GetOffOrd2ItemRows" msprop:Generator_UserRelationName="FK_OffOrd2Item_OfflineOrderList" msprop:Generator_ParentPropName="OfflineOrderListRow" msprop:Generator_RelationVarName="relationFK_OffOrd2Item_OfflineOrderList" msprop:Generator_UserParentTable="OfflineOrderList" />
<msdata:Relationship name="FK_ItemList_KitList" msdata:parent="KitList" msdata:child="ItemList" msdata:parentkey="KitID" msdata:childkey="KitID" msprop:Generator_UserChildTable="ItemList" msprop:Generator_ChildPropName="GetItemListRows" msprop:Generator_UserRelationName="FK_ItemList_KitList" msprop:Generator_ParentPropName="KitListRow" msprop:Generator_RelationVarName="relationFK_ItemList_KitList" msprop:Generator_UserParentTable="KitList" />
<msdata:Relationship name="FK_Nesting_ItemList" msdata:parent="ItemList" msdata:child="Nesting" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="Nesting" msprop:Generator_ChildPropName="GetNestingRows" msprop:Generator_UserRelationName="FK_Nesting_ItemList" msprop:Generator_ParentPropName="ItemListRow" msprop:Generator_RelationVarName="relationFK_Nesting_ItemList" msprop:Generator_UserParentTable="ItemList" />
<msdata:Relationship name="FK_KitList_Carts" msdata:parent="Carts" msdata:child="KitList" msdata:parentkey="CartID" msdata:childkey="CartID" msprop:Generator_UserChildTable="KitList" msprop:Generator_ChildPropName="GetKitListRows" msprop:Generator_UserRelationName="FK_KitList_Carts" msprop:Generator_ParentPropName="CartsRow" msprop:Generator_RelationVarName="relationFK_KitList_Carts" msprop:Generator_UserParentTable="Carts" />
<msdata:Relationship name="FK_KitList_OrderList" msdata:parent="OrderList" msdata:child="KitList" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="KitList" msprop:Generator_ChildPropName="GetKitListRows" msprop:Generator_UserRelationName="FK_KitList_OrderList" msprop:Generator_ParentPropName="OrderListRow" msprop:Generator_RelationVarName="relationFK_KitList_OrderList" msprop:Generator_UserParentTable="OrderList" />
<msdata:Relationship name="FK_OffOrd2Item_ItemList" msdata:parent="ItemList" msdata:child="OffOrd2Item" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="OffOrd2Item" msprop:Generator_ChildPropName="GetOffOrd2ItemRows" msprop:Generator_UserRelationName="FK_OffOrd2Item_ItemList" msprop:Generator_ParentPropName="ItemListRow" msprop:Generator_RelationVarName="relationFK_OffOrd2Item_ItemList" msprop:Generator_UserParentTable="ItemList" />
<msdata:Relationship name="FK_BinList_Bins" msdata:parent="Bins" msdata:child="BinList" msdata:parentkey="BinID" msdata:childkey="BinID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_Bins" msprop:Generator_ParentPropName="BinsRow" msprop:Generator_RelationVarName="relationFK_BinList_Bins" msprop:Generator_UserParentTable="Bins" />
<msdata:Relationship name="FK_BinList_ItemList" msdata:parent="ItemList" msdata:child="BinList" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_ItemList" msprop:Generator_ParentPropName="ItemListRow" msprop:Generator_RelationVarName="relationFK_BinList_ItemList" msprop:Generator_UserParentTable="ItemList" />
<msdata:Relationship name="FK_Order2FinalKit_FinalKit" msdata:parent="FinalKit" msdata:child="Order2FinalKit" msdata:parentkey="FinalKitID" msdata:childkey="FinalKitID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_FinalKit" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_FinalKit" msprop:Generator_UserParentTable="FinalKit" msprop:Generator_ParentPropName="FinalKitRow" />
<msdata:Relationship name="FK_Order2FinalKit_OrderList" msdata:parent="OrderList" msdata:child="Order2FinalKit" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_OrderList" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_OrderList" msprop:Generator_UserParentTable="OrderList" msprop:Generator_ParentPropName="OrderListRow" />
<msdata:Relationship name="FK_StatusLog_Places" msdata:parent="Places" msdata:child="StatusLog" msdata:parentkey="PlaceCod" msdata:childkey="PlaceCod" msprop:Generator_UserChildTable="StatusLog" msprop:Generator_ChildPropName="GetStatusLogRows" msprop:Generator_UserRelationName="FK_StatusLog_Places" msprop:Generator_RelationVarName="relationFK_StatusLog_Places" msprop:Generator_UserParentTable="Places" msprop:Generator_ParentPropName="PlacesRow" />
<msdata:Relationship name="FK_ItemList_Materials1" msdata:parent="Materials" msdata:child="ItemList" msdata:parentkey="MatID" msdata:childkey="MatID" msprop:Generator_UserChildTable="ItemList" msprop:Generator_ChildPropName="GetItemListRows" msprop:Generator_UserRelationName="FK_ItemList_Materials1" msprop:Generator_RelationVarName="relationFK_ItemList_Materials1" msprop:Generator_UserParentTable="Materials" msprop:Generator_ParentPropName="MaterialsRow" />
<msdata:Relationship name="FK_OffOrd2Item_OfflineOrderList" msdata:parent="OfflineOrderList" msdata:child="OffOrd2Item" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="OffOrd2Item" msprop:Generator_ChildPropName="GetOffOrd2ItemRows" msprop:Generator_UserRelationName="FK_OffOrd2Item_OfflineOrderList" msprop:Generator_RelationVarName="relationFK_OffOrd2Item_OfflineOrderList" msprop:Generator_UserParentTable="OfflineOrderList" msprop:Generator_ParentPropName="OfflineOrderListRow" />
<msdata:Relationship name="FK_ItemList_KitList" msdata:parent="KitList" msdata:child="ItemList" msdata:parentkey="KitID" msdata:childkey="KitID" msprop:Generator_UserChildTable="ItemList" msprop:Generator_ChildPropName="GetItemListRows" msprop:Generator_UserRelationName="FK_ItemList_KitList" msprop:Generator_RelationVarName="relationFK_ItemList_KitList" msprop:Generator_UserParentTable="KitList" msprop:Generator_ParentPropName="KitListRow" />
<msdata:Relationship name="FK_Nesting_ItemList" msdata:parent="ItemList" msdata:child="Nesting" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="Nesting" msprop:Generator_ChildPropName="GetNestingRows" msprop:Generator_UserRelationName="FK_Nesting_ItemList" msprop:Generator_RelationVarName="relationFK_Nesting_ItemList" msprop:Generator_UserParentTable="ItemList" msprop:Generator_ParentPropName="ItemListRow" />
<msdata:Relationship name="FK_KitList_Carts" msdata:parent="Carts" msdata:child="KitList" msdata:parentkey="CartID" msdata:childkey="CartID" msprop:Generator_UserChildTable="KitList" msprop:Generator_ChildPropName="GetKitListRows" msprop:Generator_UserRelationName="FK_KitList_Carts" msprop:Generator_RelationVarName="relationFK_KitList_Carts" msprop:Generator_UserParentTable="Carts" msprop:Generator_ParentPropName="CartsRow" />
<msdata:Relationship name="FK_KitList_OrderList" msdata:parent="OrderList" msdata:child="KitList" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="KitList" msprop:Generator_ChildPropName="GetKitListRows" msprop:Generator_UserRelationName="FK_KitList_OrderList" msprop:Generator_RelationVarName="relationFK_KitList_OrderList" msprop:Generator_UserParentTable="OrderList" msprop:Generator_ParentPropName="OrderListRow" />
<msdata:Relationship name="FK_OffOrd2Item_ItemList" msdata:parent="ItemList" msdata:child="OffOrd2Item" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="OffOrd2Item" msprop:Generator_ChildPropName="GetOffOrd2ItemRows" msprop:Generator_UserRelationName="FK_OffOrd2Item_ItemList" msprop:Generator_RelationVarName="relationFK_OffOrd2Item_ItemList" msprop:Generator_UserParentTable="ItemList" msprop:Generator_ParentPropName="ItemListRow" />
<msdata:Relationship name="FK_BinList_Bins" msdata:parent="Bins" msdata:child="BinList" msdata:parentkey="BinID" msdata:childkey="BinID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_Bins" msprop:Generator_RelationVarName="relationFK_BinList_Bins" msprop:Generator_UserParentTable="Bins" msprop:Generator_ParentPropName="BinsRow" />
<msdata:Relationship name="FK_BinList_ItemList" msdata:parent="ItemList" msdata:child="BinList" msdata:parentkey="ItemID" msdata:childkey="ItemID" msprop:Generator_UserChildTable="BinList" msprop:Generator_ChildPropName="GetBinListRows" msprop:Generator_UserRelationName="FK_BinList_ItemList" msprop:Generator_RelationVarName="relationFK_BinList_ItemList" msprop:Generator_UserParentTable="ItemList" msprop:Generator_ParentPropName="ItemListRow" />
<msdata:Relationship name="FK_Order2FinalKit_FinalKit" msdata:parent="FinalKit" msdata:child="Order2FinalKit" msdata:parentkey="FinalKitID" msdata:childkey="FinalKitID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_FinalKit" msprop:Generator_ParentPropName="FinalKitRow" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_FinalKit" msprop:Generator_UserParentTable="FinalKit" />
<msdata:Relationship name="FK_Order2FinalKit_OrderList" msdata:parent="OrderList" msdata:child="Order2FinalKit" msdata:parentkey="OrdID" msdata:childkey="OrdID" msprop:Generator_UserChildTable="Order2FinalKit" msprop:Generator_ChildPropName="GetOrder2FinalKitRows" msprop:Generator_UserRelationName="FK_Order2FinalKit_OrderList" msprop:Generator_ParentPropName="OrderListRow" msprop:Generator_RelationVarName="relationFK_Order2FinalKit_OrderList" msprop:Generator_UserParentTable="OrderList" />
<msdata:Relationship name="FK_StatusLog_Places" msdata:parent="Places" msdata:child="StatusLog" msdata:parentkey="PlaceCod" msdata:childkey="PlaceCod" msprop:Generator_UserChildTable="StatusLog" msprop:Generator_ChildPropName="GetStatusLogRows" msprop:Generator_UserRelationName="FK_StatusLog_Places" msprop:Generator_ParentPropName="PlacesRow" msprop:Generator_RelationVarName="relationFK_StatusLog_Places" msprop:Generator_UserParentTable="Places" />
</xs:appinfo>
</xs:annotation>
</xs:schema>
+58 -55
View File
@@ -4,53 +4,56 @@
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="-24" ViewPortY="-53" 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="209" ViewPortY="1609" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<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" />
<Shape ID="DesignTable:BatchList" ZOrder="6" X="325" Y="437" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:StackList" ZOrder="7" X="618" Y="961" Height="381" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:SheetList" ZOrder="4" X="300" Y="824" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OrderList" ZOrder="17" X="284" Y="61" Height="343" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ItemList" ZOrder="46" X="853" Y="87" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Materials" ZOrder="45" X="1189" Y="105" Height="248" Width="198" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:Bins" ZOrder="15" X="1257" Y="597" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Carts" ZOrder="44" X="592" Y="408" Height="286" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OfflineOrderList" ZOrder="43" X="921" Y="934" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OffOrd2Item" ZOrder="42" X="1023" Y="728" Height="134" Width="219" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:KitList" ZOrder="16" X="634" Y="129" Height="248" Width="194" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Nesting" ZOrder="41" X="863" Y="526" Height="153" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:ImportLog" ZOrder="40" X="593" Y="701" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BinList" ZOrder="39" X="1256" Y="391" Height="134" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:FinalKit" ZOrder="38" X="15" Y="525" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:Order2FinalKit" ZOrder="37" X="5" Y="308" Height="134" Width="234" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:Counters" ZOrder="36" X="-12" Y="716" Height="172" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ErrorsLog" ZOrder="35" X="-14" Y="996" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemValidation" ZOrder="34" X="-10" Y="1301" Height="172" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:PartValidPareto" ZOrder="33" X="316" Y="1303" Height="153" Width="236" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UnloadStats" ZOrder="32" X="629" Y="1362" Height="172" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:Remnants" ZOrder="31" X="904" Y="1256" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:CartOnKit" ZOrder="30" X="1251" Y="993" Height="324" Width="202" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackList" ZOrder="29" X="1248" Y="1319" Height="362" Width="297" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:OtherItem" ZOrder="28" X="636" Y="1822" Height="210" Width="204" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:ItemSearchDetail" ZOrder="27" X="1468" Y="105" Height="381" Width="244" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackListDet" ZOrder="26" X="931" Y="1520" Height="343" Width="229" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:PackLog" ZOrder="25" X="1224" Y="1751" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:PackCheck" ZOrder="24" X="636" Y="1560" Height="229" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:OKIB" ZOrder="23" X="33" Y="1493" Height="324" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKIB_Sum" ZOrder="22" X="42" Y="1891" Height="362" Width="220" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI" ZOrder="21" X="334" Y="1485" Height="324" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:OKOI_sum" ZOrder="20" X="330" Y="1890" Height="362" Width="246" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:Pack2Cart" ZOrder="10" X="911" Y="1873" Height="286" Width="203" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:CartIRK" ZOrder="19" X="640" Y="2064" Height="305" Width="188" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:FileValidation" ZOrder="14" X="499" Y="-21" Height="191" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:SheetsPreview" ZOrder="18" X="65" Y="839" Height="210" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:OrderListTree" ZOrder="13" X="3" Y="-43" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:Places" ZOrder="8" X="862" Y="2175" Height="172" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:StatusLog" ZOrder="11" X="1116" Y="2180" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:StatusDecode" ZOrder="9" X="849" Y="2353" Height="172" Width="224" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:UpdMan" ZOrder="5" X="636" Y="2374" Height="191" Width="195" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="140" />
<Shape ID="DesignTable:SheetStats" ZOrder="3" X="20" Y="2307" Height="248" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:BatchStats" ZOrder="2" X="369" Y="2276" Height="305" Width="206" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:ProductionStatsDay" ZOrder="1" X="870" Y="2556" Height="267" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
</Shapes>
<Connectors>
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="54" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_Materials1" ZOrder="57" LineWidth="11">
<RoutePoints>
<Point>
<X>1189</X>
@@ -62,7 +65,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="53" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_OfflineOrderList" ZOrder="56" LineWidth="11">
<RoutePoints>
<Point>
<X>1028</X>
@@ -74,7 +77,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="52" LineWidth="11">
<Connector ID="DesignRelation:FK_ItemList_KitList" ZOrder="55" LineWidth="11">
<RoutePoints>
<Point>
<X>828</X>
@@ -86,7 +89,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="51" LineWidth="11">
<Connector ID="DesignRelation:FK_Nesting_ItemList" ZOrder="54" LineWidth="11">
<RoutePoints>
<Point>
<X>1116</X>
@@ -102,7 +105,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="49" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_Carts" ZOrder="52" LineWidth="11">
<RoutePoints>
<Point>
<X>721</X>
@@ -114,7 +117,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="50" LineWidth="11">
<Connector ID="DesignRelation:FK_KitList_OrderList" ZOrder="53" LineWidth="11">
<RoutePoints>
<Point>
<X>482</X>
@@ -126,7 +129,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="46" LineWidth="11">
<Connector ID="DesignRelation:FK_OffOrd2Item_ItemList" ZOrder="49" LineWidth="11">
<RoutePoints>
<Point>
<X>1113</X>
@@ -138,7 +141,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="48" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_Bins" ZOrder="51" LineWidth="11">
<RoutePoints>
<Point>
<X>1364</X>
@@ -150,7 +153,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="47" LineWidth="11">
<Connector ID="DesignRelation:FK_BinList_ItemList" ZOrder="50" LineWidth="11">
<RoutePoints>
<Point>
<X>1153</X>
@@ -162,7 +165,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="45" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_FinalKit" ZOrder="48" LineWidth="11">
<RoutePoints>
<Point>
<X>115</X>
@@ -174,7 +177,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="44" LineWidth="11">
<Connector ID="DesignRelation:FK_Order2FinalKit_OrderList" ZOrder="47" LineWidth="11">
<RoutePoints>
<Point>
<X>284</X>
@@ -186,7 +189,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="9" LineWidth="11">
<Connector ID="DesignRelation:FK_StatusLog_Places" ZOrder="12" LineWidth="11">
<RoutePoints>
<Point>
<X>1042</X>
+746 -63
View File
File diff suppressed because it is too large Load Diff
+67 -10
View File
@@ -487,6 +487,29 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="stp_prt_RemnantTableAdapter" GeneratorDataComponentClassName="stp_prt_RemnantTableAdapter" Name="stp_prt_Remnant" UserDataComponentName="stp_prt_RemnantTableAdapter">
<MainSource>
<DbSource ConnectionRef="Sauder_NKCConnectionString (Settings)" DbObjectName="Sauder_NKC.prt.stp_prt_Remnant" DbObjectType="StoredProcedure" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>prt.stp_prt_Remnant</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="int" DbType="Int32" Direction="Input" ParameterName="@ItemID" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="nvarchar" DbType="String" Direction="Input" ParameterName="@QRCodeBaseUrl" Precision="0" ProviderType="NVarChar" Scale="0" Size="400" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="QRCodeBaseUrl" DataSetColumn="QRCodeBaseUrl" />
<Mapping SourceColumn="CodRemnant" DataSetColumn="CodRemnant" />
<Mapping SourceColumn="DescRemnant01" DataSetColumn="DescRemnant01" />
<Mapping SourceColumn="DescRemnant02" DataSetColumn="DescRemnant02" />
</Mappings>
<Sources />
</TableAdapter>
</Tables>
<Sources />
</DataSource>
@@ -495,7 +518,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_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: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: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 +550,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_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: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: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 +582,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_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: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: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 +609,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_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: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: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 +676,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_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: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: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 +704,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_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: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: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 +743,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_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: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: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 +789,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_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: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: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 +838,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_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: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: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 +918,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_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: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:complexType>
<xs:sequence>
<xs:element name="OrderExtCode" msprop:Generator_ColumnVarNameInTable="columnOrderExtCode" msprop:Generator_ColumnPropNameInRow="OrderExtCode" msprop:Generator_ColumnPropNameInTable="OrderExtCodeColumn" msprop:Generator_UserColumnName="OrderExtCode">
@@ -953,6 +976,40 @@ SELECT codPostazione, stampante, note FROM ElencoPostazioni WHERE (codPostazione
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_prt_Remnant" msprop:Generator_TableClassName="stp_prt_RemnantDataTable" msprop:Generator_TableVarName="tablestp_prt_Remnant" msprop:Generator_TablePropName="stp_prt_Remnant" msprop:Generator_RowDeletingName="stp_prt_RemnantRowDeleting" msprop:Generator_RowChangingName="stp_prt_RemnantRowChanging" msprop:Generator_RowEvHandlerName="stp_prt_RemnantRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_prt_RemnantRowDeleted" msprop:Generator_UserTableName="stp_prt_Remnant" msprop:Generator_RowChangedName="stp_prt_RemnantRowChanged" msprop:Generator_RowEvArgName="stp_prt_RemnantRowChangeEvent" msprop:Generator_RowClassName="stp_prt_RemnantRow">
<xs:complexType>
<xs:sequence>
<xs:element name="QRCodeBaseUrl" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnQRCodeBaseUrl" msprop:Generator_ColumnPropNameInRow="QRCodeBaseUrl" msprop:Generator_ColumnPropNameInTable="QRCodeBaseUrlColumn" msprop:Generator_UserColumnName="QRCodeBaseUrl" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="400" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CodRemnant" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnCodRemnant" msprop:Generator_ColumnPropNameInRow="CodRemnant" msprop:Generator_ColumnPropNameInTable="CodRemnantColumn" msprop:Generator_UserColumnName="CodRemnant" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="522" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DescRemnant01" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnDescRemnant01" msprop:Generator_ColumnPropNameInRow="DescRemnant01" msprop:Generator_ColumnPropNameInTable="DescRemnant01Column" msprop:Generator_UserColumnName="DescRemnant01" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="551" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DescRemnant02" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnDescRemnant02" msprop:Generator_ColumnPropNameInRow="DescRemnant02" msprop:Generator_ColumnPropNameInTable="DescRemnant02Column" msprop:Generator_UserColumnName="DescRemnant02" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="152" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
+11 -10
View File
@@ -6,16 +6,17 @@
</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="-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" />
<Shape ID="DesignTable:ElencoPostazioni" ZOrder="9" X="861" Y="123" Height="153" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:stp_prt_Bin" ZOrder="4" X="826" Y="646" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:stp_prt_Part" ZOrder="8" X="49" Y="75" Height="155" Width="245" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="104" />
<Shape ID="DesignTable:stp_prt_Cart" ZOrder="7" X="552" Y="645" Height="248" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:stp_prt_BunkGroup" ZOrder="6" X="23" Y="641" Height="267" Width="247" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:stp_prt_OtherPart" ZOrder="3" X="83" Y="334" Height="210" Width="275" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:stp_prt_IRK" ZOrder="2" X="280" Y="903" Height="305" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:stp_prt_IRK_Sum" ZOrder="1" X="551" Y="918" Height="267" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:stp_prt_BunkList" ZOrder="6" X="279" Y="642" Height="229" Width="249" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:PrintJobQueue" ZOrder="11" X="432" Y="94" Height="400" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:ElencoPostazioni" ZOrder="10" X="861" Y="123" Height="153" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:stp_prt_Bin" ZOrder="5" X="826" Y="646" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:stp_prt_Part" ZOrder="9" X="49" Y="75" Height="155" Width="245" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="104" />
<Shape ID="DesignTable:stp_prt_Cart" ZOrder="8" X="552" Y="645" Height="248" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:stp_prt_BunkGroup" ZOrder="7" X="23" Y="641" Height="267" Width="247" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:stp_prt_OtherPart" ZOrder="4" X="83" Y="334" Height="210" Width="275" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:stp_prt_IRK" ZOrder="3" X="280" Y="903" Height="305" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:stp_prt_IRK_Sum" ZOrder="2" X="551" Y="918" Height="267" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:stp_prt_Remnant" ZOrder="1" X="869" Y="312" Height="153" Width="245" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
</Shapes>
<Connectors />
</DiagramLayout>
+14 -5
View File
@@ -12,10 +12,12 @@ namespace AppData
public DS_AppTableAdapters.BatchListTableAdapter taBL;
public DS_AppTableAdapters.BinsTableAdapter taBN;
public DS_AppTableAdapters.BinListTableAdapter taBNLS;
public DS_AppTableAdapters.BatchStatsTableAdapter taBStats;
public DS_AppTableAdapters.CartsTableAdapter taCL;
public DS_AppTableAdapters.CartOnKitTableAdapter taCOK;
public DS_AppTableAdapters.CountersTableAdapter taCount;
public DS_AppTableAdapters.CartsTableAdapter taCR;
public DS_AppTableAdapters.ProductionStatsDayTableAdapter taDayStats;
public DS_AppTableAdapters.ErrorsLogTableAdapter taEL;
public DS_ReportTableAdapters.ElencoPostazioniTableAdapter taElPos;
public DS_AppTableAdapters.FileValidationTableAdapter taFV;
@@ -52,12 +54,13 @@ namespace AppData
public DS_ReportTableAdapters.stp_prt_OtherPartTableAdapter taRepOtherPart;
public DS_ReportTableAdapters.stp_prt_PartTableAdapter taRepPart;
public DS_AppTableAdapters.SheetListTableAdapter taSHL;
public DS_AppTableAdapters.SheetStatsTableAdapter taShStats;
public DS_AppTableAdapters.SheetsPreviewTableAdapter taSP;
public DS_AppTableAdapters.StatusDecodeTableAdapter taStatDec;
public DS_AppTableAdapters.StatusLogTableAdapter taStatLog;
public DS_AppTableAdapters.StackListTableAdapter taSTL;
public DS_AppTableAdapters.UnloadStatsTableAdapter taUS;
public DS_AppTableAdapters.UpdManTableAdapter taUpdMan;
public DS_AppTableAdapters.UnloadStatsTableAdapter taUStat;
#endregion Public Fields
@@ -160,10 +163,12 @@ namespace AppData
taBL = new DS_AppTableAdapters.BatchListTableAdapter();
taBN = new DS_AppTableAdapters.BinsTableAdapter();
taBNLS = new DS_AppTableAdapters.BinListTableAdapter();
taBStats = new DS_AppTableAdapters.BatchStatsTableAdapter();
taCL = new DS_AppTableAdapters.CartsTableAdapter();
taCOK = new DS_AppTableAdapters.CartOnKitTableAdapter();
taCount = new DS_AppTableAdapters.CountersTableAdapter();
taCR = new DS_AppTableAdapters.CartsTableAdapter();
taDayStats = new DS_AppTableAdapters.ProductionStatsDayTableAdapter();
taEL = new DS_AppTableAdapters.ErrorsLogTableAdapter();
taFV = new DS_AppTableAdapters.FileValidationTableAdapter();
taIL = new DS_AppTableAdapters.ItemListTableAdapter();
@@ -204,20 +209,23 @@ 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();
taShStats = new DS_AppTableAdapters.SheetStatsTableAdapter();
taUpdMan = new DS_AppTableAdapters.UpdManTableAdapter();
taUStat = new DS_AppTableAdapters.UnloadStatsTableAdapter();
}
private void setupConnString()
{
string connString = memLayer.ML.CRS("NKC_WFConnectionString");
string connString = memLayer.ML.confReadString("NKC_WFConnectionString");
taBL.Connection.ConnectionString = connString;
taBN.Connection.ConnectionString = connString;
taBNLS.Connection.ConnectionString = connString;
taBStats.Connection.ConnectionString = connString;
taCL.Connection.ConnectionString = connString;
taCOK.Connection.ConnectionString = connString;
taCount.Connection.ConnectionString = connString;
taCR.Connection.ConnectionString = connString;
taDayStats.Connection.ConnectionString = connString;
taEL.Connection.ConnectionString = connString;
taFV.Connection.ConnectionString = connString;
taIL.Connection.ConnectionString = connString;
@@ -258,7 +266,8 @@ namespace AppData
taRepOtherPart.Connection.ConnectionString = connString;
taRepIRK.Connection.ConnectionString = connString;
taRepIRKSum.Connection.ConnectionString = connString;
taUS.Connection.ConnectionString = connString;
taShStats.Connection.ConnectionString = connString;
taUStat.Connection.ConnectionString = connString;
taUpdMan.Connection.ConnectionString = connString;
}
@@ -476,7 +485,7 @@ namespace AppData
if (!trovato)
{
// se non trovo leggo
answ = taUS.GetData(BatchID, StatLevel);
answ = taUStat.GetData(BatchID, StatLevel);
rawData = JsonConvert.SerializeObject(answ);
// salvo in redis
memLayer.ML.setRSV(redKey, rawData, cacheDataTTL);
+23
View File
@@ -17,6 +17,29 @@ namespace AppData
danger
}
public enum ReportType
{
/// <summary>
/// Non definito
/// </summary>
ND = 0,
/// <summary>
/// Statistiche Batch (PRE)
/// </summary>
BatchStats,
/// <summary>
/// Report previsione scarico batch (num pezzi/sheet)
/// </summary>
BatchUnloadPreview,
/// <summary>
/// Report produttività giornaliera (POST)
/// </summary>
DailyReport
}
public enum Stations
{
LINE = 0,
+68
View File
@@ -10,12 +10,23 @@ namespace AppData
{
#region Public Properties
public string label { get; set; } = "";
public DateTime x { get; set; }
public decimal y { get; set; }
#endregion Public Properties
}
public class chartJsTVal
{
#region Public Properties
public string x { get; set; }
public decimal y { get; set; }
#endregion Public Properties
}
public class chartJsXY
{
#region Public Properties
@@ -23,6 +34,63 @@ namespace AppData
public decimal x { get; set; }
public decimal y { get; set; }
#endregion Public Properties
}
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
public class FileBatchStats
{
public string FileCsv { get; set; } = "";
public double Yeld { get; set; } = 0;
public int NumMaterials { get; set; } = 0;
public int NumSheets { get; set; } = 0;
public int NumModels { get; set; } = 0;
public int NumKit { get; set; } = 0;
public int NumParts { get; set; } = 0;
public int NumPainted { get; set; } = 0;
}
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
public class DayStats
{
#region Public Properties
public DateTime DTime { get; set; }
public string Machine { get; set; } = "";
public double OEE
{
get
{
var denom = AvailTime > 0 ? AvailTime : 1;
return RunTime / denom;
}
}
public double AvgPartHour
{
get
{
var denom = RunTime > 0 ? RunTime : 1;
return PartProd / denom;
}
}
public double RunTime { get; set; } = 0;
public double AvailTime { get; set; } = 0;
public int PartProd { get; set; } = 0;
public int PartScrap { get; set; } = 0;
#endregion Public Properties
}
}
+7 -7
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Il codice è stato generato da uno strumento.
// Versione runtime:4.0.30319.42000
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se
// il codice viene rigenerato.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@@ -12,7 +12,7 @@ namespace AppData.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.2.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
@@ -26,8 +26,8 @@ namespace AppData.Properties {
[global::System.Configuration.ApplicationScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.SpecialSettingAttribute(global::System.Configuration.SpecialSetting.ConnectionString)]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=10.74.82.14;Initial Catalog=Sauder_NKC;Persist Security Info=True;Use" +
"r ID=conn_NKC;Password=pwd_NKC")]
[global::System.Configuration.DefaultSettingValueAttribute("Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User" +
" ID=sa;Password=keyhammer16")]
public string Sauder_NKCConnectionString {
get {
return ((string)(this["Sauder_NKCConnectionString"]));
+2 -2
View File
@@ -5,10 +5,10 @@
<Setting Name="Sauder_NKCConnectionString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;SerializableConnectionString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;
&lt;ConnectionString&gt;Data Source=10.74.82.14;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC&lt;/ConnectionString&gt;
&lt;ConnectionString&gt;Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=10.74.82.14;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC</Value>
<Value Profile="(Default)">Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16</Value>
</Setting>
</Settings>
</SettingsFile>
+40 -23
View File
@@ -1,31 +1,48 @@
using SteamWare;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
namespace AppData
{
public class utils
{
/// <summary>
///
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static string getPath(string filePath)
public class utils
{
string answ = "";
try
{
answ = HttpContext.Current.Server.MapPath(filePath);
}
catch (Exception exc)
{
logger.lg.scriviLog($"{ComLib.traduci("UtilsErrorMapPath")}:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
return answ;
#region Public Methods
/// <summary>
///
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static string getPath(string filePath)
{
string answ = "";
try
{
answ = HttpContext.Current.Server.MapPath(filePath);
}
catch (Exception exc)
{
logger.lg.scriviLog($"{ComLib.traduci("UtilsErrorMapPath")}:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
return answ;
}
public static void SaveToCsv<T>(List<T> reportData, string path)
{
var lines = new List<string>();
IEnumerable<PropertyDescriptor> props = TypeDescriptor.GetProperties(typeof(T)).OfType<PropertyDescriptor>();
var header = string.Join(";", props.ToList().Select(x => x.Name));
lines.Add(header);
var valueLines = reportData.Select(row => string.Join(";", header.Split(';').Select(a => row.GetType().GetProperty(a).GetValue(row, null))));
lines.AddRange(valueLines);
File.WriteAllLines(path, lines.ToArray());
}
#endregion Public Methods
}
}
}
}
+69 -69
View File
@@ -1,72 +1,72 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="AppData.Properties.Settings.Sauder_NKCConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" providerName="System.Data.SqlClient" />
</connectionStrings>
<runtime>
<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-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-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<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.3.2.0" newVersion="1.3.2.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>
<configSections>
</configSections>
<connectionStrings>
<add name="AppData.Properties.Settings.Sauder_NKCConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Password=keyhammer16" providerName="System.Data.SqlClient" />
</connectionStrings>
<runtime>
<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-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-5.0.0.1" newVersion="5.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.30.1.0" newVersion="0.30.1.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.3.11" newVersion="1.3.3.11" />
</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>
</configuration>
+13 -12
View File
@@ -3,26 +3,26 @@
<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.4.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.NETCore.Platforms" version="5.0.4" 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.12.4" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.2.1" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.13.3" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.13.3" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.13.3" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.3.0" targetFramework="net462" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net462" />
<package id="NLog" version="4.7.10" targetFramework="net462" />
<package id="NLog" version="4.7.12" targetFramework="net462" />
<package id="PDFsharp" version="1.50.5147" 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="SharpCompress" version="0.30.1" targetFramework="net462" />
<package id="SharpZipLib" version="1.3.3" targetFramework="net462" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.2.4" targetFramework="net462" />
<package id="SteamWare" version="5.1.2107.759" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2107.759" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.2.88" targetFramework="net462" />
<package id="SteamWare" version="5.1.2109.1716" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2109.1716" 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" />
@@ -40,4 +40,5 @@
<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>
+89 -4
View File
@@ -3,12 +3,12 @@
<Version>10</Version>
<SourceModelProvider>
<ConnectionBasedModelProvider>
<ConnectionString>Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=sa;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False</ConnectionString>
<ConnectionString>Data Source=SQL2016DEV;Initial Catalog=Sauder_NKC;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False</ConnectionString>
</ConnectionBasedModelProvider>
</SourceModelProvider>
<TargetModelProvider>
<ConnectionBasedModelProvider>
<ConnectionString>Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_Prod;Persist Security Info=True;User ID=sa;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False</ConnectionString>
<ConnectionString>Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC2_Prod;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False</ConnectionString>
</ConnectionBasedModelProvider>
</TargetModelProvider>
<SchemaCompareSettingsService>
@@ -35,6 +35,10 @@
<Name>BackupDatabaseBeforeChanges</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>IgnoreIndexesStatisticsOnEnclaveEnabledColumns</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>BlockOnPossibleDataLoss</Name>
<Value>True</Value>
@@ -63,6 +67,10 @@
<Name>DisableAndReenableDdlTriggers</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DisableIndexesForDataPhase</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotAlterChangeDataCaptureObjects</Name>
<Value>True</Value>
@@ -107,6 +115,10 @@
<Name>GenerateSmartDefaults</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>HashObjectNamesInLogs</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>IgnoreDdlTriggerOrder</Name>
<Value>False</Value>
@@ -267,10 +279,22 @@
<Name>PopulateFilesOnFileGroups</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>PreserveIdentityLastValues</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>RegisterDataTierApplication</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>RebuildIndexesOfflineForDataPhase</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>RestoreSequenceCurrentValue</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ScriptDatabaseCollation</Name>
<Value>False</Value>
@@ -301,11 +325,11 @@
</PropertyElementName>
<PropertyElementName>
<Name>TargetDatabaseName</Name>
<Value>Sauder_NKC_Prod</Value>
<Value>Sauder_NKC2_Prod</Value>
</PropertyElementName>
<PropertyElementName>
<Name>TargetConnectionString</Name>
<Value>Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC_Prod;Persist Security Info=True;User ID=sa;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False;Application Name="Microsoft SQL Server Data Tools, Schema Compare"</Value>
<Value>Data Source=SQL2016PROD;Initial Catalog=Sauder_NKC2_Prod;Integrated Security=True;Persist Security Info=False;Pooling=False;MultipleActiveResultSets=False;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False;Application Name="Microsoft SQL Server Data Tools, Schema Compare"</Value>
</PropertyElementName>
<PropertyElementName>
<Name>TreatVerificationErrorsAsWarnings</Name>
@@ -331,6 +355,10 @@
<Name>AllowDropBlockingAssemblies</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotEvaluateSqlCmdVariables</Name>
<Value>True</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropAggregates</Name>
<Value>False</Value>
@@ -399,6 +427,22 @@
<Name>DoNotDropDatabaseTriggers</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>IgnoreDatabaseWorkloadGroups</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropDatabaseWorkloadGroups</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>IgnoreWorkloadClassifiers</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropWorkloadClassifiers</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropDefaults</Name>
<Value>False</Value>
@@ -431,10 +475,18 @@
<Name>DoNotDropExternalFileFormats</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropExternalStreamingJobs</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropExternalTables</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropExternalStreams</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>DoNotDropFilegroups</Name>
<Value>False</Value>
@@ -675,10 +727,18 @@
<Name>ExcludeExternalFileFormats</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ExcludeExternalStreamingJobs</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ExcludeExternalTables</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ExcludeExternalStreams</Name>
<Value>False</Value>
</PropertyElementName>
<PropertyElementName>
<Name>ExcludeEventSessions</Name>
<Value>True</Value>
@@ -943,5 +1003,30 @@
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlUser, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>conn_NKC</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlTable, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>dbo</Name>
<Name>ControlloDefrag</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlExtendedProperty, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>SqlTableBase</Name>
<Name>dbo</Name>
<Name>ControlloDefrag</Name>
<Name>Note</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlTable, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>dbo</Name>
<Name>BatchReqList_OLD</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlExtendedProperty, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>SqlColumn</Name>
<Name>dbo</Name>
<Name>BatchReqList_OLD</Name>
<Name>OrdID</Name>
<Name>MS_Description</Name>
</SelectedItem>
<SelectedItem Type="Microsoft.Data.Tools.Schema.Sql.SchemaModel.SqlPrimaryKeyConstraint, Microsoft.Data.Tools.Schema.Sql, Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Name>dbo</Name>
<Name>PK_BatchReqList</Name>
</SelectedItem>
</ExcludedTargetElements>
</SchemaComparison>
Vendored
+5 -5
View File
@@ -186,8 +186,8 @@ pipeline {
// lancio upload con nuget!
echo 'Start upload with nuget push'
bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source http://nexus.steamware.net/repository/nuget-hosted"
bat "e:\\nuget.exe push NKC_SDK.${env.packVers}.nupkg -Source http://nexus.steamware.net/repository/nuget-hosted"
bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source https://nexus.steamware.net/repository/nuget-hosted"
bat "e:\\nuget.exe push NKC_SDK.${env.packVers}.nupkg -Source https://nexus.steamware.net/repository/nuget-hosted"
}
else
{
@@ -277,16 +277,16 @@ def sendSlack(status, colorCode) {
// 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"
// bat "e:\\nuget setapikey fe387daa-d07c-3207-877e-96c8be1be91b -source https://nexus.steamware.net/repository/nuget-group"
// solo la prima volta va aggiunta...
hasSource = bat "e:\\nuget sources list | find \"Steamware\" /C"
if (hasSource == "0")
{
bat "e:\\nuget sources Add -Name \"Steamware Nexus\" -Source http://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
bat "e:\\nuget sources Add -Name \"Steamware Nexus\" -Source https://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
}
else
{
bat "e:\\nuget sources Update -Name \"Steamware Nexus\" -Source http://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
bat "e:\\nuget sources Update -Name \"Steamware Nexus\" -Source https://nexus.steamware.net/repository/nuget-group -username \"nugetUser\" -password \"viaDante16\""
}
bat "e:\\nuget.exe restore ${solutionFile}"
}
+1
View File
@@ -0,0 +1 @@
1.1.
+295
View File
@@ -0,0 +1,295 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using NKC.Data.DbModels;
using NKC.Data.DTO;
using NLog;
namespace NKC.Data.Controllers
{
public class NKCController : IDisposable
{
#region Private Fields
private static IConfiguration _configuration = null!;
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
#endregion Private Fields
#region Public Constructors
public NKCController(IConfiguration configuration)
{
_configuration = configuration;
}
#endregion Public Constructors
#region Public Methods
public bool DbForceMigrate()
{
bool answ = false;
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
try
{
localDbCtx.DbForceMigrate();
answ = true;
}
catch (Exception exc)
{
Log.Error($"Eccezione in DbForceMigrate{Environment.NewLine}{exc}");
}
}
return answ;
}
public void Dispose()
{
Log.Info("Dispose di NKCController");
}
public List<MaterialDTO> MaterialsGetAll()
{
List<MaterialDTO> dbResult = new List<MaterialDTO>();
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
dbResult = localDbCtx
.DbSetMaterials
.Where(x => x.MatID > 0)
.Select(x => new MaterialDTO()
{
MatID = x.MatID,
MatExtCode = x.MatExtCode,
MatDesc = x.MatDesc,
LMm = x.LMm,
WMm = x.WMm,
TMm = x.TMm,
ApprovUser = x.ApprovUser,
ApprovDate = x.ApprovDate,
NumSize = x.RemnantNav== null?0: x.RemnantNav.Count,
TotQty = x.RemnantNav == null ? 0 : x.RemnantNav.Sum(r => r.QtyAvail)
}
)
.ToList();
}
return dbResult;
}
public List<MovMagModel> MovMagGetFilt(int RemnId, int numShow)
{
List<MovMagModel> dbResult = new List<MovMagModel>();
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
dbResult = localDbCtx
.DbSetMovMag
.Where(x => x.RemnID == RemnId)
.OrderByDescending(o => o.DtRec)
//.Include(m => m.RemnantNav)
.Take(numShow)
.ToList();
}
return dbResult;
}
public bool AddPrintJob(string tipoReport, string keyParam, string prtName)
{
bool done = false;
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
try
{
DateTime adesso = DateTime.Now;
PrintJobQueue newRec = new PrintJobQueue()
{
TipoReport = tipoReport,
KeyParam = keyParam,
PrtName = prtName,
Stato = 0,
DtStart = adesso,
DtLastTry = adesso
};
localDbCtx.DbSetPrintJobQueues.Add(newRec);
localDbCtx.SaveChanges();
done = true;
}
catch (Exception exc)
{
Log.Error($"Eccezione in AddPrintJob:{Environment.NewLine}{exc}");
}
}
return done;
}
public List<RemnantsModel> RemnantsGetAll()
{
List<RemnantsModel> dbResult = new List<RemnantsModel>();
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
dbResult = localDbCtx
.DbSetRemnants
.ToList();
}
return dbResult;
}
public RemnantsModel RemnantGetByid(int RemnId)
{
RemnantsModel? dbResult = new RemnantsModel();
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
dbResult = localDbCtx
.DbSetRemnants
.Where(x => x.RemnID == RemnId)
.Include(m => m.MaterialNav)
.FirstOrDefault();
}
if (dbResult == null)
{
dbResult = new RemnantsModel();
}
return dbResult;
}
public List<RemnantsModel> RemnantsGetFilt(int matId, int minQty)
{
List<RemnantsModel> dbResult = new List<RemnantsModel>();
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
dbResult = localDbCtx
.DbSetRemnants
.Where(x => (x.MatID == matId || matId == 0) && (x.QtyAvail >= minQty || minQty == 0))
//.OrderBy(o => o.Area)
.Include(m => m.MaterialNav)
.ToList();
}
return dbResult;
}
public RemnantsModel RemnantGetByQr(string QrCode)
{
RemnantsModel? dbResult = new RemnantsModel();
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
var rawList = localDbCtx
.DbSetRemnants
.Include(m => m.MaterialNav)
.ToList();
dbResult = rawList
.Where(x => x.RemDtmx == QrCode)
.FirstOrDefault();
}
if (dbResult == null)
{
dbResult = new RemnantsModel();
}
return dbResult;
}
public bool RemnantsUpsert(RemnantsModel updItem, string userId)
{
bool done = false;
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
try
{
RemnantsModel? currData = localDbCtx
.DbSetRemnants
.Where(x => x.RemnID == updItem.RemnID)
.FirstOrDefault();
if (currData != null)
{
// aggiungo record variazione quantità...
int delta = updItem.QtyAvail - currData.QtyAvail;
if (delta != 0)
{
MovMagModel recMovMag = new MovMagModel()
{
DtRec = DateTime.Now,
RemnID = updItem.RemnID,
QtyRec = delta,
UserId = userId
};
localDbCtx.DbSetMovMag.Add(recMovMag);
}
// aggiorno valori
currData.MatID = updItem.MatID;
currData.DtMod = updItem.DtMod;
currData.Location = updItem.Location;
currData.Note = updItem.Note;
currData.QtyAvail = updItem.QtyAvail;
currData.LMm = updItem.LMm;
currData.WMm = updItem.WMm;
currData.TMm = updItem.TMm;
localDbCtx.Entry(currData).State = EntityState.Modified;
}
else
{
// aggiungo record variazione quantità...
MovMagModel recMovMag = new MovMagModel()
{
DtRec = DateTime.Now,
RemnID = updItem.RemnID,
QtyRec = updItem.QtyAvail
};
localDbCtx.DbSetMovMag.Add(recMovMag);
// aggiungo record puntuale
currData = new RemnantsModel()
{
MatID = updItem.MatID,
DtMod = updItem.DtMod,
Location = updItem.Location,
Note = updItem.Note,
QtyAvail = updItem.QtyAvail,
LMm = updItem.LMm,
WMm = updItem.WMm,
TMm = updItem.TMm
};
localDbCtx
.DbSetRemnants
.Add(currData);
}
localDbCtx.SaveChanges();
done = true;
}
catch (Exception exc)
{
Log.Error($"Eccezione in PlantUpdate:{Environment.NewLine}{exc}");
}
}
return done;
}
/// <summary>
/// Annulla modifiche su una specifica entity (cancel update)
/// </summary>
/// <param name="item"></param>
/// <returns></returns>
public bool rollBackEntity(object item)
{
bool answ = false;
using (NKCContext localDbCtx = new NKCContext(_configuration))
{
try
{
if (localDbCtx.Entry(item).State == EntityState.Deleted || localDbCtx.Entry(item).State == EntityState.Modified)
{
localDbCtx.Entry(item).Reload();
}
}
catch (Exception exc)
{
Log.Error($"Eccezione in rollBackEntity{Environment.NewLine}{exc}");
}
}
return answ;
}
#endregion Public Methods
}
}
+47
View File
@@ -0,0 +1,47 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NKC.Data.DTO
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
public class MaterialDTO
{
public int MatID { get; set; }
public int MatExtCode { get; set; } = 0;
public string MatDesc { get; set; } = "";
public DateTime ApprovDate { get; set; } = DateTime.Now.AddYears(10);
public string ApprovUser { get; set; } = "";
public decimal LMm { get; set; } = 0;
public decimal WMm { get; set; } = 0;
public decimal TMm { get; set; } = 0;
public string MatDtmx
{
get => $"MT{MatExtCode:00000000}";
}
public decimal LIn
{
get => Math.Round(LMm / (decimal)25.4, 3);
}
public decimal WIn
{
get => Math.Round(WMm / (decimal)25.4, 3);
}
public decimal TIn
{
get => Math.Round(TMm / (decimal)25.4, 3);
}
public int NumSize { get; set; } = 0;
public int TotQty { get; set; } = 0;
}
}
+12
View File
@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NKC.Data.DTO
{
public class RemnantDTO
{
}
}
+33
View File
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace NKC.Data.DbModels
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
[Table("Materials")]
public partial class MaterialModel
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int MatID { get; set; }
public int MatExtCode { get; set; } = 0;
public string MatDesc { get; set; } = "";
public DateTime ApprovDate { get; set; } = DateTime.Now.AddYears(10);
public string ApprovUser { get; set; } = "";
public decimal LMm { get; set; } = 0;
public decimal WMm { get; set; }=0;
public decimal TMm { get; set; }=0;
[NotMapped]
public string MatDtmx {
get => $"MT{MatExtCode:00000000}";
}
public virtual ICollection<RemnantsModel>? RemnantNav { get; set; }
}
}
+48
View File
@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace NKC.Data.DbModels
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
//[Index(nameof(Installazione), nameof(Active), nameof(DiskStatus))]
[Table("MovMag")]
public partial class MovMagModel
{
/// <summary>
/// Primary Key AUTO
/// </summary>
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int MovID { get; set; }
/// <summary>
/// DateTime record
/// </summary>
public DateTime DtRec { get; set; } = DateTime.Now;
/// <summary>
/// Ext ref for Remnants
/// </summary>
public int RemnID { get; set; }
/// <summary>
/// Qty recorded (delta +/-)
/// </summary>
public int QtyRec { get; set; } = 0;
/// <summary>
/// User modificatore
/// </summary>
public string UserId { get; set; } = "";
/// <summary>
/// Navigation property to Remnant
/// </summary>
[ForeignKey("RemnID")]
public virtual RemnantsModel? RemnantNav { get; set; }
}
}
+23
View File
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
namespace NKC.Data.DbModels
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
[Table("PrintJobQueue")]
public partial class PrintJobQueue
{
public int IdxPrintJob { get; set; }
public string TipoReport { get; set; } = null!;
public string KeyParam { get; set; } = null!;
public string PrtName { get; set; } = null!;
public DateTime DtStart { get; set; }
public DateTime? DtEnd { get; set; }
public int Stato { get; set; }
public DateTime? DtLastTry { get; set; }
}
}
+105
View File
@@ -0,0 +1,105 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace NKC.Data.DbModels
{
// <Auto-Generated>
// This is here so CodeMaid doesn't reorganize this document
// </Auto-Generated>
//[Index(nameof(Installazione), nameof(Active), nameof(DiskStatus))]
[Table("RemnantsList")]
public partial class RemnantsModel
{
/// <summary>
/// Primary Key AUTO
/// </summary>
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int RemnID { get; set; }
/// <summary>
/// Ext ref for Material
/// </summary>
public int MatID { get; set; }
/// <summary>
/// Location
/// </summary>
public string Location { get; set; } = "";
/// <summary>
/// Qty available on wharehouse
/// </summary>
public int QtyAvail { get; set; } = 0;
/// <summary>
/// DateTime last modification
/// </summary>
public DateTime DtMod { get; set; } = DateTime.Now.AddYears(10);
/// <summary>
/// Remnant's Lenght
/// </summary>
public decimal LMm { get; set; } = 0;
/// <summary>
/// Remnant's Width
/// </summary>
public decimal WMm { get; set; } = 0;
/// <summary>
/// Remnant's Thikness
/// </summary>
public decimal TMm { get; set; } = 0;
[NotMapped]
public decimal LIn
{
get => Math.Round(LMm / (decimal)25.4, 3);
}
[NotMapped]
public decimal WIn
{
get => Math.Round(WMm / (decimal)25.4, 3);
}
[NotMapped]
public decimal TIn
{
get => Math.Round(TMm / (decimal)25.4, 3);
}
/// <summary>
/// Note (optional)
/// </summary>
public string Note { get; set; } = "";
[NotMapped]
public decimal Area
{
get => LMm * WMm;
}
[NotMapped]
public string RemDtmx
{
get
{
string answ = $"MT99999999-{LMm * 1000:00000000}";
if (MaterialNav != null)
{
answ = $"MT{MaterialNav.MatExtCode:00000000}-{LMm * 1000:00000000}";
}
return answ;
}
}
/// <summary>
/// Navigation property to Material
/// </summary>
[ForeignKey("MatID")]
public virtual MaterialModel MaterialNav { get; set; } = null!;
}
}
+28
View File
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NKC.Data
{
public class Enum
{
#region Public Enums
public enum RemnState
{
/// <summary>
/// Non definito
/// </summary>
ND = 0,
/// <summary>
/// Selezionato x operazioni (veto interfaccia ad altri usi)
/// </summary>
Selected
}
#endregion Public Enums
}
}
+80
View File
@@ -0,0 +1,80 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using NKC.Data;
#nullable disable
namespace NKC.Data.Migrations
{
[DbContext(typeof(NKCContext))]
[Migration("20211118172800_InitDb")]
partial class InitDb
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
modelBuilder.Entity("NKC.Data.DbModels.MaterialModel", b =>
{
b.Property<int>("MatID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MatID"), 1L, 1);
b.Property<DateTime>("ApprovDate")
.ValueGeneratedOnAdd()
.HasColumnType("datetime")
.HasDefaultValueSql("(getdate())");
b.Property<string>("ApprovUser")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasDefaultValueSql("('')");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("L_mm");
b.Property<string>("MatDesc")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasDefaultValueSql("('')")
.HasComment("Description");
b.Property<int>("MatExtCode")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("T_mm");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("W_mm");
b.HasKey("MatID");
b.HasIndex(new[] { "MatExtCode" }, "Idx_Materials_MatExtCode_Unique")
.IsUnique();
b.ToTable("Materials");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,44 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace NKC.Data.Migrations
{
public partial class InitDb : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "Materials",
columns: table => new
{
MatID = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MatExtCode = table.Column<int>(type: "int", nullable: false),
MatDesc = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: false, defaultValueSql: "('')", comment: "Description"),
ApprovDate = table.Column<DateTime>(type: "datetime", nullable: false, defaultValueSql: "(getdate())"),
ApprovUser = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false, defaultValueSql: "('')"),
L_mm = table.Column<decimal>(type: "decimal(18,3)", nullable: false),
W_mm = table.Column<decimal>(type: "decimal(18,3)", nullable: false),
T_mm = table.Column<decimal>(type: "decimal(18,3)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_Materials", x => x.MatID);
});
migrationBuilder.CreateIndex(
name: "Idx_Materials_MatExtCode_Unique",
table: "Materials",
column: "MatExtCode",
unique: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "Materials");
}
}
}
@@ -0,0 +1,132 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using NKC.Data;
#nullable disable
namespace NKC.Data.Migrations
{
[DbContext(typeof(NKCContext))]
[Migration("20211118173720_AddRemnantsTable")]
partial class AddRemnantsTable
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
modelBuilder.Entity("NKC.Data.DbModels.MaterialModel", b =>
{
b.Property<int>("MatID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MatID"), 1L, 1);
b.Property<DateTime>("ApprovDate")
.ValueGeneratedOnAdd()
.HasColumnType("datetime")
.HasDefaultValueSql("(getdate())");
b.Property<string>("ApprovUser")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasDefaultValueSql("('')");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("L_mm");
b.Property<string>("MatDesc")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasDefaultValueSql("('')")
.HasComment("Description");
b.Property<int>("MatExtCode")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("T_mm");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("W_mm");
b.HasKey("MatID");
b.HasIndex(new[] { "MatExtCode" }, "Idx_Materials_MatExtCode_Unique")
.IsUnique();
b.ToTable("Materials");
});
modelBuilder.Entity("NKC.Data.DbModels.RemnantsModel", b =>
{
b.Property<int>("RemnID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("RemnID"), 1L, 1);
b.Property<DateTime>("DtMod")
.HasColumnType("datetime2");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)");
b.Property<string>("Location")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("MatID")
.HasColumnType("int");
b.Property<string>("Note")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("QtyAvail")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)");
b.HasKey("RemnID");
b.HasIndex("MatID");
b.ToTable("RemnantsList");
});
modelBuilder.Entity("NKC.Data.DbModels.RemnantsModel", b =>
{
b.HasOne("NKC.Data.DbModels.MaterialModel", "MaterialNav")
.WithMany()
.HasForeignKey("MatID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MaterialNav");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,50 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace NKC.Data.Migrations
{
public partial class AddRemnantsTable : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "RemnantsList",
columns: table => new
{
RemnID = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
MatID = table.Column<int>(type: "int", nullable: false),
Location = table.Column<string>(type: "nvarchar(max)", nullable: false),
QtyAvail = table.Column<int>(type: "int", nullable: false),
DtMod = table.Column<DateTime>(type: "datetime2", nullable: false),
LMm = table.Column<decimal>(type: "decimal(18,3)", nullable: false),
WMm = table.Column<decimal>(type: "decimal(18,3)", nullable: false),
TMm = table.Column<decimal>(type: "decimal(18,3)", nullable: false),
Note = table.Column<string>(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_RemnantsList", x => x.RemnID);
table.ForeignKey(
name: "FK_RemnantsList_Materials_MatID",
column: x => x.MatID,
principalTable: "Materials",
principalColumn: "MatID",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_RemnantsList_MatID",
table: "RemnantsList",
column: "MatID");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "RemnantsList");
}
}
}
@@ -0,0 +1,172 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using NKC.Data;
#nullable disable
namespace NKC.Data.Migrations
{
[DbContext(typeof(NKCContext))]
[Migration("20211119182450_AddMovMagTable")]
partial class AddMovMagTable
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
modelBuilder.Entity("NKC.Data.DbModels.MaterialModel", b =>
{
b.Property<int>("MatID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MatID"), 1L, 1);
b.Property<DateTime>("ApprovDate")
.ValueGeneratedOnAdd()
.HasColumnType("datetime")
.HasDefaultValueSql("(getdate())");
b.Property<string>("ApprovUser")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasDefaultValueSql("('')");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("L_mm");
b.Property<string>("MatDesc")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasDefaultValueSql("('')")
.HasComment("Description");
b.Property<int>("MatExtCode")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("T_mm");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("W_mm");
b.HasKey("MatID");
b.HasIndex(new[] { "MatExtCode" }, "Idx_Materials_MatExtCode_Unique")
.IsUnique();
b.ToTable("Materials");
});
modelBuilder.Entity("NKC.Data.DbModels.MovMagModel", b =>
{
b.Property<int>("MovID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MovID"), 1L, 1);
b.Property<DateTime>("DtRec")
.HasColumnType("datetime2");
b.Property<int>("QtyRec")
.HasColumnType("int");
b.Property<int>("RemnID")
.HasColumnType("int");
b.HasKey("MovID");
b.HasIndex("RemnID");
b.ToTable("MovMag");
});
modelBuilder.Entity("NKC.Data.DbModels.RemnantsModel", b =>
{
b.Property<int>("RemnID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("RemnID"), 1L, 1);
b.Property<DateTime>("DtMod")
.HasColumnType("datetime2");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)");
b.Property<string>("Location")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("MatID")
.HasColumnType("int");
b.Property<string>("Note")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("QtyAvail")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)");
b.HasKey("RemnID");
b.HasIndex("MatID");
b.ToTable("RemnantsList");
});
modelBuilder.Entity("NKC.Data.DbModels.MovMagModel", b =>
{
b.HasOne("NKC.Data.DbModels.RemnantsModel", "RemnantNav")
.WithMany()
.HasForeignKey("RemnID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("RemnantNav");
});
modelBuilder.Entity("NKC.Data.DbModels.RemnantsModel", b =>
{
b.HasOne("NKC.Data.DbModels.MaterialModel", "MaterialNav")
.WithMany("RemnantNav")
.HasForeignKey("MatID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MaterialNav");
});
modelBuilder.Entity("NKC.Data.DbModels.MaterialModel", b =>
{
b.Navigation("RemnantNav");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,47 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace NKC.Data.Migrations
{
public partial class AddMovMagTable : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "MovMag",
columns: table => new
{
MovID = table.Column<int>(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
DtRec = table.Column<DateTime>(type: "datetime2", nullable: false),
RemnID = table.Column<int>(type: "int", nullable: false),
QtyRec = table.Column<int>(type: "int", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_MovMag", x => x.MovID);
table.ForeignKey(
name: "FK_MovMag_RemnantsList_RemnID",
column: x => x.RemnID,
principalTable: "RemnantsList",
principalColumn: "RemnID",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_MovMag_RemnID",
table: "MovMag",
column: "RemnID");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "MovMag");
}
}
}
@@ -0,0 +1,176 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using NKC.Data;
#nullable disable
namespace NKC.Data.Migrations
{
[DbContext(typeof(NKCContext))]
[Migration("20211120074650_MovMagAddUserId")]
partial class MovMagAddUserId
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
modelBuilder.Entity("NKC.Data.DbModels.MaterialModel", b =>
{
b.Property<int>("MatID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MatID"), 1L, 1);
b.Property<DateTime>("ApprovDate")
.ValueGeneratedOnAdd()
.HasColumnType("datetime")
.HasDefaultValueSql("(getdate())");
b.Property<string>("ApprovUser")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasDefaultValueSql("('')");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("L_mm");
b.Property<string>("MatDesc")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasDefaultValueSql("('')")
.HasComment("Description");
b.Property<int>("MatExtCode")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("T_mm");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("W_mm");
b.HasKey("MatID");
b.HasIndex(new[] { "MatExtCode" }, "Idx_Materials_MatExtCode_Unique")
.IsUnique();
b.ToTable("Materials");
});
modelBuilder.Entity("NKC.Data.DbModels.MovMagModel", b =>
{
b.Property<int>("MovID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MovID"), 1L, 1);
b.Property<DateTime>("DtRec")
.HasColumnType("datetime2");
b.Property<int>("QtyRec")
.HasColumnType("int");
b.Property<int>("RemnID")
.HasColumnType("int");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("MovID");
b.HasIndex("RemnID");
b.ToTable("MovMag");
});
modelBuilder.Entity("NKC.Data.DbModels.RemnantsModel", b =>
{
b.Property<int>("RemnID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("RemnID"), 1L, 1);
b.Property<DateTime>("DtMod")
.HasColumnType("datetime2");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)");
b.Property<string>("Location")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("MatID")
.HasColumnType("int");
b.Property<string>("Note")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("QtyAvail")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)");
b.HasKey("RemnID");
b.HasIndex("MatID");
b.ToTable("RemnantsList");
});
modelBuilder.Entity("NKC.Data.DbModels.MovMagModel", b =>
{
b.HasOne("NKC.Data.DbModels.RemnantsModel", "RemnantNav")
.WithMany()
.HasForeignKey("RemnID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("RemnantNav");
});
modelBuilder.Entity("NKC.Data.DbModels.RemnantsModel", b =>
{
b.HasOne("NKC.Data.DbModels.MaterialModel", "MaterialNav")
.WithMany("RemnantNav")
.HasForeignKey("MatID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MaterialNav");
});
modelBuilder.Entity("NKC.Data.DbModels.MaterialModel", b =>
{
b.Navigation("RemnantNav");
});
#pragma warning restore 612, 618
}
}
}
@@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace NKC.Data.Migrations
{
public partial class MovMagAddUserId : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "UserId",
table: "MovMag",
type: "nvarchar(max)",
nullable: false,
defaultValue: "");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "UserId",
table: "MovMag");
}
}
}
@@ -0,0 +1,174 @@
// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using NKC.Data;
#nullable disable
namespace NKC.Data.Migrations
{
[DbContext(typeof(NKCContext))]
partial class NKCContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 128);
SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
modelBuilder.Entity("NKC.Data.DbModels.MaterialModel", b =>
{
b.Property<int>("MatID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MatID"), 1L, 1);
b.Property<DateTime>("ApprovDate")
.ValueGeneratedOnAdd()
.HasColumnType("datetime")
.HasDefaultValueSql("(getdate())");
b.Property<string>("ApprovUser")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(50)
.HasColumnType("nvarchar(50)")
.HasDefaultValueSql("('')");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("L_mm");
b.Property<string>("MatDesc")
.IsRequired()
.ValueGeneratedOnAdd()
.HasMaxLength(500)
.HasColumnType("nvarchar(500)")
.HasDefaultValueSql("('')")
.HasComment("Description");
b.Property<int>("MatExtCode")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("T_mm");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)")
.HasColumnName("W_mm");
b.HasKey("MatID");
b.HasIndex(new[] { "MatExtCode" }, "Idx_Materials_MatExtCode_Unique")
.IsUnique();
b.ToTable("Materials");
});
modelBuilder.Entity("NKC.Data.DbModels.MovMagModel", b =>
{
b.Property<int>("MovID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("MovID"), 1L, 1);
b.Property<DateTime>("DtRec")
.HasColumnType("datetime2");
b.Property<int>("QtyRec")
.HasColumnType("int");
b.Property<int>("RemnID")
.HasColumnType("int");
b.Property<string>("UserId")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.HasKey("MovID");
b.HasIndex("RemnID");
b.ToTable("MovMag");
});
modelBuilder.Entity("NKC.Data.DbModels.RemnantsModel", b =>
{
b.Property<int>("RemnID")
.ValueGeneratedOnAdd()
.HasColumnType("int");
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("RemnID"), 1L, 1);
b.Property<DateTime>("DtMod")
.HasColumnType("datetime2");
b.Property<decimal>("LMm")
.HasColumnType("decimal(18,3)");
b.Property<string>("Location")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("MatID")
.HasColumnType("int");
b.Property<string>("Note")
.IsRequired()
.HasColumnType("nvarchar(max)");
b.Property<int>("QtyAvail")
.HasColumnType("int");
b.Property<decimal>("TMm")
.HasColumnType("decimal(18,3)");
b.Property<decimal>("WMm")
.HasColumnType("decimal(18,3)");
b.HasKey("RemnID");
b.HasIndex("MatID");
b.ToTable("RemnantsList");
});
modelBuilder.Entity("NKC.Data.DbModels.MovMagModel", b =>
{
b.HasOne("NKC.Data.DbModels.RemnantsModel", "RemnantNav")
.WithMany()
.HasForeignKey("RemnID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("RemnantNav");
});
modelBuilder.Entity("NKC.Data.DbModels.RemnantsModel", b =>
{
b.HasOne("NKC.Data.DbModels.MaterialModel", "MaterialNav")
.WithMany("RemnantNav")
.HasForeignKey("MatID")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("MaterialNav");
});
modelBuilder.Entity("NKC.Data.DbModels.MaterialModel", b =>
{
b.Navigation("RemnantNav");
});
#pragma warning restore 612, 618
}
}
}
+24
View File
@@ -0,0 +1,24 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Folder Include="Migrations\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="NLog" Version="4.7.12" />
</ItemGroup>
</Project>
+164
View File
@@ -0,0 +1,164 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using NKC.Data.DbModels;
using NLog;
namespace NKC.Data
{
public partial class NKCContext : DbContext
{
#region Private Fields
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
private IConfiguration _configuration = null!;
#endregion Private Fields
#region Public Constructors
[Obsolete("This constructor should never be used directly, and is only needed to generate entityframework stuff. Connection string can be adapted as pleased.")]
public NKCContext()
{
}
public NKCContext(IConfiguration configuration)
{
_configuration = configuration;
}
public NKCContext(DbContextOptions<NKCContext> options) : base(options)
{
try
{
// se non ci fosse... crea o migra!
Database.Migrate();
}
catch (Exception exc)
{
Log.Error(exc, "Exception during context initialization 02");
}
}
#endregion Public Constructors
#region Public Properties
public virtual DbSet<MaterialModel> DbSetMaterials { get; set; } = null!;
public virtual DbSet<RemnantsModel> DbSetRemnants { get; set; } = null!;
public virtual DbSet<MovMagModel> DbSetMovMag { get; set; } = null!;
public virtual DbSet<PrintJobQueue> DbSetPrintJobQueues { get; set; } = null!;
#endregion Public Properties
#region Private Methods
partial void OnModelCreatingPartial(ModelBuilder modelBuilder);
#endregion Private Methods
#region Protected Methods
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
string connString = _configuration.GetConnectionString("NKC.DB");
if (!string.IsNullOrEmpty(connString))
{
optionsBuilder.UseSqlServer(connString);
}
else
{
optionsBuilder.UseSqlServer("Server=SQL2016DEV;Database=Sauder_NKC;Trusted_Connection=True;");
}
}
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<MaterialModel>(entity =>
{
entity.HasIndex(e => e.MatExtCode, "Idx_Materials_MatExtCode_Unique")
.IsUnique();
entity.Property(e => e.ApprovDate)
.HasColumnType("datetime")
.HasDefaultValueSql("(getdate())");
entity.Property(e => e.ApprovUser)
.HasMaxLength(50)
.HasDefaultValueSql("('')");
entity.Property(e => e.LMm)
.HasColumnType("decimal(18, 3)")
.HasColumnName("L_mm");
entity.Property(e => e.MatDesc)
.HasMaxLength(500)
.HasDefaultValueSql("('')")
.HasComment("Description");
entity.Property(e => e.TMm)
.HasColumnType("decimal(18, 3)")
.HasColumnName("T_mm");
entity.Property(e => e.WMm)
.HasColumnType("decimal(18, 3)")
.HasColumnName("W_mm");
});
modelBuilder.Entity<PrintJobQueue>(entity =>
{
entity.HasKey(e => e.IdxPrintJob);
entity.ToTable("PrintJobQueue");
entity.Property(e => e.DtEnd)
.HasColumnType("datetime")
.HasColumnName("dtEnd");
entity.Property(e => e.DtLastTry)
.HasColumnType("datetime")
.HasColumnName("dtLastTry");
entity.Property(e => e.DtStart)
.HasColumnType("datetime")
.HasColumnName("dtStart");
entity.Property(e => e.KeyParam).HasMaxLength(50);
entity.Property(e => e.PrtName)
.HasMaxLength(500)
.HasColumnName("prtName");
entity.Property(e => e.Stato).HasColumnName("stato");
entity.Property(e => e.TipoReport).HasMaxLength(250);
});
OnModelCreatingPartial(modelBuilder);
}
#endregion Protected Methods
#region Public Methods
public void DbForceMigrate()
{
try
{
// se non ci fosse... crea o migra!
Database.Migrate();
Log.Info("DbForceMigrate: done!");
}
catch (Exception exc)
{
Log.Error(exc, "DbForceMigrate: Exception during context initialization 01");
}
}
#endregion Public Methods
}
}
+2 -1
View File
@@ -318,7 +318,8 @@
part,
otherPart,
cartIRKList,
cartIRKGroup
cartIRKGroup,
remnants
}
/// <summary>
+1 -1
View File
@@ -23,7 +23,7 @@ namespace NKC_SDK
/// 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="baseUrl">URL di base x chiamate REST</param>
/// <param name="codPost">Codice posstazione/macchina x cui si fa chiamata</param>
public NKC(string baseIp, string baseUrl, string codPost)
{
+5 -2
View File
@@ -9,9 +9,10 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NKC_SDK</RootNamespace>
<AssemblyName>NKC_SDK</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -21,6 +22,7 @@
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
@@ -29,13 +31,14 @@
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<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.7.10\lib\net40-client\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.12\lib\net40-client\NLog.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
+6
View File
@@ -2763,6 +2763,7 @@
<xs:element name="proxyAddress" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="encoding" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="url" minOccurs="0" maxOccurs="1" type="xs:anyURI" />
<xs:element name="userAgent" minOccurs="0" maxOccurs="1" type="Layout" />
<xs:element name="escapeDataNLogLegacy" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="escapeDataRfc3986" minOccurs="0" maxOccurs="1" type="xs:boolean" />
<xs:element name="preAuthenticate" minOccurs="0" maxOccurs="1" type="xs:boolean" />
@@ -2816,6 +2817,11 @@
<xs:documentation>Web service URL.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="userAgent" type="SimpleLayoutAttribute">
<xs:annotation>
<xs:documentation>Value of the User-agent HTTP header.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="escapeDataNLogLegacy" type="xs:boolean">
<xs:annotation>
<xs:documentation>Value whether escaping be done according to the old NLog style (Very non-standard)</xs:documentation>
+20 -11
View File
@@ -94,6 +94,11 @@ namespace NKC_SDK
/// </summary>
public int MaxTime { get; set; }
/// <summary>
/// Indice di aprtenza (per carrelli, bins...)
/// </summary>
public int NumIndexStart { get; set; } = 1;
/// <summary>
/// Elenco ordini richiesti da processare / nestare
/// </summary>
@@ -114,12 +119,6 @@ namespace NKC_SDK
/// </summary>
public int ProcType { get; set; }
/// <summary>
/// Indice di aprtenza (per carrelli, bins...)
/// </summary>
public int NumIndexStart { get; set; } = 1;
#endregion Public Properties
}
@@ -342,11 +341,21 @@ namespace NKC_SDK
/// </summary>
public int BinIndex { get; set; } = 0;
/// <summary>
/// Codice ITEM esterno da cliente (HFA)
/// </summary>
public string PartExtCode { get; set; } = "";
/// <summary>
/// Elenco dei PART/ITEM dell'Ordine
/// </summary>
public List<Part> PartList { get; set; }
/// <summary>
/// Revisione ITEM esterno da cliente (HFA)
/// </summary>
public string PartRev { get; set; } = "";
#endregion Public Properties
}
@@ -750,11 +759,6 @@ namespace NKC_SDK
/// </summary>
public string PartExtCode { get; set; } = "";
/// <summary>
/// Revisione ITEM esterno da cliente (HFA)
/// </summary>
public string PartRev { get; set; } = "";
/// <summary>
/// Cod ITEM di NKC
/// </summary>
@@ -765,6 +769,11 @@ namespace NKC_SDK
/// </summary>
public int PartQty { get; set; }
/// <summary>
/// Revisione ITEM esterno da cliente (HFA)
/// </summary>
public string PartRev { get; set; } = "";
#endregion Public Properties
}
+4 -4
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<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" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net40" requireReinstallation="true" />
<package id="NLog" version="4.7.12" targetFramework="net40" requireReinstallation="true" />
<package id="NLog.Config" version="4.7.12" targetFramework="net40" />
<package id="NLog.Schema" version="4.7.12" targetFramework="net40" />
</packages>
+1 -1
View File
@@ -48,7 +48,7 @@ namespace NKC_WF
/// <param name="message"></param>
public void lgFatal(string message, Exception exc)
{
logger.lg.scriviLog(message, tipoLog.FATAL);
logger.lg.scriviLog($"{message}{Environment.NewLine}{exc}", tipoLog.FATAL);
}
/// <summary>
+10 -3
View File
@@ -22,7 +22,7 @@ namespace NKC_WF
/// <summary>
/// Codice macchina (da v2)
/// </summary>
public string PlaceCod = "WRK001";
public string PlaceCod = "VIRTNE";
#endregion Public Fields
@@ -206,7 +206,7 @@ namespace NKC_WF
/// <param name="message"></param>
public void lgFatal(string message, Exception exc)
{
logger.lg.scriviLog(message, tipoLog.FATAL);
logger.lg.scriviLog($"{message}{Environment.NewLine}{exc}", tipoLog.FATAL);
}
/// <summary>
@@ -275,7 +275,14 @@ namespace NKC_WF
/// <returns></returns>
public string traduci(string lemma)
{
return SteamWare.user_std.UtSn.Traduci(lemma);
string answ = $"__{lemma}__";
try
{
answ = SteamWare.user_std.UtSn.Traduci(lemma);
}
catch
{ }
return answ;
}
#endregion Public Methods
+16 -9
View File
@@ -5,6 +5,7 @@ namespace NKC_WF
{
public static class Compressor
{
#region Public Methods
public static byte[] Compress(byte[] data)
{
@@ -18,22 +19,28 @@ namespace NKC_WF
public static byte[] Decompress(byte[] data)
{
byte[] answ = new byte[1];
MemoryStream input = new MemoryStream();
input.Write(data, 0, data.Length);
input.Position = 0;
GZipStream gzip = new GZipStream(input,
CompressionMode.Decompress, true);
MemoryStream output = new MemoryStream();
byte[] buff = new byte[64];
int read = -1;
read = gzip.Read(buff, 0, buff.Length);
while (read > 0)
using (MemoryStream output = new MemoryStream())
{
output.Write(buff, 0, read);
byte[] buff = new byte[64];
int read = -1;
read = gzip.Read(buff, 0, buff.Length);
while (read > 0)
{
output.Write(buff, 0, read);
read = gzip.Read(buff, 0, buff.Length);
}
gzip.Close();
answ = output.ToArray();
}
gzip.Close();
return output.ToArray();
return answ;
}
#endregion Public Methods
}
}
}
+10 -4
View File
@@ -3,6 +3,7 @@ using Newtonsoft.Json;
using NKC_SDK;
using SteamWare;
using System;
using System.Diagnostics;
using System.IO;
using System.Web.Http;
@@ -135,7 +136,7 @@ namespace NKC_WF.Controllers
* - è BatchReq / OfflineOrder
* - è 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)
*
*************************************************/
@@ -453,8 +454,6 @@ namespace NKC_WF.Controllers
}
else
{
// 2020.01.16 salvo su mongoDb la risposta...
ComLib.man.saveNestAnsw(rispNest);
@@ -512,6 +511,13 @@ namespace NKC_WF.Controllers
}
isSplitReq = ComLib.checkSendBatchSplit(rispNest.BatchID);
// effettuo calcolo statistiche
Stopwatch stopWatchLap = new Stopwatch();
stopWatchLap.Start();
ComLib.man.updateSheetStatsByBatch(rispNest.BatchID);
stopWatchLap.Stop();
Log.Instance.Info($"Batch Stat Calculation after NEST answ | BatchID: {rispNest.BatchID} | elapsed {stopWatchLap.Elapsed.TotalMilliseconds} ms");
}
// registro OK
@@ -570,7 +576,7 @@ namespace NKC_WF.Controllers
answ = "WRONG DATA (expected baseNestAnsw object)";
}
}
catch (Exception exc)
catch
{
answ = "NO";
}
+140
View File
@@ -0,0 +1,140 @@
using AppData;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.Http;
namespace NKC_WF.Controllers
{
public class BatchStatsController : ApiController
{
#region Protected Fields
protected string dateFormat = "yyyyMMdd";
/// <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<chartJsTVal> getDataFilt(int id)
{
List<chartJsTVal> answ = new List<chartJsTVal>();
var tabDati = DLMan.taBStats.getLast(id);
// ciclo
foreach (var item in tabDati.OrderBy(x => x.Takt))
{
// prendo valore default = NumParts
answ.Add(new chartJsTVal() { x = item.Takt, y = item.NumParts });
}
// restituisco
return answ;
}
/// <summary>
/// Metodo effettivo recupero dati
/// </summary>
/// <param name="id"></param>
/// <param name="maxHour"></param>
/// <returns></returns>
private List<chartJsTVal> getDataFilt(int id, string PlotType)
{
List<chartJsTVal> answ = new List<chartJsTVal>();
var tabDati = DLMan.taBStats.getLast(id);
DateTime startTime = DateTime.Now.AddYears(1);
// ciclo
foreach (var item in tabDati.OrderBy(x => x.Takt))
{
//// converto in data il valore takt... primi 8 char
//DateTime dataRif = DateTime.Today;
//DateTime.TryParseExact(item.Takt.Substring(0, 8), dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dataRif);
decimal value = 0;
switch (PlotType)
{
case "Yeld":
value = item.AvgYeld * 100;
break;
case "NumMat":
value = item.NumMat;
break;
case "NumSheets":
value = item.NumSheets;
break;
case "NumModel":
value = item.NumModel;
break;
case "NumKit":
value = item.NumKit;
break;
case "NumPainted":
value = item.NumPainted;
break;
case "NumParts":
default:
value = item.NumParts;
break;
}
answ.Add(new chartJsTVal() { x = item.Takt, y = value });
}
// restituisco
return answ;
}
#endregion Private Methods
#region Public Methods
// GET api/TempRil
public string Get()
{
return "NA";
}
/// <summary>
/// Recupero dati x ultimi batch stats
/// GET api/BatchStats/5
/// </summary>
/// <param name="id">NUmLast</param>
/// <returns></returns>
public List<chartJsTVal> Get(int id)
{
DateTime dtRif = DateTime.Today;
// restituisco oggetto!
return getDataFilt(id);
}
/// <summary>
/// Recupero dati x statistiche ultimi batch
/// GET api/BatchStats/50
/// </summary>
/// <param name="id">Num record da recuperare DESC</param>
/// <param name="PlotType">Tipo di grafico</param>
/// <returns></returns>
public List<chartJsTVal> Get(int id, string PlotType)
{
List<chartJsTVal> answ = new List<chartJsTVal>();
answ = getDataFilt(id, PlotType);
// restituisco oggetto!
return answ;
}
#endregion Public Methods
}
}
+164
View File
@@ -0,0 +1,164 @@
using AppData;
using NKC_SDK;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.Http;
namespace NKC_WF.Controllers
{
public class DayStatsController : ApiController
{
#region Protected Fields
protected string dateFormat = "yyyy-MM-dd";
/// <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(string id)
{
DateTime endDate = DateTime.Today.AddDays(1);
DateTime startDate = endDate.AddDays(-10);
List<chartJsTSerie> answ = new List<chartJsTSerie>();
var tabDati = DLMan.taDayStats.getFilt(startDate, endDate, id);
// ciclo
decimal value = 0;
foreach (var item in tabDati.OrderBy(x => x.DataOraRif))
{
decimal denom = item.MinDisp != 0 ? item.MinDisp : 1;
value = item.MinRun / denom * 100;
// prendo valore default = NumParts
answ.Add(new chartJsTSerie() { x = item.DataOraRif, y = value });
}
// restituisco
return answ;
}
/// <summary>
/// Metodo effettivo recupero dati
/// </summary>
/// <param name="id">Macchina/PlaceCod</param>
/// <param name="StartDate">Inizio Periodo</param>
/// <param name="EndDate">Fine Periodo</param>
/// <param name="PlotType">Tipo di grafico</param>
/// <returns></returns>
private List<chartJsTSerie> getDataFilt(string id, DateTime StartDate, DateTime EndDate, string PlotType)
{
// effettuo calcolo statistiche
Stopwatch stopWatchLap = new Stopwatch();
stopWatchLap.Start();
List<chartJsTSerie> answ = new List<chartJsTSerie>();
var tabDati = DLMan.taDayStats.getFilt(StartDate, EndDate, id);
stopWatchLap.Stop();
Log.Instance.Info($"DayStats DB retrieve | machine: {id} | start: {StartDate} | end: {EndDate} | elapsed: {stopWatchLap.Elapsed.TotalMilliseconds} ms");
stopWatchLap.Restart();
DateTime startTime = DateTime.Now.AddYears(1);
// ciclo
foreach (var item in tabDati.OrderBy(x => x.DataOraRif))
{
decimal value = 0;
decimal denom = 1;
switch (PlotType)
{
case "AvailTime":
value = item.MinDisp;
break;
case "NumPartsProd":
value = item.ItmProd;
break;
case "NumPartsScrap":
value = item.ItmScrap;
break;
case "RunTime":
value = item.MinRun;
break;
case "AvgPartsHour":
denom = item.MinRun != 0 ? item.MinRun : 1;
value = item.ItmProd / denom * 100;
break;
default:
case "OEE":
denom = item.MinDisp != 0 ? item.MinDisp : 1;
value = item.MinRun / denom * 100;
break;
}
answ.Add(new chartJsTSerie() { x = item.DataOraRif, y = value, label = item.PlaceCod });
}
stopWatchLap.Stop();
Log.Instance.Info($"DayStats data conversion | machine: {id} | start: {StartDate} | end: {EndDate} | elapsed: {stopWatchLap.Elapsed.TotalMilliseconds} ms");
// restituisco
return answ;
}
#endregion Private Methods
#region Public Methods
// GET api/DayStats
public string Get()
{
return "NA";
}
/// <summary>
/// Recupero dati x ultimi batch stats
/// GET api/DayStats/5
/// </summary>
/// <param name="id">NUmLast</param>
/// <returns></returns>
public List<chartJsTSerie> Get(string id)
{
// bonifica ID: [ALL] --> *
id = id == "[ALL]" ? "*" : id;
// restituisco oggetto!
return getDataFilt(id);
}
/// <summary>
/// Recupero dati x statistiche ultimi batch
/// GET api/DayStats/NE01
/// </summary>
/// <param name="id">Macchina/PlaceCod</param>
/// <param name="StartDate">Inizio Periodo</param>
/// <param name="EndDate">Fine Periodo</param>
/// <param name="PlotType">Tipo di grafico</param>
/// <returns></returns>
public List<chartJsTSerie> Get(string id, string StartDate, string EndDate, string PlotType)
{
// bonifica ID: [ALL] --> *
id = id == "[ALL]" ? "*" : id;
DateTime dateEnd = DateTime.Today.AddDays(1);
DateTime dateStart = dateEnd.AddDays(-10);
DateTime.TryParseExact(StartDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateStart);
DateTime.TryParseExact(EndDate, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateEnd);
List<chartJsTSerie> answ = new List<chartJsTSerie>();
answ = getDataFilt(id, dateStart, dateEnd, PlotType);
// restituisco oggetto!
return answ;
}
#endregion Public Methods
}
}
@@ -117,6 +117,14 @@ namespace NKC_WF.Controllers
tab = (DataTable)DLMan.taRepIRK.GetData(intIdx, qrCodeBaseUrl);
answ.Add(memLayer.ML.cdv("ReportDS_DocIRKList"), tab);
break;
case reportRichiesto.remnants:
int.TryParse(keyParam, out intIdx);
tab = (DataTable)DLMan.taRepIRK.GetData(intIdx, qrCodeBaseUrl);
answ.Add(memLayer.ML.cdv("ReportDS_DocIRKList"), tab);
break;
default:
break;
}
+6 -1
View File
@@ -1,4 +1,5 @@
using System;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
@@ -9,6 +10,8 @@ namespace NKC_WF.ErrorPages
{
public partial class _400 : BasePage
{
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
@@ -21,5 +24,7 @@ namespace NKC_WF.ErrorPages
cmp_errorDetail.ErrorExpl = traduci("Err400Expl");
cmp_errorDetail.UserName = string.IsNullOrEmpty(User.Identity.Name) ? "N.A." : User.Identity.Name;
}
#endregion Protected Methods
}
}
+6 -2
View File
@@ -6,17 +6,21 @@ namespace NKC_WF.ErrorPages
{
public partial class Oops : BasePage
{
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
if (!Page.IsPostBack)
{
var thisMaster = ((SiteContent)this.Master);
thisMaster.showSearch = false;
thisMaster.enableAnonym = true;
}
cmp_errorDetail.ErrorTitle = traduci("SomeErrorOccurred");
cmp_errorDetail.ErrorExpl = string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath"))?"N.A.": traduci(memLayer.ML.QSS("aspxerrorpath"));
cmp_errorDetail.ErrorExpl = string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")) ? "N.A." : traduci(memLayer.ML.QSS("aspxerrorpath"));
cmp_errorDetail.UserName = string.IsNullOrEmpty(User.Identity.Name) ? "N.A." : User.Identity.Name;
}
#endregion Protected Methods
}
}
@@ -1,36 +0,0 @@
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 =
+84 -28
View File
@@ -24,13 +24,13 @@
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort>44388</IISExpressSSLPort>
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressAnonymousAuthentication>disabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>enabled</IISExpressWindowsAuthentication>
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TypeScriptToolsVersion>3.4</TypeScriptToolsVersion>
<TypeScriptToolsVersion>Latest</TypeScriptToolsVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -66,14 +66,14 @@
<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.4.0.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.4.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="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.3.2.10, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.2\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.3.11, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.3\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>
@@ -91,23 +91,23 @@
<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.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.12.4\lib\net452\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.13.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.13.3\lib\net452\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.12.4\lib\net452\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.13.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.13.3\lib\net452\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.12.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.12.4\lib\net452\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.13.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.13.3\lib\net452\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.2.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.2.1\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
<Reference Include="MongoDB.Libmongocrypt, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.3.0\lib\netstandard2.0\MongoDB.Libmongocrypt.dll</HintPath>
</Reference>
<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.10\lib\net45\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.12\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>
@@ -118,20 +118,20 @@
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.2.0\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<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 Include="SharpCompress, Version=0.30.1.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.30.1\lib\net461\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.2.4\lib\net461\StackExchange.Redis.dll</HintPath>
<HintPath>..\packages\StackExchange.Redis.2.2.88\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=5.1.2107.759, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2107.759\lib\net462\SteamWare.dll</HintPath>
<Reference Include="SteamWare, Version=5.1.2109.1716, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.1.2109.1716\lib\net462\SteamWare.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.1.2107.759, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2107.759\lib\net462\SteamWare.Logger.dll</HintPath>
<Reference Include="SteamWare.Logger, Version=5.1.2109.1716, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.1.2109.1716\lib\net462\SteamWare.Logger.dll</HintPath>
</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>
@@ -207,6 +207,9 @@
<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>
@@ -339,6 +342,9 @@
<Content Include="Content\bootstrap-grid.min.css.map" />
<Content Include="Content\bootstrap-grid.css.map" />
<Content Include="NLog.config" />
<Content Include="Reports\Remnant.rdlc">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<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" />
@@ -465,6 +471,7 @@
<Content Include="site\PartMIA.aspx" />
<Content Include="site\PartValidation.aspx" />
<Content Include="site\PlannerReports.aspx" />
<Content Include="site\RemanExtLink.aspx" />
<Content Include="site\SecondScreen.aspx" />
<Content Include="site\SvgFull.aspx" />
<Content Include="site\TestAuth.aspx" />
@@ -478,10 +485,14 @@
<Content Include="WebUserControls\cmp_batchDetailSplit.ascx" />
<Content Include="WebUserControls\cmp_batchDetailSplitInfo.ascx" />
<Content Include="WebUserControls\cmp_batchList.ascx" />
<Content Include="WebUserControls\cmp_BatchStatsList.ascx" />
<Content Include="WebUserControls\cmp_BatchStatsPlot.ascx" />
<Content Include="WebUserControls\cmp_binDetIRK.ascx" />
<Content Include="WebUserControls\cmp_BP_bunkList.ascx" />
<Content Include="WebUserControls\cmp_BP_sheetList.ascx" />
<Content Include="WebUserControls\cmp_cartDetIRK.ascx" />
<Content Include="WebUserControls\cmp_DailyStatsList.ascx" />
<Content Include="WebUserControls\cmp_DailyStatsPlot.ascx" />
<Content Include="WebUserControls\cmp_devUtils.ascx" />
<Content Include="WebUserControls\cmp_errDescr.ascx" />
<Content Include="WebUserControls\cmp_errorDetail.ascx" />
@@ -544,6 +555,7 @@
<Content Include="WebUserControls\cmp_PartMIA_byBinID.ascx" />
<Content Include="WebUserControls\cmp_PartMIA_byCartID.ascx" />
<Content Include="WebUserControls\cmp_partMIA_byPLID.ascx" />
<Content Include="WebUserControls\cmp_reportSelector.ascx" />
<Content Include="WebUserControls\cmp_scrapList.ascx" />
<Content Include="WebUserControls\cmp_searchBin.ascx" />
<Content Include="WebUserControls\cmp_searchItems.ascx" />
@@ -676,6 +688,8 @@
<Compile Include="App_Start\NKC_Startup.cs" />
<Compile Include="Compressor.cs" />
<Compile Include="Controllers\AliveController.cs" />
<Compile Include="Controllers\DayStatsController.cs" />
<Compile Include="Controllers\BatchStatsController.cs" />
<Compile Include="Controllers\getMUSheetRevController.cs" />
<Compile Include="Controllers\MachineStatController.cs" />
<Compile Include="Controllers\SheetStatsController.cs" />
@@ -1017,6 +1031,13 @@
<Compile Include="site\PlannerReports.aspx.designer.cs">
<DependentUpon>PlannerReports.aspx</DependentUpon>
</Compile>
<Compile Include="site\RemanExtLink.aspx.cs">
<DependentUpon>RemanExtLink.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="site\RemanExtLink.aspx.designer.cs">
<DependentUpon>RemanExtLink.aspx</DependentUpon>
</Compile>
<Compile Include="site\SecondScreen.aspx.cs">
<DependentUpon>SecondScreen.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1136,6 +1157,20 @@
<Compile Include="WebUserControls\cmp_batchList.ascx.designer.cs">
<DependentUpon>cmp_batchList.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_BatchStatsList.ascx.cs">
<DependentUpon>cmp_BatchStatsList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_BatchStatsList.ascx.designer.cs">
<DependentUpon>cmp_BatchStatsList.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_BatchStatsPlot.ascx.cs">
<DependentUpon>cmp_BatchStatsPlot.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_BatchStatsPlot.ascx.designer.cs">
<DependentUpon>cmp_BatchStatsPlot.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_binDetIRK.ascx.cs">
<DependentUpon>cmp_binDetIRK.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1164,6 +1199,20 @@
<Compile Include="WebUserControls\cmp_cartDetIRK.ascx.designer.cs">
<DependentUpon>cmp_cartDetIRK.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_DailyStatsList.ascx.cs">
<DependentUpon>cmp_DailyStatsList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_DailyStatsList.ascx.designer.cs">
<DependentUpon>cmp_DailyStatsList.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_DailyStatsPlot.ascx.cs">
<DependentUpon>cmp_DailyStatsPlot.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_DailyStatsPlot.ascx.designer.cs">
<DependentUpon>cmp_DailyStatsPlot.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_devUtils.ascx.cs">
<DependentUpon>cmp_devUtils.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1619,6 +1668,13 @@
<Compile Include="WebUserControls\cmp_partMIA_byPLID.ascx.designer.cs">
<DependentUpon>cmp_partMIA_byPLID.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_reportSelector.ascx.cs">
<DependentUpon>cmp_reportSelector.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="WebUserControls\cmp_reportSelector.ascx.designer.cs">
<DependentUpon>cmp_reportSelector.ascx</DependentUpon>
</Compile>
<Compile Include="WebUserControls\cmp_scrapList.ascx.cs">
<DependentUpon>cmp_scrapList.ascx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -1891,9 +1947,9 @@
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>True</AutoAssignPort>
<DevelopmentServerPort>61257</DevelopmentServerPort>
<DevelopmentServerPort>44388</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>https://localhost:44388/</IISUrl>
<IISUrl>https://localhost:44393/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl>
@@ -1919,8 +1975,8 @@
<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.1\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.13.3\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.13.3\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.
@@ -1948,6 +2004,6 @@
<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.1\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.2.1\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.12.4\build\MongoDB.Driver.Core.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.3.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.13.3\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.13.3\build\MongoDB.Driver.Core.targets')" />
</Project>
+315
View File
@@ -0,0 +1,315 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<Body>
<ReportItems>
<Tablix Name="List1">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>3.91275in</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>1.98819in</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Rectangle Name="List1_Contents">
<ReportItems>
<Textbox Name="Destination">
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=First(Fields!DescRemnant01.Value)</Value>
<Style>
<FontFamily>Verdana Pro Cond</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Destination</rd:DefaultName>
<Top>2.02671cm</Top>
<Left>3.73239cm</Left>
<Height>0.3875in</Height>
<Width>2.44331in</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="QRCode">
<Source>External</Source>
<Value>=Replace(Fields!QRCodeBaseUrl.Value.ToString(),"QRCODEVALUE",Fields!CodRemnant.Value.ToString())
' la stringa nel Campo è https://qrcode.steamware.net/HOME/QR_site/JSON?val={'baseUrl':'{0}','parameters':\['QRCODEVALUE'\]}
' dove la \ prima della [ serve perchè è una stringa quindi si trasforma poi in
' https://qrcode.steamware.net/HOME/QR_site/JSON?val={'baseUrl':'{0}','parameters':['QRCODEVALUE']}
'https://qrcode.steamware.net/HOME/QR_site/JSON?val={'baseUrl':'http://10.74.82.219/StockMan/STEA/Items/Details/{0}?StockItemID={0}','parameters':['VARIABILE']}</Value>
<Sizing>FitProportional</Sizing>
<Top>0.2875in</Top>
<Left>0.1in</Left>
<Height>1.3in</Height>
<Width>1.3in</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="ExtCode">
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=First(Fields!DescRemnant02.Value)</Value>
<Style>
<FontFamily>Verdana Pro Cond Light</FontFamily>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Top>3.18736cm</Top>
<Left>3.73239cm</Left>
<Height>0.33264in</Height>
<Width>2.44331in</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="MatrixCode">
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=First(Fields!CodRemnant.Value)</Value>
<Style>
<FontFamily>Verdana Pro Cond Semibold</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<Top>0.73025cm</Top>
<Left>3.73239cm</Left>
<Height>0.44097in</Height>
<Width>2.41553in</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<VerticalAlign>Middle</VerticalAlign>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Style>
<Border>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</Border>
<TopBorder>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</TopBorder>
<BottomBorder>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</BottomBorder>
<LeftBorder>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</LeftBorder>
<RightBorder>
<Color>Gray</Color>
<Style>Solid</Style>
<Width>0.5pt</Width>
</RightBorder>
</Style>
</Rectangle>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<Group Name="list1_Index">
<GroupExpressions>
<GroupExpression>=Fields!CodRemnant.Value</GroupExpression>
</GroupExpressions>
</Group>
<DataElementOutput>Output</DataElementOutput>
<KeepTogether>true</KeepTogether>
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>stp_prt_Remnant</DataSetName>
<PageBreak>
<BreakLocation>End</BreakLocation>
</PageBreak>
<Height>1.98819in</Height>
<Width>3.91275in</Width>
<Style>
<FontFamily>Tahoma</FontFamily>
<FontSize>14pt</FontSize>
<Color>SlateGray</Color>
</Style>
</Tablix>
</ReportItems>
<Height>1.98819in</Height>
<Style />
</Body>
<Width>3.91275in</Width>
<Page>
<PageHeight>2in</PageHeight>
<PageWidth>4.09in</PageWidth>
<Style />
</Page>
<Author>v. 1.0.1</Author>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="Sauder_NKC">
<DataSourceReference>Sauder_NKC</DataSourceReference>
<rd:SecurityType>None</rd:SecurityType>
<rd:DataSourceID>7e875094-37e0-46d4-8db0-d51955773fb0</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="stp_prt_Remnant">
<Query>
<DataSourceName>Sauder_NKC</DataSourceName>
<QueryParameters>
<QueryParameter Name="@CodRemnant">
<Value>=Parameters!CodRemnant.Value</Value>
</QueryParameter>
<QueryParameter Name="@DescRemnant01">
<Value>=Parameters!DescRemnant01.Value</Value>
</QueryParameter>
<QueryParameter Name="@QRCodeBaseUrl">
<Value>=Parameters!QRCodeBaseUrl.Value</Value>
</QueryParameter>
<QueryParameter Name="@DescRemnant02">
<Value>=Parameters!DescRemnant02.Value</Value>
</QueryParameter>
</QueryParameters>
<CommandType>StoredProcedure</CommandType>
<CommandText>prt.stp_prt_Remnant</CommandText>
<rd:UseGenericDesigner>true</rd:UseGenericDesigner>
</Query>
<Fields>
<Field Name="CodRemnant">
<DataField>CodRemnant</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="DescRemnant01">
<DataField>DescRemnant01</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="DescRemnant02">
<DataField>DescRemnant02</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="QRCodeBaseUrl">
<DataField>QRCodeBaseUrl</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
</DataSets>
<ReportParameters>
<ReportParameter Name="QRCodeBaseUrl">
<DataType>String</DataType>
<Nullable>true</Nullable>
<DefaultValue>
<Values>
<Value>https://qrcode.steamware.net/HOME/QR_site/JSON?val={'baseUrl':'{0}','parameters':['QRCODEVALUE']}</Value>
</Values>
</DefaultValue>
<AllowBlank>true</AllowBlank>
<Prompt>QRCodeBaseURL:</Prompt>
</ReportParameter>
<ReportParameter Name="CodRemnant">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>MT00006474-15240000-15240000</Value>
</Values>
</DefaultValue>
<Prompt>Cod Remnant</Prompt>
</ReportParameter>
<ReportParameter Name="DescRemnant01">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>6474 PW,18MMX60X60,BALTIC BIRCH</Value>
</Values>
</DefaultValue>
<Prompt>Desc Remnant01</Prompt>
</ReportParameter>
<ReportParameter Name="DescRemnant02">
<DataType>String</DataType>
<DefaultValue>
<Values>
<Value>6474 LxWxT 1524.000 x 1524.0000 x 18.000</Value>
</Values>
</DefaultValue>
<Prompt>Desc Remnant02</Prompt>
</ReportParameter>
</ReportParameters>
<Language>en-US</Language>
<ConsumeContainerWhitespace>true</ConsumeContainerWhitespace>
<rd:ReportUnitType>Inch</rd:ReportUnitType>
<rd:ReportID>42b91d77-5259-4b9b-b313-695cd28dd977</rd:ReportID>
</Report>
+209 -194
View File
@@ -1,197 +1,212 @@
[
{
"name": "queueUnloadBinNE01",
"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": "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": {
"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": "queueBunk",
"template": "BunkGroup.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": "queueBunkDetail",
"template": "BunkList.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": "queuePaint",
"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": "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": {
"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": "queueOtherPart",
"template": "OtherPart.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": "queueOffline",
"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>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueIRKGroup",
"template": "IRK_Kitting_Group.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": "queueIRKList",
"template": "IRK_Kitting_List.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": "queueUnloadBinNE01",
"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": "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": {
"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": "queueBunk",
"template": "BunkGroup.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": "queueBunkDetail",
"template": "BunkList.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": "queuePaint",
"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": "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": {
"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": "queueOtherPart",
"template": "OtherPart.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": "queueOffline",
"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>8.5in</PageWidth><PageHeight>11in</PageHeight><MarginTop>0.5in</MarginTop><MarginLeft>0.5in</MarginLeft><MarginRight>0.5in</MarginRight><MarginBottom>0.5in</MarginBottom></DeviceInfo>"
}
},
{
"name": "queueIRKGroup",
"template": "IRK_Kitting_Group.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": "queueIRKList",
"template": "IRK_Kitting_List.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": "queueRemnants",
"template": "Remnant.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>"
}
}
]
+4 -4
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>0.0.0.0</version>
<url>http://seriate.steamware.net:8083/SWS/NKC/{{BRANCHNAME}}/{{PACKNAME}}.zip</url>
<changelog>http://seriate.steamware.net:8083/SWS/NKC/{{BRANCHNAME}}/ChangeLog.html</changelog>
<mandatory>false</mandatory>
<version>0.0.0.0</version>
<url>https://nexus.steamware.net/repository/SWS/NKC/{{BRANCHNAME}}/LAST/NKC.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/NKC/{{BRANCHNAME}}/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>
+12 -12
View File
@@ -5,24 +5,24 @@
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<!--Base server URL-->
<add key="BaseUrl" value="http://sakitting/nkc" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="BaseUrl" value="http://sakitting/nkc2" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--conf redis-->
<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false,allowAdmin=true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--Matrix-->
<add key="matrixUrl" value="http://sakitting/zcode" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="matrixUrl" value="http://sakitting/zcode" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--MongoDb-->
<add key="mdbConnString" value="mongodb://localhost:27017" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="mdbConnString" value="mongodb://localhost:27017" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--conn string-->
<add key="NKC_WFConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="DbConfConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="VocabolarioConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="UtenteCdcConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="PermessiConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="NKC_WFConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="DbConfConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="VocabolarioConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="UtenteCdcConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="PermessiConnectionString" value="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;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=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="ErrorLog" connectionString="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Elmah;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="AppData.Properties.Settings.Sauder_NKCConnectionString" connectionString="Data Source=SAKITTING\SQLEXPRESS;Initial Catalog=Sauder_NKC;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<add name="ErrorLog" connectionString="Data Source=SAKITTING\SQLEXPRESS;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)" />
+28 -13
View File
@@ -13,7 +13,17 @@
</sectionGroup>
</configSections>
<system.web>
<compilation targetFramework="4.6.2" debug="true"/>
<compilation targetFramework="4.6.2" debug="true">
<assemblies>
<add assembly="System.Web.DynamicData, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<httpRuntime targetFramework="4.6.2"/>
<pages>
<namespaces>
@@ -21,14 +31,13 @@
</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="2" timeout="120"/>
applicationName="NKC" databaseId="2" timeout="480"/>
</providers>
</sessionState>
<httpModules>
@@ -59,7 +68,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"/>
<!--Report Update-->
<add key="repNumDayPre" value="10"/>
<add key="repVetoRecalcMin" value="240"/>
<!--Updater area-->
<add key="downloadPath" value="c:\Steamware\installers\"/>
<add key="appVers" value="master"/>
@@ -77,9 +90,11 @@
<!--minima durata x validità in stima PARTS singole -->
<add key="minValidEstSec" value="2"/>
<!--Configurazioni Redis-->
<add key="cacheOnRedis" value="true"/>
<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="2"/>
<add key="cacheDataTTL" value="2"/>
<!--MongoDB-->
<add key="mdbConnString" value="mongodb://W2019-MONGODB:27017"/>
<add key="enableMongo" value="true"/>
@@ -124,7 +139,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" 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-4.0.3.0" newVersion="4.0.3.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Timer" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
@@ -376,7 +391,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-0.28.3.0" newVersion="0.28.3.0"/>
<bindingRedirect oldVersion="0.0.0.0-0.30.1.0" newVersion="0.30.1.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral"/>
@@ -392,7 +407,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.3.2.0" newVersion="1.3.2.0"/>
<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"/>
@@ -400,7 +415,7 @@
</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"/>
<bindingRedirect oldVersion="0.0.0.0-1.3.3.11" newVersion="1.3.3.11"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
@@ -469,11 +484,11 @@
</location>
<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>
<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>
@@ -0,0 +1,91 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_BatchStatsList.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_BatchStatsList" %>
<%@ Register Src="~/WebUserControls/cmp_numRow.ascx" TagPrefix="uc1" TagName="cmp_numRow" %>
<%@ Register Src="~/WebUserControls/cmp_BatchStatsPlot.ascx" TagPrefix="uc1" TagName="cmp_BatchStatsPlot" %>
<div class="row" runat="server" id="divGraph">
<div class="col-12">
<uc1:cmp_BatchStatsPlot runat="server" ID="cmp_BatchStatsPlot" />
</div>
</div>
<div class="row">
<div class="col-4">
<b class="text-uppercase"><%: traduci("BatchPreviewStats") %></b>
</div>
<div class="col-8 text-right small">
<div class="form-row mb-2">
<div class="col-5">
<asp:LinkButton runat="server" ID="lbtExportCsv" CssClass="btn btn-sm btn-outline-success" OnClick="lbtExportCsv_Click">Create CSV <i class="fa fa-file-excel-o" aria-hidden="true"></i></asp:LinkButton>
<asp:HyperLink runat="server" ID="hlDownload" CssClass="btn btn-sm btn-outline-success" Target="_blank">Download CSV <i class="fa fa-download" aria-hidden="true"></i></asp:HyperLink>
</div>
<div class="col-3">
<div class="input-group input-group-sm" runat="server" id="divType">
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("PlotType") %></span>
</div>
<asp:DropDownList runat="server" ID="ddlType" AutoPostBack="true" OnSelectedIndexChanged="ddlType_SelectedIndexChanged" CssClass="form-control form-control-sm">
<asp:ListItem Text="Yeld" Value="Yeld"></asp:ListItem>
<asp:ListItem Text="# Materials" Value="NumMat"></asp:ListItem>
<asp:ListItem Text="# Sheets" Value="NumSheets"></asp:ListItem>
<asp:ListItem Text="# Models" Value="NumModel"></asp:ListItem>
<asp:ListItem Text="# Kits" Value="NumKit"></asp:ListItem>
<asp:ListItem Text="# Parts" Value="NumParts"></asp:ListItem>
<asp:ListItem Text="# Painted" Value="NumPainted"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="col-1">
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("PlotGraph") %></span>
</div>
<asp:CheckBox runat="server" ID="chkPlotGraph" AutoPostBack="true" OnCheckedChanged="chkPlotGraph_CheckedChanged" CssClass="form-control form-control-sm" />
</div>
</div>
<div class="col-2">
<div class="input-group input-group-sm" runat="server" id="div1">
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("ShowLast") %></span>
</div>
<asp:TextBox runat="server" ID="txtNumShow" Text="100" AutoPostBack="true" TextMode="Number" OnTextChanged="txtNumShow_TextChanged" CssClass="form-control form-control-sm text-right" />
</div>
</div>
<div class="col-1">
<uc1:cmp_numRow runat="server" ID="cmp_numRow" numRow="10" />
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 textCondens px-0">
<asp:GridView ID="grView" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="BatchID" DataSourceID="ods" CssClass="table table-sm table-striped text-right" AllowSorting="false" OnPageIndexChanged="grView_PageIndexChanged">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField HeaderText="Takt" SortExpression="Takt" ItemStyle-CssClass="text-left" HeaderStyle-CssClass="text-left">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("Takt") %>' ToolTip='<%# Eval("BatchID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="AvgYeld" HeaderText="Yeld %" SortExpression="AvgYeld" DataFormatString="{0:P2}" />
<asp:BoundField DataField="NumMat" HeaderText="# Materials" SortExpression="NumMat" />
<asp:BoundField DataField="NumSheets" HeaderText="# Sheets" SortExpression="NumSheets" />
<asp:BoundField DataField="NumModel" HeaderText="# Model" SortExpression="NumModel" />
<asp:BoundField DataField="NumKit" HeaderText="# Kit" SortExpression="NumKit" />
<asp:BoundField DataField="NumParts" HeaderText="# Parts" SortExpression="NumParts" />
<asp:BoundField DataField="NumPainted" HeaderText="# Painted" SortExpression="NumPainted" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" SelectMethod="getLast" TypeName="AppData.DS_AppTableAdapters.BatchStatsTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="txtNumShow" DefaultValue="20" Name="ShowMax" PropertyName="Text" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:HiddenField runat="server" ID="hfFileName" />
</div>
</div>
@@ -0,0 +1,181 @@
using AppData;
using System;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Linq;
namespace NKC_WF.WebUserControls
{
public partial class cmp_BatchStatsList : BaseUserControl
{
#region Private Properties
private string fullPath
{
get
{
string dirPath = HttpContext.Current.Server.MapPath("~/temp/");
return $"{dirPath}\\{FileName}";
}
}
#endregion Private Properties
#region Protected Properties
protected bool fileExist
{
get
{
return File.Exists(fullPath);
}
}
protected int ShowLast
{
get
{
int answ = 100;
int.TryParse(txtNumShow.Text, out answ);
return answ;
}
set
{
txtNumShow.Text = $"{value}";
}
}
#endregion Protected Properties
#region Public Properties
public string FileName
{
get
{
return hfFileName.Value;
}
set
{
hfFileName.Value = value;
}
}
#endregion Public Properties
#region Private Methods
private void clearFile()
{
if (fileExist)
{
File.Delete(fullPath);
}
}
private void Cmp_numRow_eh_doRefresh(object sender, EventArgs e)
{
// recupero num righe ed aggiorno...
grView.PageSize = cmp_numRow.numRow;
grView.DataBind();
}
private void updateGraph()
{
cmp_BatchStatsPlot.PlotType = ddlType.SelectedValue;
cmp_BatchStatsPlot.ShowLast = ShowLast;
cmp_BatchStatsPlot.Legend = traduci($"rep_{ddlType.SelectedValue}");
}
#endregion Private Methods
#region Protected Methods
protected void chkPlotGraph_CheckedChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void ddlPlaces_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void ddlType_SelectedIndexChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void grView_PageIndexChanged(object sender, EventArgs e)
{
}
protected void lbtExportCsv_Click(object sender, EventArgs e)
{
DataLayer DLMan = new DataLayer();
DS_App.BatchStatsDataTable currRecords = DLMan.taBStats.getLast(ShowLast);
var rowList = currRecords
.Select(x => new FileBatchStats()
{
FileCsv = x.Takt,
Yeld = (double)x.AvgYeld,
NumMaterials = x.NumMat,
NumSheets = x.NumSheets,
NumModels = x.NumModel,
NumKit = x.NumKit,
NumParts = x.NumParts,
NumPainted = x.NumPainted
})
.ToList();
utils.SaveToCsv(rowList, fullPath);
hlDownload.NavigateUrl = $"~/temp/{FileName}";
lbtExportCsv.Visible = !fileExist;
hlDownload.Visible = fileExist;
}
/// <summary>
/// Caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
cmp_numRow.numRow = 25;
grView.PageSize = cmp_numRow.numRow;
divGraph.Visible = false;
divType.Visible = false;
FileName = "BatchStats.csv";
clearFile();
lbtExportCsv.Visible = !fileExist;
hlDownload.Visible = fileExist;
}
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
}
protected void txtNumShow_TextChanged(object sender, EventArgs e)
{
doUpdate();
}
#endregion Protected Methods
#region Public Methods
public void doUpdate()
{
divGraph.Visible = chkPlotGraph.Checked;
divType.Visible = chkPlotGraph.Checked;
if (chkPlotGraph.Checked)
{
updateGraph();
}
grView.DataBind();
lbtExportCsv.Visible = !fileExist;
hlDownload.Visible = fileExist;
}
#endregion Public Methods
}
}
+134
View File
@@ -0,0 +1,134 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// 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_BatchStatsList
{
/// <summary>
/// divGraph control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divGraph;
/// <summary>
/// cmp_BatchStatsPlot control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_BatchStatsPlot cmp_BatchStatsPlot;
/// <summary>
/// lbtExportCsv 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.LinkButton lbtExportCsv;
/// <summary>
/// hlDownload 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.HyperLink hlDownload;
/// <summary>
/// divType control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divType;
/// <summary>
/// ddlType 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.DropDownList ddlType;
/// <summary>
/// chkPlotGraph 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.CheckBox chkPlotGraph;
/// <summary>
/// div1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl div1;
/// <summary>
/// txtNumShow 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.TextBox txtNumShow;
/// <summary>
/// cmp_numRow control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_numRow cmp_numRow;
/// <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>
/// 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;
/// <summary>
/// hfFileName 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 hfFileName;
}
}
@@ -0,0 +1,87 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_BatchStatsPlot.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_BatchStatsPlot" %>
<%--https://www.chartjs.org/--%>
<div class="row">
<div class="col-12 px-2">
<h4>Batch Stats Plot</h4>
</div>
<div class="col-12 px-2">
<asp:HiddenField runat="server" ID="hfShowLast" Value="10" />
<asp:HiddenField runat="server" ID="hfPlotType" Value="" />
<asp:HiddenField runat="server" ID="hfLegend" Value="" />
<canvas id="myChartTS" height="200"></canvas>
</div>
</div>
<script type="text/javascript">
// funzione eseguita se successo al caricamento
function OnSuccess_(reponse) {
// recupero dati restituiti
var dataTS = reponse;
//console.log('Received data', dataTS);
// preparo etichette
var labelsTS = dataTS.map(function (item) {
return item['x'];
});
//console.log('labels data', labels);
var myOptions = {
responsive: true,
maintainAspectRatio: false,
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
},
}],
},
animation: {
duration: 150
},
};
// recupero obj chart
var ctx = document.getElementById('myChartTS').getContext('2d');
var chart = new Chart(ctx, {
type: 'line',
data: {
labels: labelsTS,
datasets: [{
label: '<%=hfLegend.Value %>',
borderColor: 'rgb(7, 173, 236)',
lineTension: 0,
//steppedLine: false,
data: dataTS
}]
},
options: myOptions
});
}
// errore in reload!
function OnErrorCall_(repo) {
alert("Errore recupero dati grafico!");
}
// effettuo plotting grafico TimeSerie!
function plotTS() {
//console.log("api/BatchStats/<%=hfShowLast.Value %>?PlotType=<%=hfPlotType.Value%>");
// caricamento pagina
$.ajax({
type: "GET",
url: "../api/BatchStats/<%=hfShowLast.Value %>?PlotType=<%=hfPlotType.Value%>",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess_,
error: OnErrorCall_
});
}
// funzione di drawing ad OGNI pageload!
function pageLoad() {
// chiamo recupero dati + plot della TS
plotTS();
//console.log('pageLoad!');
}
</script>
@@ -0,0 +1,62 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_BatchStatsPlot : System.Web.UI.UserControl
{
#region Public Properties
public string Legend
{
get
{
return hfLegend.Value;
}
set
{
hfLegend.Value = value;
}
}
public string PlotType
{
get
{
return hfPlotType.Value;
}
set
{
hfPlotType.Value = value;
}
}
public int ShowLast
{
get
{
int answ = 0;
int.TryParse(hfShowLast.Value, out answ);
return answ;
}
set
{
hfShowLast.Value = $"{value}";
}
}
#endregion Public Properties
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
}
}
@@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// 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_BatchStatsPlot
{
/// <summary>
/// hfShowLast 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 hfShowLast;
/// <summary>
/// hfPlotType 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 hfPlotType;
/// <summary>
/// hfLegend 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 hfLegend;
}
}
@@ -0,0 +1,124 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_DailyStatsList.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_DailyStatsList" %>
<%@ Register Src="~/WebUserControls/cmp_numRow.ascx" TagPrefix="uc1" TagName="cmp_numRow" %>
<%@ Register Src="~/WebUserControls/cmp_DailyStatsPlot.ascx" TagPrefix="uc1" TagName="cmp_DailyStatsPlot" %>
<div class="row" runat="server" id="divGraph">
<div class="col-12">
<uc1:cmp_DailyStatsPlot runat="server" ID="cmp_DailyStatsPlot" />
</div>
</div>
<div class="row">
<div class="col-3">
<b class="text-uppercase"><%: traduci("DayProdStats") %></b>
</div>
<div class="col-9 text-right small">
<div class="form-row mb-2">
<div class="col-2">
<asp:LinkButton runat="server" ID="lbtExportCsv" CssClass="btn btn-sm btn-outline-success" OnClick="lbtExportCsv_Click">Create CSV <i class="fa fa-file-excel-o" aria-hidden="true"></i></asp:LinkButton>
<asp:HyperLink runat="server" ID="hlDownload" CssClass="btn btn-sm btn-outline-success" Target="_blank">Download CSV <i class="fa fa-download" aria-hidden="true"></i></asp:HyperLink>
</div>
<div class="col-2">
<div class="input-group input-group-sm" runat="server" id="divType">
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("PlotType") %></span>
</div>
<asp:DropDownList runat="server" ID="ddlType" AutoPostBack="true" OnSelectedIndexChanged="ddlType_SelectedIndexChanged" CssClass="form-control form-control-sm">
<asp:ListItem Text="OEE" Value="OEE"></asp:ListItem>
<asp:ListItem Text="Avg Parts/Hour" Value="AvgPartsHour"></asp:ListItem>
<asp:ListItem Text="Run Time (h)" Value="RunTime"></asp:ListItem>
<asp:ListItem Text="Available Time (h)" Value="AvailTime"></asp:ListItem>
<asp:ListItem Text="# Parts Produced" Value="NumPartsProd"></asp:ListItem>
<asp:ListItem Text="# Part Scrapped" Value="NumPartsScrap"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="col-1">
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("PlotGraph") %></span>
</div>
<asp:CheckBox runat="server" ID="chkPlotGraph" AutoPostBack="true" OnCheckedChanged="chkPlotGraph_CheckedChanged" CssClass="form-control form-control-sm" />
</div>
</div>
<div class="col-2">
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("Machine") %></span>
</div>
<asp:DropDownList runat="server" ID="ddlMachine" AutoPostBack="true" OnSelectedIndexChanged="ddlMachine_SelectedIndexChanged" CssClass="form-control form-control-sm">
<asp:ListItem Text="--- ALL ---" Value="*" />
<asp:ListItem Text="NE01" Value="NE01" />
<asp:ListItem Text="NE02" Value="NE02" />
</asp:DropDownList>
</div>
</div>
<div class="col-2">
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("DtStart") %></span>
</div>
<asp:TextBox runat="server" ID="txtDateStart" AutoPostBack="true" TextMode="Date" OnTextChanged="txtDateStart_TextChanged" CssClass="form-control form-control-sm" />
</div>
</div>
<div class="col-2">
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text small"><%: traduci("DtEnd") %></span>
</div>
<asp:TextBox runat="server" ID="txtDateEnd" AutoPostBack="true" TextMode="Date" OnTextChanged="txtDateEnd_TextChanged" CssClass="form-control form-control-sm" />
</div>
</div>
<div class="col-1">
<uc1:cmp_numRow runat="server" ID="cmp_numRow" numRow="10" />
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12 textCondens px-0">
<asp:GridView ID="grView" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="PlaceCod,DataRif" DataSourceID="ods" CssClass="table table-sm table-striped text-right" OnPageIndexChanged="grView_PageIndexChanged">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="DataRif" HeaderText="Date-Time" SortExpression="DataRif" />
<asp:BoundField DataField="PlaceCod" HeaderText="Machine" SortExpression="PlaceCod" />
<asp:TemplateField HeaderText="OEE %" SortExpression="MinRun">
<ItemTemplate>
<asp:Label ID="lblOee" runat="server" Text='<%# ratioFix(Eval("MinRun"), Eval("MinDisp")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Avg Part/Hour" SortExpression="ItmProd">
<ItemTemplate>
<asp:Label ID="lblAvgPartHour" runat="server" Text='<%# $"{ratioCalc(Eval("ItmProd"), Eval("MinRun"))*60:N2}" %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Run Time (h)" SortExpression="MinRun">
<ItemTemplate>
<asp:Label ID="lblHourRun" runat="server" Text='<%# $"{ratioCalc(Eval("MinRun"), 60):N2}" %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Available Time (h)" SortExpression="MinDisp">
<ItemTemplate>
<asp:Label ID="lblHourDisp" runat="server" Text='<%# $"{ratioCalc(Eval("MinDisp"), 60):N2}" %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="ItmProd" HeaderText="# Parts Produced" SortExpression="ItmProd" />
<asp:BoundField DataField="ItmScrap" HeaderText="# Parts Scrapped" SortExpression="ItmScrap" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ods" runat="server" SelectMethod="getFilt" TypeName="AppData.DS_AppTableAdapters.ProductionStatsDayTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="txtDateStart" Name="dtStart" PropertyName="Text" Type="DateTime" />
<asp:ControlParameter ControlID="txtDateEnd" Name="dtEnd" PropertyName="Text" Type="DateTime" />
<asp:ControlParameter ControlID="ddlMachine" Name="PlaceCod" PropertyName="SelectedValue" DefaultValue="*" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:HiddenField runat="server" ID="hfFileName" />
</div>
</div>
@@ -0,0 +1,261 @@
using AppData;
using System;
using System.Collections.Generic;
using System.Data;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using System.Web.UI;
namespace NKC_WF.WebUserControls
{
public partial class cmp_DailyStatsList : BaseUserControl
{
#region Protected Fields
protected string dateFormat = "yyyy-MM-dd";
#endregion Protected Fields
#region Private Properties
private string fullPath
{
get
{
string dirPath = HttpContext.Current.Server.MapPath("~/temp/");
return $"{dirPath}\\{FileName}";
}
}
#endregion Private Properties
#region Protected Properties
protected DateTime DateEnd
{
get
{
DateTime answ = DateTime.Today.AddDays(1);
DateTime.TryParseExact(txtDateEnd.Text, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out answ);
return answ;
}
set
{
txtDateEnd.Text = $"{value:yyyy-MM-dd}";
}
}
protected DateTime DateStart
{
get
{
DateTime answ = DateTime.Today.AddDays(-7);
DateTime.TryParseExact(txtDateStart.Text, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out answ);
return answ;
}
set
{
txtDateStart.Text = $"{value:yyyy-MM-dd}";
}
}
protected bool fileExist
{
get
{
return File.Exists(fullPath);
}
}
#endregion Protected Properties
#region Public Properties
public string FileName
{
get
{
return hfFileName.Value;
}
set
{
hfFileName.Value = value;
}
}
#endregion Public Properties
#region Private Methods
private void clearFile()
{
if (fileExist)
{
File.Delete(fullPath);
}
}
private void Cmp_numRow_eh_doRefresh(object sender, EventArgs e)
{
// recupero num righe ed aggiorno...
grView.PageSize = cmp_numRow.numRow;
grView.DataBind();
}
private void updateGraph()
{
string PlaceCod = ddlMachine.SelectedValue != "*" ? ddlMachine.SelectedValue : "[ALL]";
cmp_DailyStatsPlot.PlaceCod = PlaceCod;
cmp_DailyStatsPlot.PlotType = ddlType.SelectedValue;
cmp_DailyStatsPlot.Legend = traduci($"rep_{ddlType.SelectedValue}");
cmp_DailyStatsPlot.DateStart = DateStart;
cmp_DailyStatsPlot.DateEnd = DateEnd;
}
#endregion Private Methods
#region Protected Methods
protected void chkPlotGraph_CheckedChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void ddlMachine_SelectedIndexChanged(object sender, EventArgs e)
{
clearFile();
doUpdate();
}
protected void ddlPlaces_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void ddlType_SelectedIndexChanged(object sender, EventArgs e)
{
doUpdate();
}
protected void grView_PageIndexChanged(object sender, EventArgs e)
{
}
protected void lbtExportCsv_Click(object sender, EventArgs e)
{
DataLayer DLMan = new DataLayer();
string PlaceCod = ddlMachine.SelectedValue;
DS_App.ProductionStatsDayDataTable currRecords = DLMan.taDayStats.getFilt(DateStart, DateEnd, PlaceCod);
var rowList = currRecords
.Select(x => new DayStats()
{
DTime = x.DataRif,
Machine = x.PlaceCod,
AvailTime = (double)x.MinDisp / 60,
RunTime = (double)x.MinRun / 60,
PartProd = x.ItmProd,
PartScrap = x.ItmScrap
})
.ToList();
utils.SaveToCsv(rowList, fullPath);
hlDownload.NavigateUrl = $"~/temp/{FileName}";
lbtExportCsv.Visible = !fileExist;
hlDownload.Visible = fileExist;
}
/// <summary>
/// Caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
cmp_numRow.numRow = 25;
grView.PageSize = cmp_numRow.numRow;
divGraph.Visible = false;
divType.Visible = false;
DateEnd = DateTime.Today.AddDays(1);
DateStart = DateEnd.AddDays(-10);
FileName = "DailyStats.csv";
clearFile();
lbtExportCsv.Visible = !fileExist;
hlDownload.Visible = fileExist;
}
cmp_numRow.eh_doRefresh += Cmp_numRow_eh_doRefresh;
}
protected void txtDateEnd_TextChanged(object sender, EventArgs e)
{
clearFile();
doUpdate();
}
protected void txtDateStart_TextChanged(object sender, EventArgs e)
{
clearFile();
doUpdate();
}
protected void txtNumShow_TextChanged(object sender, EventArgs e)
{
doUpdate();
}
#endregion Protected Methods
#region Public Methods
public void doUpdate()
{
divGraph.Visible = chkPlotGraph.Checked;
divType.Visible = chkPlotGraph.Checked;
if (chkPlotGraph.Checked)
{
updateGraph();
}
grView.DataBind();
lbtExportCsv.Visible = !fileExist;
hlDownload.Visible = fileExist;
}
public double ratioCalc(object _num, object _den)
{
double answ = 0;
double num = 0;
double den = 1;
double.TryParse($"{_num}", out num);
double.TryParse($"{_den}", out den);
den = den != 0 ? den : 1;
try
{
answ = (num / den);
}
catch
{ }
return answ;
}
public string ratioFix(object _num, object _den)
{
string answ = "";
double num = 0;
double den = 1;
double.TryParse($"{_num}", out num);
double.TryParse($"{_den}", out den);
den = den != 0 ? den : 1;
try
{
answ = $"{(num / den):P2}";
}
catch
{ }
return answ;
}
#endregion Public Methods
}
}
+143
View File
@@ -0,0 +1,143 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// 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_DailyStatsList
{
/// <summary>
/// divGraph control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divGraph;
/// <summary>
/// cmp_DailyStatsPlot control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_DailyStatsPlot cmp_DailyStatsPlot;
/// <summary>
/// lbtExportCsv 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.LinkButton lbtExportCsv;
/// <summary>
/// hlDownload 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.HyperLink hlDownload;
/// <summary>
/// divType control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divType;
/// <summary>
/// ddlType 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.DropDownList ddlType;
/// <summary>
/// chkPlotGraph 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.CheckBox chkPlotGraph;
/// <summary>
/// ddlMachine 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.DropDownList ddlMachine;
/// <summary>
/// txtDateStart 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.TextBox txtDateStart;
/// <summary>
/// txtDateEnd 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.TextBox txtDateEnd;
/// <summary>
/// cmp_numRow control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_numRow cmp_numRow;
/// <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>
/// 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;
/// <summary>
/// hfFileName 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 hfFileName;
}
}
@@ -0,0 +1,125 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_DailyStatsPlot.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_DailyStatsPlot" %>
<%--https://www.chartjs.org/--%>
<div class="row">
<div class="col-12 px-2">
<h4>Batch Stats Plot</h4>
</div>
<div class="col-12 px-2">
<div id="divLoading" class="alert alert-primary text-center">
<%--<i class="fa fa-5x fa-circle-o-notch fa-spin" aria-hidden="true"></i>--%>
<div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated" style="width: 40%"></div>
</div>
</div>
</div>
<div class="col-12 px-2">
<asp:HiddenField runat="server" ID="hfPlaceCod" Value="*" />
<asp:HiddenField runat="server" ID="hfPlotType" Value="" />
<asp:HiddenField runat="server" ID="hfDateStart" Value="" />
<asp:HiddenField runat="server" ID="hfDateEnd" Value="" />
<asp:HiddenField runat="server" ID="hfLegend" Value="" />
<canvas id="myChartTS" height="200"></canvas>
</div>
</div>
<script type="text/javascript">
// funzione eseguita se successo al caricamento
function OnSuccess_(reponse) {
// recupero dati restituiti
var dataTS = reponse;
//console.log('Received data', dataTS);
// preparo etichette
var labelsTS = dataTS.map(function (item) {
return item['x'];
});
//console.log('labels data', labels);
var dataNE01 = dataTS.filter(record => record.label == "NE01");
var dataNE02 = dataTS.filter(record => record.label == "NE02");
//console.log('dataNE01 data', dataNE01);
//console.log('dataNE02 data', dataNE02);
var myOptions = {
responsive: true,
maintainAspectRatio: false,
scales: {
yAxes: [{
ticks: {
beginAtZero: true,
},
}],
xAxes: [{
type: 'time',
time: {
unit: 'day'
},
}],
},
animation: {
duration: 150
},
};
// recupero obj chart
var ctx = document.getElementById('myChartTS').getContext('2d');
var chart = new Chart(ctx, {
type: 'line',
data: {
labels: labelsTS,
datasets: [
{
label: 'NE01: <%=hfLegend.Value %>',
borderColor: 'rgb(7, 173, 236)',
lineTension: 0,
//steppedLine: false,
data: dataNE01
},
{
label: 'NE02: <%=hfLegend.Value %>',
borderColor: 'rgb(7, 173, 26)',
lineTension: 0,
//steppedLine: false,
data: dataNE02
}
]
},
options: myOptions
});
// nascondo panel loading
var currDiv = document.getElementById("divLoading");
currDiv.style.display = "none";
console.log("style: " + currDiv.style.display);
}
// errore in reload!
function OnErrorCall_(repo) {
alert("Errore recupero dati grafico!");
}
// effettuo plotting grafico TimeSerie!
function plotTS() {
console.log("api/DayStats/<%=hfPlaceCod.Value %>?StartDate=<%=hfDateStart.Value %>&EndDate=<%=hfDateEnd.Value %>&PlotType=<%=hfPlotType.Value%>");
// caricamento pagina
$.ajax({
type: "GET",
url: "../api/DayStats/<%=hfPlaceCod.Value %>?StartDate=<%=hfDateStart.Value %>&EndDate=<%=hfDateEnd.Value %>&PlotType=<%=hfPlotType.Value%>",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess_,
error: OnErrorCall_
});
}
// funzione di drawing ad OGNI pageload!
function pageLoad() {
// mostro panel loading
var currDiv = document.getElementById("divLoading");
currDiv.style.display = "block";
// chiamo recupero dati + plot della TS
plotTS();
//console.log('pageLoad!');
}
</script>
@@ -0,0 +1,95 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_DailyStatsPlot : System.Web.UI.UserControl
{
#region Protected Fields
protected string dateFormat = "yyyy-MM-dd";
#endregion Protected Fields
#region Public Properties
public DateTime DateEnd
{
get
{
DateTime answ = DateTime.Today;
DateTime.TryParseExact(hfDateEnd.Value, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out answ);
return answ;
}
set
{
hfDateEnd.Value = $"{value:yyyy-MM-dd}";
}
}
public DateTime DateStart
{
get
{
DateTime answ = DateTime.Today;
DateTime.TryParseExact(hfDateStart.Value, dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out answ);
return answ;
}
set
{
hfDateStart.Value = $"{value:yyyy-MM-dd}";
}
}
public string Legend
{
get
{
return hfLegend.Value;
}
set
{
hfLegend.Value = value;
}
}
public string PlaceCod
{
get
{
return hfPlaceCod.Value;
}
set
{
hfPlaceCod.Value = value;
}
}
public string PlotType
{
get
{
return hfPlotType.Value;
}
set
{
hfPlotType.Value = value;
}
}
#endregion Public Properties
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
}
}
@@ -0,0 +1,62 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// 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_DailyStatsPlot
{
/// <summary>
/// hfPlaceCod 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 hfPlaceCod;
/// <summary>
/// hfPlotType 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 hfPlotType;
/// <summary>
/// hfDateStart 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 hfDateStart;
/// <summary>
/// hfDateEnd 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 hfDateEnd;
/// <summary>
/// hfLegend 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 hfLegend;
}
}
+7 -12
View File
@@ -2,21 +2,16 @@
<%--https://www.chartjs.org/--%>
<div class="card m-2">
<div class="card-header">
<div class="row">
<div class="col-12 px-2">
<h4>Unload Part Plan <sub>(<%: hfBatchId.Value %>)</sub></h4>
</div>
<div class="card-body">
<div class="row">
<div class="col-12 px-2">
<asp:HiddenField runat="server" ID="hfBatchId" />
<asp:HiddenField runat="server" ID="hfMaxHour" Value="-1" />
<canvas id="myChartTS" height="600"></canvas>
</div>
</div>
<div class="col-12 px-2">
<asp:HiddenField runat="server" ID="hfBatchId" />
<asp:HiddenField runat="server" ID="hfMaxHour" Value="-1" />
<canvas id="myChartTS" height="600"></canvas>
</div>
</div>
<script type="text/javascript">
//var prm = Sys.WebForms.PageRequestManager.getInstance();
@@ -48,8 +43,8 @@
}
}],
xAxes: [{
type: 'time',
//type: 'linear',
type: 'time',
time: {
unit: 'minute',
stepSize: 1,
@@ -172,7 +172,7 @@ namespace NKC_WF.WebUserControls
totPartNum += sheet.PartList.Count;
num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0;
den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1;
currRatio = ratioProt(num, den);
currRatio = ComLib.ratioProt(num, den);
workRatio.Add(currRatio);
if (!materialsList.Contains(sheet.MatId))
{
@@ -258,18 +258,6 @@ namespace NKC_WF.WebUserControls
{
}
/// <summary>
/// Effettua divisione evitando zeri a den...
/// </summary>
/// <param name="num"></param>
/// <param name="den"></param>
/// <returns></returns>
protected double ratioProt(double num, double den)
{
den = den == 0 ? 1 : den;
return num / den;
}
#endregion Protected Methods
}
}
@@ -12,15 +12,6 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_batchDetailSplit : BaseUserControl
{
#region Protected Fields
/// <summary>
/// Master Place (hard-coded)
/// </summary>
protected string PlaceCod = "VIRTNE";
#endregion Protected Fields
#region Protected Properties
protected bool BatchIsAncestor
@@ -59,20 +50,6 @@ namespace NKC_WF.WebUserControls
}
}
public bool isSplitted
{
get
{
bool answ = false;
bool.TryParse(hfIsSplit.Value, out answ);
return answ;
}
set
{
hfIsSplit.Value = $"{value}";
}
}
protected int lastValRatio
{
get
@@ -192,6 +169,20 @@ namespace NKC_WF.WebUserControls
}
}
public bool isSplitted
{
get
{
bool answ = false;
bool.TryParse(hfIsSplit.Value, out answ);
return answ;
}
set
{
hfIsSplit.Value = $"{value}";
}
}
#endregion Public Properties
#region Private Methods
+28 -21
View File
@@ -15,27 +15,34 @@
<b class="text-uppercase"><%: traduci("CallList") %></b>
</div>
<div class="col-8 text-right small">
<span>
<asp:CheckBox runat="server" ID="chkShowSplit" CssClass="custom-control-input2" AutoPostBack="true" OnCheckedChanged="chkShowSplit_CheckedChanged" />
<%: traduci("ShowSplitBatch") %>
</span>
<%: traduci("FilterStatus") %>
<asp:DropDownList runat="server" ID="ddlStatus" AutoPostBack="true" OnSelectedIndexChanged="ddlStatus_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="-- Show All --" Value="-1"></asp:ListItem>
<asp:ListItem Text="Imported" Value="0"></asp:ListItem>
<asp:ListItem Text="Estimating Requested" Value="1"></asp:ListItem>
<asp:ListItem Text="Estimating Completed" Value="2"></asp:ListItem>
<asp:ListItem Text="Nesting Requested" Value="3"></asp:ListItem>
<asp:ListItem Text="Nesting Completed" Value="4"></asp:ListItem>
<%--<asp:ListItem Text="Nesting Approved" Value="5"></asp:ListItem>--%>
<asp:ListItem Text="Nesting Discarded" Value="6"></asp:ListItem>
<asp:ListItem Text="Errors Present" Value="7"></asp:ListItem>
<asp:ListItem Text="Validation UNKNOWN" Value="8"></asp:ListItem>
<asp:ListItem Text="Parts INVALID" Value="9"></asp:ListItem>
<asp:ListItem Text="Parts OK" Value="10"></asp:ListItem>
</asp:DropDownList>
&nbsp;
<uc1:cmp_numRow runat="server" ID="cmp_numRow" numRow="10" />
<div class="form-row mb-2">
<div class="col">
<span>
<asp:CheckBox runat="server" ID="chkShowSplit" CssClass="custom-control-input2" AutoPostBack="true" OnCheckedChanged="chkShowSplit_CheckedChanged" />
<%: traduci("ShowSplitBatch") %>
</span>
<%: traduci("FilterStatus") %>
</div>
<div class="col">
<asp:DropDownList runat="server" ID="ddlStatus" AutoPostBack="true" OnSelectedIndexChanged="ddlStatus_SelectedIndexChanged" CssClass="form-control form-control-sm">
<asp:ListItem Selected="True" Text="-- Show All --" Value="-1"></asp:ListItem>
<asp:ListItem Text="Imported" Value="0"></asp:ListItem>
<asp:ListItem Text="Estimating Requested" Value="1"></asp:ListItem>
<asp:ListItem Text="Estimating Completed" Value="2"></asp:ListItem>
<asp:ListItem Text="Nesting Requested" Value="3"></asp:ListItem>
<asp:ListItem Text="Nesting Completed" Value="4"></asp:ListItem>
<%--<asp:ListItem Text="Nesting Approved" Value="5"></asp:ListItem>--%>
<asp:ListItem Text="Nesting Discarded" Value="6"></asp:ListItem>
<asp:ListItem Text="Errors Present" Value="7"></asp:ListItem>
<asp:ListItem Text="Validation UNKNOWN" Value="8"></asp:ListItem>
<asp:ListItem Text="Parts INVALID" Value="9"></asp:ListItem>
<asp:ListItem Text="Parts OK" Value="10"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-2">
<uc1:cmp_numRow runat="server" ID="cmp_numRow" numRow="10" />
</div>
</div>
</div>
</div>
</div>
+13 -14
View File
@@ -89,6 +89,18 @@ namespace NKC_WF.WebUserControls
/// </summary>
public BatchListMode listMode { get; set; } = BatchListMode.Standard;
public bool showSplit
{
get
{
return chkShowSplit.Checked;
}
set
{
chkShowSplit.Checked = value;
}
}
#endregion Public Properties
#region Private Methods
@@ -100,7 +112,7 @@ namespace NKC_WF.WebUserControls
{
ListItem currItem = null;
int valore = -100;
if (listMode == BatchListMode.Standard)
if (listMode == BatchListMode.Standard || listMode == BatchListMode.FullHistory)
{
foreach (var item in ddlStatus.Items)
{
@@ -204,19 +216,6 @@ namespace NKC_WF.WebUserControls
#region Protected Methods
public bool showSplit
{
get
{
return chkShowSplit.Checked;
}
set
{
chkShowSplit.Checked = value;
}
}
protected void chkShowSplit_CheckedChanged(object sender, EventArgs e)
{
// deseleziono...
+42 -17
View File
@@ -1,20 +1,45 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_devUtils.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_devUtils" %>
<div class="shortcuts">
<div class="row">
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetStackBuild" class="shortcut" OnClick="lbtResetStackBuild_Click" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di preparazione Stacks?")'> <i class="fa fa-database shortcut-icon"></i><span class="shortcut-label"><b> <%: traduci ("reset") %></b><br /> Stack building</span> </asp:LinkButton>
<div class="row">
<div class="col-4">
<div class="card">
<div class="card-header">
<h4>Batch Stats</h4>
</div>
<div class="card-body">
<div class="col">
<asp:LinkButton runat="server" ID="lbtRedoStats" class="shortcut" OnClientClick='return confirm("Sicuro di voler recuperare e ricalcolare i dati di stats x Sheets & Batch?")' OnClick="lbtRedoStats_Click"> <i class="fa fa-bar-chart shortcut-icon"></i><span class="shortcut-label"><b>Calc</b><br /> Stats (Re)Build</span> </asp:LinkButton>
</div>
<asp:Label runat="server" ID="lblMsgOut" CssClass="small" />
</div>
<div class="card-footer">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><span class="small">Batch</span></span>
</div>
<asp:TextBox runat="server" ID="txtNumBatch" TextMode="Number" CssClass="form-control" Text="1" ToolTip="Batch # (0=all)" Placeholder="Batch # (0=all)" />
</div>
</div>
</div>
</div>
<div class="col-8">
<div class="row">
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetStackBuild" class="shortcut" OnClick="lbtResetStackBuild_Click" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di preparazione Stacks?")'> <i class="fa fa-database shortcut-icon"></i><span class="shortcut-label"><b> <%: traduci ("reset") %></b><br /> Stack building</span> </asp:LinkButton>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetNest" class="shortcut" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di Nesting? I Batch torneranno come appena importati e PRIMA di ogni chiamata al NESTING...")' OnClick="lbtResetNest_Click"> <i class="fa fa-file-image-o shortcut-icon"></i><span class="shortcut-label"><b> <%: traduci ("reset") %></b><br /> Nesting Calls</span> </asp:LinkButton>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtSaveLastAnsw" class="shortcut" OnClientClick='return confirm("Sicuro di voler salvare ultima risposta NESTING?")' OnClick="lbtSaveLastAnsw_Click"> <i class="fa fa-file-image-o shortcut-icon"></i><span class="shortcut-label"><b># <%: traduci ("Save") %></b><br /> LAST Call</span> </asp:LinkButton>
</div>
<div class="col">
<asp:HyperLink runat="server" ID="hlDbgQrCode" NavigateUrl="../site/DBG_QRCode_Unload" Target="_blank" class="shortcut"><i class="fa fa-qrcode shortcut-icon"></i><span class="shortcut-label"><b> <%: traduci ("Debug") %></b><br /> QRCode</span></asp:HyperLink>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetProd" class="shortcut" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di PROD? I fogli (batch hard coded) torneranno tutti in stato zero e non ancora stampati...")' OnClick="lbtResetProd_Click"> <i class="fa fa-wrench shortcut-icon"></i><span class="shortcut-label"><b># <%: traduci ("reset") %></b><br /> PROD call</span> </asp:LinkButton>
</div>
</div>
</div>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetNest" class="shortcut" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di Nesting? I Batch torneranno come appena importati e PRIMA di ogni chiamata al NESTING...")' OnClick="lbtResetNest_Click"> <i class="fa fa-file-image-o shortcut-icon"></i><span class="shortcut-label"><b> <%: traduci ("reset") %></b><br /> Nesting Calls</span> </asp:LinkButton>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtSaveLastAnsw" class="shortcut" OnClientClick='return confirm("Sicuro di voler salvare ultima risposta NESTING?")' OnClick="lbtSaveLastAnsw_Click" > <i class="fa fa-file-image-o shortcut-icon"></i><span class="shortcut-label"><b># <%: traduci ("Save") %></b><br /> LAST Call</span> </asp:LinkButton>
</div>
<div class="col">
<asp:HyperLink runat="server" ID="hlDbgQrCode" NavigateUrl="../site/DBG_QRCode_Unload" Target="_blank" class="shortcut"><i class="fa fa-qrcode shortcut-icon"></i><span class="shortcut-label"><b> <%: traduci ("Debug") %></b><br /> QRCode</span></asp:HyperLink>
</div>
<div class="col">
<asp:LinkButton runat="server" ID="lbtResetProd" class="shortcut" OnClientClick='return confirm("Sicuro di voler resettare tutti i dati di PROD? I fogli (batch hard coded) torneranno tutti in stato zero e non ancora stampati...")' OnClick="lbtResetProd_Click" > <i class="fa fa-wrench shortcut-icon"></i><span class="shortcut-label"><b># <%: traduci ("reset") %></b><br /> PROD call</span> </asp:LinkButton>
</div>
</div>
</div>
</div>
@@ -2,13 +2,67 @@
using Newtonsoft.Json;
using NKC_SDK;
using System;
using System.Diagnostics;
namespace NKC_WF.WebUserControls
{
public partial class cmp_devUtils : BaseUserControl
{
#region Protected Properties
protected int BatchID
{
get
{
int answ = -1;
int.TryParse(txtNumBatch.Text, out answ);
return answ;
}
set
{
txtNumBatch.Text = $"{value}";
}
}
#endregion Protected Properties
#region Protected Methods
protected void lbtRedoStats_Click(object sender, EventArgs e)
{
Stopwatch stopWatchTotal = new Stopwatch();
Stopwatch stopWatchLap = new Stopwatch();
stopWatchTotal.Start();
int numBatch = 0;
// ricalcolo per singolo batch o per tutti i batch (rich 0) le statistiche
if (BatchID > 0)
{
numBatch++;
stopWatchLap.Restart();
ComLib.man.updateSheetStatsByBatch(BatchID);
stopWatchLap.Stop();
Log.Instance.Info($"Batch Recalculation | BatchID: {BatchID} | elapsed {stopWatchLap.Elapsed.TotalMilliseconds} ms");
}
else
{
// ciclo su tutti
DataLayer DLMan = new DataLayer();
var batchList = DLMan.taBL.GetData();
foreach (var batch in batchList)
{
numBatch++;
stopWatchLap.Restart();
ComLib.man.updateSheetStatsByBatch(batch.BatchID);
stopWatchLap.Stop();
Log.Instance.Info($"Batch Recalculation | BatchID: {batch.BatchID} | elapsed {stopWatchLap.Elapsed.TotalMilliseconds} ms");
}
}
stopWatchTotal.Stop();
string outMsg = $"Done! # Batch: {numBatch} | elapsed {stopWatchTotal.Elapsed.TotalSeconds:N3} sec";
Log.Instance.Info(outMsg);
lblMsgOut.Text = outMsg;
}
protected void lbtResetNest_Click(object sender, EventArgs e)
{
DLMan.taBL.resetNesting(-9999);
+47 -20
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.WebUserControls
@@ -15,47 +15,74 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo lbtResetStackBuild.
/// lbtRedoStats 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.LinkButton lbtRedoStats;
/// <summary>
/// lblMsgOut 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.Label lblMsgOut;
/// <summary>
/// txtNumBatch 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.TextBox txtNumBatch;
/// <summary>
/// lbtResetStackBuild 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.LinkButton lbtResetStackBuild;
/// <summary>
/// Controllo lbtResetNest.
/// lbtResetNest 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.LinkButton lbtResetNest;
/// <summary>
/// Controllo lbtSaveLastAnsw.
/// lbtSaveLastAnsw 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.LinkButton lbtSaveLastAnsw;
/// <summary>
/// Controllo hlDbgQrCode.
/// hlDbgQrCode 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.HyperLink hlDbgQrCode;
/// <summary>
/// Controllo lbtResetProd.
/// lbtResetProd 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.LinkButton lbtResetProd;
}
+1 -2
View File
@@ -43,7 +43,6 @@
</div>
</div>
<div class="card-footer">
<div class="row">
<div class="col-6 text-left">
<b>User</b>:
@@ -54,4 +53,4 @@
</div>
</div>
</div>
</div>
</div>
+123 -90
View File
@@ -11,96 +11,7 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_errorDetail : BaseUserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string ErrorTitle
{
get
{
return lblErrorTitle.Text;
}
set
{
lblErrorTitle.Text = value;
}
}
public string ErrorExpl
{
get
{
return lblErrorExpl.Text;
}
set
{
lblErrorExpl.Text = value;
}
}
public string LastError
{
get
{
string answ = "N.A.";
if (!string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")))
{
answ = traduci(memLayer.ML.QSS("aspxerrorpath"));
}
return answ;
}
}
public string LastErrorCode
{
get
{
string answ = "N.A.";
if (!string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")))
{
answ = memLayer.ML.QSS("aspxerrorpath");
}
return answ;
}
}
public string UserName
{
get
{
return lblUserName.Text;
}
set
{
lblUserName.Text = value;
}
}
protected void lbtTryReset_Click(object sender, EventArgs e)
{
doRedirect();
}
private void doRedirect()
{
// svuoto session e cache per rileggere i dati da Db
Session.RemoveAll();
try
{
// aggiorno vocabolario
DataWrap.DW.resetVocabolario();
// reset dati in cache x DbConfig...
memLayer.ML.resetAppConf();
}
catch
{ }
// ulteriore reset sessione
Session.Clear();
// attendo...
Thread.Sleep(500);
// reload!
memLayer.ML.setSessionVal("nextPage", "default");
Response.Redirect("~/default");
}
#region Protected Properties
protected int countDown
{
@@ -116,6 +27,60 @@ namespace NKC_WF.WebUserControls
}
}
#endregion Protected Properties
#region Public Properties
public string ErrorExpl
{
get
{
return lblErrorExpl.Text;
}
set
{
lblErrorExpl.Text = value;
}
}
public string ErrorTitle
{
get
{
return lblErrorTitle.Text;
}
set
{
lblErrorTitle.Text = value;
}
}
public string LastError
{
get
{
string answ = "N.A.";
if (!string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")))
{
answ = traduci(memLayer.ML.QSS("aspxerrorpath"));
}
return answ;
}
}
public string LastErrorCode
{
get
{
string answ = "N.A.";
if (!string.IsNullOrEmpty(memLayer.ML.QSS("aspxerrorpath")))
{
answ = memLayer.ML.QSS("aspxerrorpath");
}
return answ;
}
}
public string timeAdv
{
get
@@ -124,6 +89,72 @@ namespace NKC_WF.WebUserControls
}
}
public string UserName
{
get
{
return lblUserName.Text;
}
set
{
lblUserName.Text = value;
}
}
#endregion Public Properties
#region Private Methods
private void doRedirect()
{
// loggo!
lgError($"ERROR PAGE --> REDIRECT to default{Environment.NewLine}Curr Url: {Request.Url.AbsoluteUri}{Environment.NewLine}UserName: {UserName}{Environment.NewLine}Error Origin: {LastErrorCode}{Environment.NewLine}ErrorExpl: {ErrorExpl}");
// svuoto session e cache per rileggere i dati da Db
Session.RemoveAll();
try
{
// aggiorno vocabolario
DataWrap.DW.resetVocabolario();
// reset dati in cache x DbConfig...
memLayer.ML.resetAppConf();
}
catch
{ }
// ulteriore reset sessione
Session.Clear();
// attendo...
Thread.Sleep(500);
// cerco ins essione SE non ci fosse un redirect appena fatto... se non c'è tento di tornare alla pagina, altrimenti alla default...
string reloadKey = "NKC:SERV:ERRORS:RELOADPAGE";
string rawData = memLayer.ML.getRSV(reloadKey);
string nextPage = "default";
if (string.IsNullOrEmpty(rawData))
{
// imposto pagina
nextPage = LastErrorCode;
lgInfo($"Tentativo redirect a ultima pagina: {nextPage}");
//imposto in redis x 20 sec...
memLayer.ML.setRSV(reloadKey, nextPage, 20);
}
// reload!
memLayer.ML.setSessionVal("nextPage", nextPage);
Response.Redirect($"~/{nextPage}");
}
#endregion Private Methods
#region Protected Methods
protected void lbtTryReset_Click(object sender, EventArgs e)
{
doRedirect();
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void timerRedirect_Tick(object sender, EventArgs e)
{
// decremento contatore
@@ -133,5 +164,7 @@ namespace NKC_WF.WebUserControls
}
countDown--;
}
#endregion Protected Methods
}
}
+29 -29
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.WebUserControls
@@ -15,74 +15,74 @@ namespace NKC_WF.WebUserControls
{
/// <summary>
/// Controllo lblErrorTitle.
/// lblErrorTitle 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.Label lblErrorTitle;
/// <summary>
/// Controllo lblErrorExpl.
/// lblErrorExpl 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.Label lblErrorExpl;
/// <summary>
/// Controllo upnlBCode.
/// upnlBCode 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.UpdatePanel upnlBCode;
/// <summary>
/// Controllo lblCounter.
/// lblCounter 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.Label lblCounter;
/// <summary>
/// Controllo timerRedirect.
/// timerRedirect 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.Timer timerRedirect;
/// <summary>
/// Controllo lbtTryReset.
/// lbtTryReset 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.LinkButton lbtTryReset;
/// <summary>
/// Controllo UpdateProgressDisplay.
/// UpdateProgressDisplay 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.UpdateProgress UpdateProgressDisplay;
/// <summary>
/// Controllo lblUserName.
/// lblUserName 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.Label lblUserName;
}
@@ -4,6 +4,8 @@
<asp:HiddenField runat="server" ID="hfForceRedirect" />
<asp:HiddenField runat="server" ID="hfFilePrefix" />
<asp:HiddenField runat="server" ID="hfFileSuffix" />
<asp:HiddenField runat="server" ID="hfChkBatchApp" />
<asp:HiddenField runat="server" ID="hfChkRunning" />
<div id="divFileUpl" runat="server" class="d-flex flex-row-reverse">
<div class="px-2">
<asp:LinkButton ID="lbtCancel" runat="server" Text="Annulla" OnClick="btnCancel_Click" CssClass="btn btn-warning form-control"><%: traduci("cancel") %> <i class="fa fa-ban" aria-hidden="true"></i></asp:LinkButton>
+63 -11
View File
@@ -36,6 +36,34 @@ namespace NKC_WF.WebUserContols
#region Public Properties
public bool checkBatchAppr
{
get
{
bool answ = true;
bool.TryParse(hfChkBatchApp.Value, out answ);
return answ;
}
set
{
hfChkBatchApp.Value = value.ToString();
}
}
public bool checkRunning
{
get
{
bool answ = true;
bool.TryParse(hfChkRunning.Value, out answ);
return answ;
}
set
{
hfChkRunning.Value = value.ToString();
}
}
/// <summary>
/// Prefisso file abilitato
/// </summary>
@@ -169,11 +197,13 @@ namespace NKC_WF.WebUserContols
protected void Upload(object sender, EventArgs e)
{
bool checkFileOk = true;
string uplFileName = "";
string uploadedFilename = "";
string batchName = "";
string savedFilename = "";
string contentType = "";
divMessagge.Visible = false;
DateTime adesso = DateTime.Now;
string dirFrom = Server.MapPath(_tempUploadDir);
// se c'è un file
@@ -210,19 +240,41 @@ namespace NKC_WF.WebUserContols
}
else
{
contentType = FileUpload1.PostedFile.ContentType;
// accedo allo stream del file allegato
using (Stream fs = FileUpload1.PostedFile.InputStream)
// se richiesto controllo duplicati
if (checkBatchAppr)
{
// scrivo su file
FileStream file = new FileStream(savedFilename, FileMode.Create, FileAccess.Write);
fs.CopyTo(file);
file.Close();
// log!
logger.lg.scriviLog($"Effettuato salvataggio file {uploadedFilename} come {savedFilename}");
// controllo se ci sia un batch duplicato
checkFileOk = DLMan.taBL.getApprovedByTakt(batchName).Count == 0;
lblMessage.Text = $"{traduci("Error_BatchIsApproved")}";
}
// se richiesto controllo NON ci siano altri task running
if (checkRunning)
{
// controllo se ci sia un batch duplicato
checkFileOk = DLMan.taBL.getNestRunning().Count == 0;
lblMessage.Text = $"{traduci("Error_OtherBatchTaskRunning")}";
}
if (!checkFileOk)
{
divMessagge.Visible = true;
}
else
{
contentType = FileUpload1.PostedFile.ContentType;
// accedo allo stream del file allegato
using (Stream fs = FileUpload1.PostedFile.InputStream)
{
// scrivo su file
FileStream file = new FileStream(savedFilename, FileMode.Create, FileAccess.Write);
fs.CopyTo(file);
file.Close();
// log!
logger.lg.scriviLog($"Effettuato salvataggio file {uploadedFilename} come {savedFilename}");
}
// segnaloc he ho CARICATO IN LOCALE il file
reportFileUploaded(new FileUploadEventArgs(dirFrom, uplFileName, batchName));
}
// segnaloc he ho CARICATO IN LOCALE il file
reportFileUploaded(new FileUploadEventArgs(dirFrom, uplFileName, batchName));
}
}
}
+18
View File
@@ -50,6 +50,24 @@ namespace NKC_WF.WebUserContols
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfFileSuffix;
/// <summary>
/// hfChkBatchApp 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 hfChkBatchApp;
/// <summary>
/// hfChkRunning 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 hfChkRunning;
/// <summary>
/// divFileUpl control.
/// </summary>
+21 -16
View File
@@ -6,14 +6,14 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_footer : BaseUserControl
{
public event EventHandler eh_doRefresh;
protected void Page_Load(object sender, EventArgs e)
#region Private Methods
private void setClock()
{
// sistemo le stringhe...
lblApp.Text = string.Format("<b>{0}</b> v.{1}", ConfigurationManager.AppSettings.Get("appName"), System.Reflection.Assembly.GetExecutingAssembly().GetName().Version);
setTimer();
setClock();
lblDateTime.Text = DateTime.Now.ToString("ddd dd.MM.yyyy, HH:mm:ss");
lblCodOperatore.Text = $"{user_std.UtSn.CognomeNome} ({Page.User.Identity.Name})";
}
/// <summary>
/// imposta il tempo di scadenza del timer x il refresh della pagina (della parte top) per evitare che la sessione sul server scada
/// </summary>
@@ -21,20 +21,25 @@ namespace NKC_WF.WebUserControls
{
Timer1.Interval = SteamWare.memLayer.ML.confReadInt("intUpdatePagina_ms");
}
#endregion Private Methods
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
// sistemo le stringhe...
lblApp.Text = string.Format("<b>{0}</b> v.{1}", ConfigurationManager.AppSettings.Get("appName"), System.Reflection.Assembly.GetExecutingAssembly().GetName().Version);
setTimer();
setClock();
}
protected void Timer1_Tick(object sender, EventArgs e)
{
setClock();
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
raiseEvent();
}
private void setClock()
{
lblDateTime.Text = DateTime.Now.ToString("ddd dd.MM.yyyy, HH:mm:ss");
lblCodOperatore.Text = $"{user_std.UtSn.CognomeNome} ({Page.User.Identity.Name})";
}
#endregion Protected Methods
}
}
+63 -48
View File
@@ -7,44 +7,27 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_menuTop : BaseUserControl
{
public event EventHandler eh_doRefresh;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
checkAuth();
searchVal = "";
doSearch();
updateTreeMenu();
}
}
private void checkAuth()
{
// in primis SOLO SE non è permesso login anonymous...
if (!enableAnonym)
{
if (!Page.User.Identity.IsAuthenticated)
{
Response.Redirect("default");
}
}
}
#region Protected Properties
/// <summary>
/// imposta visibilità search globale
/// Valore ricerca attivo
/// </summary>
public bool showSearch
protected string searchVal
{
get
{
return divSearch.Visible;
return txtSearch.Text.Trim();
}
set
{
divSearch.Visible = value;
txtSearch.Text = value.Trim();
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// Abilitazione esecuzione anonima
/// </summary>
@@ -62,9 +45,35 @@ namespace NKC_WF.WebUserControls
}
}
protected void txtSearch_TextChanged(object sender, EventArgs e)
/// <summary>
/// imposta visibilità search globale
/// </summary>
public bool showSearch
{
doSearch();
get
{
return divSearch.Visible;
}
set
{
divSearch.Visible = value;
}
}
#endregion Public Properties
#region Private Methods
private void checkAuth()
{
// in primis SOLO SE non è permesso login anonymous...
if (!enableAnonym)
{
if (!Page.User.Identity.IsAuthenticated)
{
Response.Redirect("default");
}
}
}
private void doSearch()
@@ -78,27 +87,9 @@ namespace NKC_WF.WebUserControls
{
memLayer.ML.emptySessionVal("valoreSearch");
}
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
raiseEvent();
}
/// <summary>
/// Valore ricerca attivo
/// </summary>
protected string searchVal
{
get
{
return txtSearch.Text.Trim();
}
set
{
txtSearch.Text = value.Trim();
}
}
/// <summary>
/// aggiornamento del menù
/// </summary>
@@ -127,6 +118,11 @@ namespace NKC_WF.WebUserControls
}
}
}
#endregion Private Methods
#region Protected Methods
/// <summary>
/// click su pagina corrente, fa update!
/// </summary>
@@ -140,9 +136,28 @@ namespace NKC_WF.WebUserControls
Response.Redirect("default");
}
}
protected void lbtSearch_Click(object sender, EventArgs e)
{
doSearch();
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
checkAuth();
searchVal = "";
doSearch();
updateTreeMenu();
}
}
protected void txtSearch_TextChanged(object sender, EventArgs e)
{
doSearch();
}
#endregion Protected Methods
}
}
+6 -2
View File
@@ -1,4 +1,8 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_numRow.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_numRow" %>
size:
<asp:TextBox runat="server" ID="txtNumRow" Text="10" Width="2em" AutoPostBack="True" OnTextChanged="txtNumRow_TextChanged"></asp:TextBox>
<div class="input-group input-group-sm">
<div class="input-group-prepend">
<span class="input-group-text small">num:</span>
</div>
<asp:TextBox runat="server" ID="txtNumRow" Text="10" Width="2em" AutoPostBack="True" OnTextChanged="txtNumRow_TextChanged" CssClass="form-control form-control-sm text-right"></asp:TextBox>
</div>
+11 -14
View File
@@ -4,20 +4,8 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_numRow : BaseUserControl
{
public event EventHandler eh_doRefresh;
protected void Page_Load(object sender, EventArgs e)
{
#region Public Properties
}
private void raiseEvent()
{
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
}
public int numRow
{
set
@@ -32,10 +20,19 @@ namespace NKC_WF.WebUserControls
}
}
#endregion Public Properties
#region Protected Methods
protected void Page_Load(object sender, EventArgs e)
{
}
protected void txtNumRow_TextChanged(object sender, EventArgs e)
{
raiseEvent();
}
#endregion Protected Methods
}
}
+15 -13
View File
@@ -1,23 +1,25 @@
//------------------------------------------------------------------------------
// <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_numRow {
namespace NKC_WF.WebUserControls
{
public partial class cmp_numRow
{
/// <summary>
/// Controllo txtNumRow.
/// txtNumRow 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.TextBox txtNumRow;
}
@@ -0,0 +1,13 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_reportSelector.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_reportSelector" %>
<ul class="nav nav-pills nav-justified">
<li class="nav-item">
<asp:LinkButton runat="server" ID="lbtBatchPreview" CssClass="nav-link" OnClick="lbtBatchPreview_Click"><%: traduci("RepBatchPreview") %></asp:LinkButton>
</li>
<li class="nav-item">
<asp:LinkButton runat="server" ID="lbtUnloadPart" CssClass="nav-link" OnClick="lbtUnloadPart_Click"><%: traduci("RepUnloadPart") %></asp:LinkButton>
</li>
<li class="nav-item">
<asp:LinkButton runat="server" ID="lbtDayStats" CssClass="nav-link" OnClick="lbtDailyStats_Click"><%: traduci("RepDayStats") %></asp:LinkButton>
</li>
</ul>
@@ -0,0 +1,90 @@
using AppData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class cmp_reportSelector : BaseUserControl
{
#region Protected Properties
protected ReportType _selReport { get; set; } = ReportType.ND;
#endregion Protected Properties
#region Public Properties
public ReportType SelReport
{
get
{
return _selReport;
}
set
{
_selReport = value;
updateDisplay();
raiseEvent();
}
}
#endregion Public Properties
#region Private Methods
private void updateDisplay()
{
string baseCss = "nav-link";
lbtBatchPreview.CssClass = baseCss;
lbtUnloadPart.CssClass = baseCss;
lbtDayStats.CssClass = baseCss;
switch (_selReport)
{
case ReportType.BatchStats:
lbtBatchPreview.CssClass += " active";
break;
case ReportType.BatchUnloadPreview:
lbtUnloadPart.CssClass += " active";
break;
case ReportType.DailyReport:
lbtDayStats.CssClass += " active";
break;
case ReportType.ND:
default:
break;
}
}
#endregion Private Methods
#region Protected Methods
protected void lbtBatchPreview_Click(object sender, EventArgs e)
{
SelReport = ReportType.BatchStats;
}
protected void lbtDailyStats_Click(object sender, EventArgs e)
{
SelReport = ReportType.DailyReport;
}
protected void lbtUnloadPart_Click(object sender, EventArgs e)
{
SelReport = ReportType.BatchUnloadPreview;
}
protected void Page_Load(object sender, EventArgs e)
{
}
#endregion Protected Methods
}
}
@@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// 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_reportSelector
{
/// <summary>
/// lbtBatchPreview 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.LinkButton lbtBatchPreview;
/// <summary>
/// lbtUnloadPart 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.LinkButton lbtUnloadPart;
/// <summary>
/// lbtDayStats 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.LinkButton lbtDayStats;
}
}
@@ -2,12 +2,11 @@ using SteamWare;
using System;
using System.Web.UI.WebControls;
namespace NKC_WF.WebUserControls
{
public partial class mod_lemmiVocab : ApplicationUserControl
{
#region protected
#region Protected Methods
protected override void aggiornaControlliDataGL()
{
@@ -20,7 +19,7 @@ namespace NKC_WF.WebUserControls
if (grView.Rows.Count > 0)
{
LinkButton lb;
// aggiorno gli headers
// aggiorno gli headers
foreach (TableCell cella in grView.HeaderRow.Cells)
{
try
@@ -39,6 +38,11 @@ namespace NKC_WF.WebUserControls
lblNumRec.Text = "";
}
}
#endregion Protected Methods
#region Public Methods
/// <summary>
/// aggiorna i dati mostrati
/// </summary>
@@ -48,6 +52,6 @@ namespace NKC_WF.WebUserControls
grView.DataBind();
}
#endregion
#endregion Public Methods
}
}
+82 -70
View File
@@ -6,80 +6,17 @@ namespace NKC_WF.WebUserControls
{
public partial class mod_righePag : BaseUserControl
{
#region Public Events
/// <summary>
/// indicato (nuovo) numero righe x pagina
/// </summary>
public event EventHandler eh_newNum;
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
numRowReq = numRowPag;
}
}
/// <summary>
/// stringa UID univoca
/// </summary>
public string uid
{
get
{
return this.UniqueID.Replace("$", "_").Replace("-", "_");
}
}
/// <summary>
/// effettua traduzione del lemma
/// </summary>
/// <param name="lemma"></param>
/// <returns></returns>
public string traduci(string lemma)
{
return user_std.UtSn.Traduci(lemma);
}
/// <summary>
/// aggiorno controllo paginazione...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtNumRighe_TextChanged(object sender, EventArgs e)
{
// salvo num righe...
numRowPag = numRowReq;
// sollevo evento nuovo valore...
if (eh_newNum != null)
{
eh_newNum(this, new EventArgs());
}
}
/// <summary>
/// numero righe per pagina (in sessione)
/// </summary>
public int numRowPag
{
get
{
int answ = 10;
try
{
answ = memLayer.ML.IntSessionObj(uid + "_numRowPag");
}
catch
{
answ = 10;
}
return answ;
}
set
{
memLayer.ML.setSessionVal(uid + "_numRowPag", value);
numRowReq = value;
}
}
#endregion Public Events
#region Protected Properties
/// <summary>
/// numero righe gridview da mostrare legato a controllo textbox
/// </summary>
@@ -106,5 +43,80 @@ namespace NKC_WF.WebUserControls
txtNumRighe.Text = value.ToString();
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// numero righe per pagina (in sessione)
/// </summary>
public int numRowPag
{
get
{
int answ = 10;
try
{
answ = memLayer.ML.IntSessionObj(uid + "_numRowPag");
}
catch
{
answ = 10;
}
return answ;
}
set
{
memLayer.ML.setSessionVal(uid + "_numRowPag", value);
numRowReq = value;
}
}
/// <summary>
/// stringa UID univoca
/// </summary>
public string uid
{
get
{
return this.UniqueID.Replace("$", "_").Replace("-", "_");
}
}
#endregion Public Properties
#region Protected Methods
/// <summary>
/// caricamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
numRowReq = numRowPag;
}
}
/// <summary>
/// aggiorno controllo paginazione...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtNumRighe_TextChanged(object sender, EventArgs e)
{
// salvo num righe...
numRowPag = numRowReq;
// sollevo evento nuovo valore...
if (eh_newNum != null)
{
eh_newNum(this, new EventArgs());
}
}
#endregion Protected Methods
}
}
+13 -12
View File
@@ -8,7 +8,7 @@
<package id="bootstrap" version="4.6.0" targetFramework="net462" />
<package id="Chart.js" version="2.9.3" targetFramework="net462" />
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net462" />
<package id="DnsClient" version="1.4.0" targetFramework="net462" />
<package id="DnsClient" version="1.5.0" targetFramework="net462" />
<package id="elmah" version="1.2.2" targetFramework="net462" />
<package id="elmah.corelibrary" version="1.2.2" targetFramework="net462" />
<package id="FontAwesome" version="4.7.0" targetFramework="net462" />
@@ -39,28 +39,28 @@
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="3.6.0" targetFramework="net462" />
<package id="Microsoft.CodeQuality.Analyzers" version="3.3.2" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.NetCore.Analyzers" version="3.3.2" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.NETCore.Platforms" version="5.0.2" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="5.0.4" targetFramework="net462" />
<package id="Microsoft.NetFramework.Analyzers" version="3.3.2" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net462" />
<package id="Microsoft.Web.RedisSessionStateProvider" version="4.0.1" targetFramework="net462" />
<package id="Modernizr" version="2.8.3" targetFramework="net462" />
<package id="Moment.js" version="2.29.1" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.12.4" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.2.1" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.13.3" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.13.3" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.13.3" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.3.0" targetFramework="net462" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net462" />
<package id="NLog" version="4.7.10" targetFramework="net462" />
<package id="NLog" version="4.7.12" targetFramework="net462" />
<package id="PDFsharp" version="1.50.5147" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.2.0" targetFramework="net462" />
<package id="popper.js" version="1.16.1" targetFramework="net462" />
<package id="SharpCompress" version="0.28.3" targetFramework="net462" />
<package id="SharpZipLib" version="1.3.2" targetFramework="net462" />
<package id="SharpCompress" version="0.30.1" targetFramework="net462" />
<package id="SharpZipLib" version="1.3.3" targetFramework="net462" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.2.4" targetFramework="net462" />
<package id="SteamWare" version="5.1.2107.759" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2107.759" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.2.88" targetFramework="net462" />
<package id="SteamWare" version="5.1.2109.1716" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.1.2109.1716" 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" />
@@ -78,5 +78,6 @@
<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" />
<package id="WebGrease" version="1.6.0" targetFramework="net462" />
</packages>
+206 -166
View File
@@ -9,17 +9,19 @@ namespace NKC_WF.site
{
public partial class BatchPreview : BasePage
{
#region Protected Properties
/// <summary>
/// Batch corrente...
/// BunkId selezionato
/// </summary>
public int BatchId
protected int BunkId
{
get
{
int answ = memLayer.ML.QSI("BatchId");
return answ;
return cmp_BP_bunkList.BunkIdSel;
}
}
/// <summary>
/// Indice bunk selezionato (0..n-1)
/// </summary>
@@ -34,16 +36,18 @@ namespace NKC_WF.site
cmp_BP_bunkList.selIndex = value;
}
}
/// <summary>
/// BunkId selezionato
/// </summary>
protected int BunkId
protected int SheetId
{
get
{
return cmp_BP_bunkList.BunkIdSel;
return cmp_BP_sheetList.SheetIdSel;
}
}
/// <summary>
/// Indice sheet selezionato (0..n-1)
/// </summary>
@@ -58,34 +62,15 @@ namespace NKC_WF.site
cmp_BP_sheetList.selIndex = value;
}
}
/// <summary>
/// BunkId selezionato
/// </summary>
protected int SheetId
{
get
{
return cmp_BP_sheetList.SheetIdSel;
}
}
/// <summary>
/// valore selezionato nello slider
/// </summary>
protected int valSlider
{
get
{
return cmp_slider.selValue;
}
set
{
cmp_slider.selValue = value;
}
}
/// <summary>
/// Chaive URL base x gestione sheet del batch corrente
/// </summary>
protected string tabSheetKey;
protected string tabSheetKey
{
get => $"{memLayer.ML.redHash($"TabSheets")}:{BatchId}";
}
/// <summary>
/// Elenco fogli della gestione corrente
/// </summary>
@@ -108,145 +93,50 @@ namespace NKC_WF.site
}
set
{
string rawData = JsonConvert.SerializeObject(value);
memLayer.ML.setRSV(tabSheetKey, rawData, 60);
}
}
/// <summary>
/// Restituisce la riga dall'indice inserito (
/// </summary>
/// <param name="indice">valore 1..maxSheets</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaSel(int indice)
{
DS_App.SheetListRow answ = null;
// init var
int maxNum = tabSheets.Count;
// base 0 --> riduco di 1...
indice--;
// controllo valore sia accettabile...
indice = indice < 0 ? 0 : indice;
indice = indice >= maxNum ? maxNum - 1 : indice;
try
{
answ = tabSheets[indice];
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// Restituisce la PRIMA riga dal codice BUNK inserito
/// </summary>
/// <param name="BunkId">valore 1..numBunk</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaByBunk(int BunkId)
{
DS_App.SheetListRow answ = null;
try
{
answ = tabSheets.First(x => x.StackID == BunkId);
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// Restituisce la riga dal codice Sheet inserito
/// </summary>
/// <param name="SheetId">valore 1..numBunk</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaBySheet(int SheetId)
{
DS_App.SheetListRow answ = null;
try
{
answ = tabSheets.First(x => x.StackID == SheetId);
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// caicamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
((SiteMaster)this.Master).showSearch = false;
tabSheetKey = $"{memLayer.ML.redHash($"TabSheets")}:{BatchId}";
// imposto bunk!
cmp_BP_bunkList.BatchId = BatchId;
setupSlider();
doUpdate();
}
cmp_BP_bunkList.eh_doRefresh += Cmp_BP_bunkList_eh_doRefresh;
cmp_BP_sheetList.eh_doRefresh += Cmp_BP_sheetList_eh_doRefresh;
cmp_slider.eh_doRefresh += Cmp_slider_eh_doRefresh;
}
/// <summary>
/// Setup slider da num fogli
/// </summary>
private void setupSlider()
{
cmp_slider.minVal = 1;
cmp_slider.maxVal = tabSheets.Count;
cmp_slider.selValue = 1;
}
private void doUpdate()
{
updateBySlider();
}
private void Cmp_slider_eh_doRefresh(object sender, EventArgs e)
{
updateBySlider();
}
/// <summary>
/// Effettua update da Slider --> valore selezionato
/// </summary>
private void updateBySlider()
{
// il valore assoluto dello slider è già corretto... cerco nella tab!
DS_App.SheetListRow currRow = rigaSel(valSlider);
if (currRow != null)
{
// recupero indice bunk e sheets e seleziono
bunkIndex = currRow.StackIndex - 1;
cmp_BP_sheetList.BunkId = cmp_BP_bunkList.BunkIdSel;
sheetIndex = currRow.SheetIndex - 1;
// update svg...
cmp_MU_svgViewer.SheetId = currRow.SheetID;
}
}
private void Cmp_BP_sheetList_eh_doRefresh(object sender, EventArgs e)
{
// calcolo indice slider da chiave sheet...
int num = 1;
foreach (var item in tabSheets)
{
if (item.SheetID == cmp_BP_sheetList.SheetIdSel)
string rawData = "";
if (value.Count > 0)
{
break;
}
else
{
num++;
rawData = JsonConvert.SerializeObject(value);
}
memLayer.ML.setRSV(tabSheetKey, rawData, 300);
}
cmp_slider.selValue = num;
// update svg...
cmp_MU_svgViewer.SheetId = cmp_BP_sheetList.SheetIdSel;
}
/// <summary>
/// valore selezionato nello slider
/// </summary>
protected int valSlider
{
get
{
return cmp_slider.selValue;
}
set
{
cmp_slider.selValue = value;
}
}
#endregion Protected Properties
#region Public Properties
/// <summary>
/// Batch corrente...
/// </summary>
public int BatchId
{
get
{
int answ = memLayer.ML.QSI("BatchId");
return answ;
}
}
#endregion Public Properties
#region Private Methods
private void Cmp_BP_bunkList_eh_doRefresh(object sender, EventArgs e)
{
DS_App.SheetListRow currRow = rigaByBunk(cmp_BP_bunkList.BunkIdSel);
@@ -254,7 +144,8 @@ namespace NKC_WF.site
{
// calcolo indice slider da chiave sheet...
int num = 1;
foreach (var item in tabSheets)
var currTabSheets = tabSheets;
foreach (var item in currTabSheets)
{
if (item.SheetID == currRow.SheetID)
{
@@ -273,5 +164,154 @@ namespace NKC_WF.site
cmp_MU_svgViewer.SheetId = currRow.SheetID;
}
}
private void Cmp_BP_sheetList_eh_doRefresh(object sender, EventArgs e)
{
// calcolo indice slider da chiave sheet...
int num = 1;
var currTabSheets = tabSheets;
foreach (var item in currTabSheets)
{
if (item.SheetID == cmp_BP_sheetList.SheetIdSel)
{
break;
}
else
{
num++;
}
}
cmp_slider.selValue = num;
// update svg...
cmp_MU_svgViewer.SheetId = cmp_BP_sheetList.SheetIdSel;
}
private void Cmp_slider_eh_doRefresh(object sender, EventArgs e)
{
updateBySlider();
}
private void doUpdate()
{
updateBySlider();
}
/// <summary>
/// Setup slider da num fogli
/// </summary>
private void setupSlider()
{
cmp_slider.minVal = 1;
cmp_slider.maxVal = tabSheets.Count;
cmp_slider.selValue = 1;
}
/// <summary>
/// Effettua update da Slider --> valore selezionato
/// </summary>
private void updateBySlider()
{
// il valore assoluto dello slider è già corretto... cerco nella tab!
DS_App.SheetListRow currRow = rigaSel(valSlider);
if (currRow != null)
{
// recupero indice bunk e sheets e seleziono
bunkIndex = currRow.StackIndex - 1;
cmp_BP_sheetList.BunkId = cmp_BP_bunkList.BunkIdSel;
sheetIndex = currRow.SheetIndex - 1;
// update svg...
cmp_MU_svgViewer.SheetId = currRow.SheetID;
}
}
#endregion Private Methods
#region Protected Methods
/// <summary>
/// caicamento pagina
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
((SiteMaster)this.Master).showSearch = false;
// imposto bunk!
cmp_BP_bunkList.BatchId = BatchId;
setupSlider();
doUpdate();
}
cmp_BP_bunkList.eh_doRefresh += Cmp_BP_bunkList_eh_doRefresh;
cmp_BP_sheetList.eh_doRefresh += Cmp_BP_sheetList_eh_doRefresh;
cmp_slider.eh_doRefresh += Cmp_slider_eh_doRefresh;
}
/// <summary>
/// Restituisce la PRIMA riga dal codice BUNK inserito
/// </summary>
/// <param name="BunkId">valore 1..numBunk</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaByBunk(int BunkId)
{
DS_App.SheetListRow answ = null;
try
{
var currTabSheets = tabSheets;
answ = currTabSheets.First(x => x.StackID == BunkId);
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// Restituisce la riga dal codice Sheet inserito
/// </summary>
/// <param name="SheetId">valore 1..numBunk</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaBySheet(int SheetId)
{
DS_App.SheetListRow answ = null;
try
{
var currTabSheets = tabSheets;
answ = currTabSheets.First(x => x.StackID == SheetId);
}
catch
{ }
// restituisco!
return answ;
}
/// <summary>
/// Restituisce la riga dall'indice inserito (
/// </summary>
/// <param name="indice">valore 1..maxSheets</param>
/// <returns></returns>
protected DS_App.SheetListRow rigaSel(int indice)
{
DS_App.SheetListRow answ = null;
var currTabSheets = tabSheets;
// init var
int maxNum = currTabSheets.Count;
// base 0 --> riduco di 1...
indice--;
// controllo valore sia accettabile...
indice = indice < 0 ? 0 : indice;
indice = indice >= maxNum ? maxNum - 1 : indice;
try
{
answ = currTabSheets[indice];
}
catch
{ }
// restituisco!
return answ;
}
#endregion Protected Methods
}
}

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