Compare commits

...

196 Commits

Author SHA1 Message Date
Developer01
c29c508224 2.7.4 2025-12-05 14:03:07 +01:00
Developer01
443242415a Alignmenttext und Currency 2025-12-05 09:22:01 +01:00
Developer01
4db9b71a29 Merge and Commit Master 2025-12-03 14:41:02 +01:00
Developer01
65b73b45bf Currency Summary EUR 2025-12-03 14:29:18 +01:00
Developer01
4554c5841d Validator NotResponible mit oder ohne override/inlcude FI 2025-12-03 14:11:30 +01:00
Developer01
eef779ab09 • Stabilisiert Ladevorgang und Positions-/Größen-Wiederherstellung des Formulars
• Robustere Behandlung von Datenquellen, SQL-Placeholders und Verbindungs-IDs
• Verbesserte Steuerlogik für abhängige Controls, Enable/Disable und SetControlData
• Konsistente Verarbeitung von Vektorfeldern, Lookup, ComboBox, DateEdit und GridControl
• Validierung: Pflichtfelder, Regex-Checks, Grid-Zellenvalidierung, Fehlerdialoge
• Performance- und Logging-Verbesserungen, reduzierte Nebenwirkungen (Flags, Flow)
• Zusätzliche Suchen: Preload, OnClick, UI-Anbindung, Refresh
• Dokument-Viewer: Laden, Sichtbarkeit, PDF-Annotationen und Export-Workflow
• Finale Indexierung inkl. SQL-basierten Werten, Work-History-Logging, Move2Folder
• Fehlerbehandlung bei Überspringen/Löschen, Freigabe und Workflow-Abschluss
• UI-Feedback: Statuslabel, Ribbon-Buttons, Tooltips, Ghost-Mode Unterstützung
• Codehygiene: Null-/DBNull-Checks, Culture-Handling, farbliche Formatierung (Currency)
2025-11-26 14:05:37 +01:00
Developer01
040c7aeac0 2.7.3 WISAG
• Erweiterung von SetControlValues_FromControl um Handling für DevExpress DateEdit (Parsing verschiedener Datumsformate, Farbanpassung).
• Ergänzung einer analogen Fall-Branch für System.Windows.Forms.DateTimePicker (Fallback auf MinimumDateTime bei ungültigem oder leerem Caption).
• Keine bestehenden Funktionen außerhalb der neuen Select-Case-Zweige angepasst.
Nutzen: Ermöglicht dynamisches Setzen von Datumswerten aus SQL-Steuerdaten (Caption-Feld) für beide Datumstypen und konsistente Farbgestaltung wie bei anderen Steuerelementen.
Hinweis: Validierungs- und Logging-Struktur wiederverwendet; keine Seiteneffekte auf andere Control-Typen.
2025-11-19 13:02:27 +01:00
Developer01
6eafe9d53a Ms merge 2025-11-13 10:27:02 +01:00
Developer01
5b001aee03 Merge branch '2.6.1-Bugfix-Massenbearbeitung' into 2.7.0-Release 2025-10-22 08:37:12 +02:00
Developer01
5d69edab9f Merge branch '2.6.0-Release' into 2.7.0-Release 2025-10-22 08:36:34 +02:00
Developer01
c3f1687648 Referenzen upgedated 2025-10-22 08:30:21 +02:00
Developer01
b526108d5d Master empty row für GIT 2025-09-11 14:30:31 +02:00
Developer01
c9badc29bd GIT_TEST 2025-09-11 14:28:44 +02:00
Developer01
fc271e0a82 Änderungen aus 2.61 Bugfix 2025-09-09 17:33:56 +02:00
Developer01
7da4c89777 Finales Bugfix 2025-09-09 17:30:01 +02:00
Developer01
fd2f59af04 Übernahme frmValidator-Logik aus Bugfix 2.6.1 2025-09-09 11:26:49 +02:00
Developer01
d7520ac86a V1 - Anpassung frmValidator Logik Massenbarbeitung 2025-09-09 11:25:37 +02:00
Developer01
0eb480b427 frmValidator - SQLEnable funktionierte nicht bei Massenbearbeitung 2025-09-09 10:44:42 +02:00
OlgunR
544f710083 Profile_group_color wird aktualisiert - frmMain 2025-09-04 14:37:51 +02:00
Developer01
46d6cb0069 Dashboard gelöscht 2025-09-04 14:36:56 +02:00
Developer01
daf1c16b30 DocumentViewer Aufruf über Pfad (txtDateien) 2025-08-22 08:46:26 +02:00
Developer01
468f6e8ff0 Nochmal ProfileID 2025-08-22 08:11:06 +02:00
Developer01
c577177493 ProfileID in FormDesigner 2025-08-22 08:03:33 +02:00
Developer01
4807ab53b0 Version 2.6.0 für Master 2025-08-21 12:08:04 +02:00
Developer01
03b566574f Indexe leeren wie Vektor, ValidatorSearch und Instanzierung, ShowDocument abfangen 2025-08-21 11:19:48 +02:00
Developer01
a9cc02c4b4 @@Display Only wie ReadOnly behandeln Try1 2025-08-19 13:34:55 +02:00
Developer01
f21dbd3423 LookupControl Rückgabe Wert1','Wert2
VektorBoolean Handling und String.empty zum leeren
2025-08-18 18:28:21 +02:00
Developer01
cbdc5f900c Projekt LUControl und modules aus Projektmappe entfernt 2025-08-18 11:54:33 +02:00
Developer01
329f733ec9 Überarbeitung nach Rückmeldung Marvin (windreamIndexe SQL Editor, Dynmisch verkleinern des pnlValidators, Regexprüfung editvalue, Bedienung Tastaturbefehle, ...) 2025-08-18 11:51:56 +02:00
Developer01
642e65c95b FormatString Currency 2025-08-15 15:07:24 +02:00
Developer01
ffa65a9c07 Prüfen der Offenen Tickets und Push in Master, frmValidator (Fehlerhandling, Currency etc) 2025-08-15 12:55:53 +02:00
Developer01
c4f77ed2e8 Merge mit Branch 2.5.4.0 2025-08-15 08:29:46 +02:00
Developer01
330453abf1 Projektdatei korrupt, geändert, FormDesigner tastaturbefehle nach Merge rahman wieder integriert 2025-08-13 09:36:52 +02:00
Developer01
48d1e3e372 V 2.5.6 Dynamisches Panel, Verweise korrigieren, Finale Indexe Reihenfolge und Leeren 2025-08-12 17:13:42 +02:00
Developer01
1bbd3467ca Renaming DDProcessmanager 2025-07-18 15:42:56 +02:00
Developer01
6f3c439695 Vorgehen bei ProfileSearch, ersetzen ' 2025-06-26 14:39:44 +02:00
Developer01
6172bb3fd7 GD Picture auf 14.3.3 2025-06-20 08:50:17 +02:00
Developer01
b409e2caad merge 2025-06-17 16:50:42 +02:00
Developer01
653f9a82ca stage commit 2025-06-17 16:49:50 +02:00
OlgunR
b96a17ddff NugetUpdates 2025-06-17 16:48:35 +02:00
OlgunR
aca8634e26 Nuget packages wiederhergestellt 2025-06-06 10:36:08 +02:00
Developer01
ae389d4f3c SupportLink Anpassung aus Master übernommen 2025-06-06 08:43:59 +02:00
OlgunR
2727548bde Formatierung der DateTime-Spalten im Grid Overview - Load_Grid_Overview 2025-06-05 09:56:27 +02:00
Developer01
5431b60f9a Final Indexing überarbeitet 2025-06-03 14:14:44 +02:00
OlgunR
0cca734cd0 Support Link wird aus der DB geholt und ist nicht mehr hardcoded - frmKonfig 2025-05-15 17:03:36 +02:00
Developer01
f8c822a868 Parameters Refresh 2025-05-08 15:49:54 +02:00
Developer01
21777d216b LookUpControl Width wider 2025-05-02 08:32:19 +02:00
Developer01
e8877ffc99 MS Administration 2025-04-10 15:39:42 +02:00
Developer01
32fce5f142 MS V 2.4.2.1 2025-04-08 14:49:24 +02:00
Developer01
f9ae01b631 V 2.4.0.1 FormDesigner Verbesserungen, Monitoring Bug Objektverweis bei 4. Grid 2025-04-01 08:19:42 +02:00
Developer01
a16308c1cd MS GDPictureUpdate, Bugfix: WindreamPlaceholder nach SQL Editor 2025-03-28 15:26:24 +01:00
Developer01
85bc215cd0 MS SQL ConnectionID raus aus Commands 2025-03-18 08:12:27 +01:00
Developer01
89313eb0b6 MS Update Wix GDPicture 2025-02-24 16:32:49 +01:00
Developer01
3e481d9a94 MS V 2.5.3.0 2025-02-24 15:19:17 +01:00
Developer01
edb8476a50 MS Übersetzungen 2025-02-11 16:57:26 +01:00
Developer01
1b539bce13 MS Release FillIDNexe 2025-02-05 08:09:10 +01:00
Developer01
d3ef49ed83 MS 2.5.0.3 VKT ADD Items und GDPicture 2025-01-27 16:56:51 +01:00
Developer01
911c7f04ce MS 2.4.9.9 Form Position visible area 2024-11-21 11:16:37 +01:00
Developer01
a99258cfea MS 2.4.9.8 Logging OperationMode, GDPictureLicense 2024-11-05 12:53:57 +01:00
Developer01
a535792b08 Ms FileCount 2024-10-02 12:43:44 +02:00
Developer01
dd616b2d22 MS FileCount Prüfung entfernt 2024-10-02 12:37:31 +02:00
Developer01
208b76d38e MS GD Picture 2024-09-30 15:12:01 +02:00
Developer01
5be782333d MS GridControl bei ReadOnly Editable = false 2024-09-12 15:01:35 +02:00
Developer01
3b064662d6 MS Anpassungen LogFiles User, CodeCleaning 2024-09-11 15:07:17 +02:00
Developer01
9b9ed9fb6e MS Validation Messages, GhostMode Rechte 2024-09-06 08:41:05 +02:00
Developer01
493f85a8c0 MS Verbesserungen Meldungen, GhostModus keine Sprache wechseln 2024-08-30 10:57:44 +02:00
Developer01
9ffad954cb MS Anpassungen Layout speichern bei windream konfig 2024-08-27 17:28:05 +02:00
Developer01
09b60929b3 MS 2024-08-27 12:49:17 +02:00
Developer01
1b04665e82 MS 2.4.9.6 Zusätzliche Meldungen und @DisplayOnly Möglichkeit 2024-08-26 16:41:27 +02:00
Developer01
3b08bafa49 MS 2.4.9.5 GroupHandling Overview, Conversation.Logik entfernt, Rejected-Button Logik mit windream, Nicht zuständig Nicht mit windream 2024-07-26 10:38:37 +02:00
Developer01
5ac618ba21 MS Groupb By 2024-07-26 08:42:33 +02:00
Digital Data - Marlon Schreiber
f2f62fcac8 V 2.4.9.4 WISAG Buttons, Reject-Attribute als Ausnahme in CheckUpdateIndexe, FilterActive Hinweis, Logging anpassen 2024-07-17 12:25:59 +02:00
1c5afd198f MS Init TEST/PROD, Layout 2024-07-09 16:37:36 +02:00
4a93b2e6fe MS Version 2.4.9.0
Buttons, Nicht zuständig
2024-07-05 13:21:25 +02:00
4660e8ee9a MS Buttons Validator, Fomat Currency 2024-07-04 15:42:54 +02:00
cd75a665e6 Logging bei LoadnewDocument, Errorhandling, Button Reject, Focus nach Lookup 2024-07-03 15:37:31 +02:00
d902548ec5 MS PMInfo UniqueID 2024-05-13 17:38:40 +02:00
a0c2bfe82b V 2.4.7.0 WISAG 2024-04-29 13:18:15 +02:00
63ece35aec MS VS 2.4.7 ActionType bei CustomButton MsgBox, einzelinstanzanwendung = false, meldung keine WorkflowItems bei Detailprofil 2024-04-29 09:40:30 +02:00
23ea8ef686 MS V 2.4.7.0 Add MessageBoxFunction to onCustomButtonClick 2024-04-26 09:17:44 +02:00
cddb7bfe66 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/TaskFlow 2024-03-28 08:44:55 +01:00
c5454ef0cd MS Validator Error Color as Control is Devexpress 2024-03-28 08:42:38 +01:00
64b8c4a54d TaskFlow: Version 2.4.6.9 2024-03-18 15:52:53 +01:00
dab5fb5f77 TaskFlow: Variable OverrideAll nach Auswertung wieder auf False zurücksetzen 2024-03-18 15:51:43 +01:00
e0e32790d8 MS Logging FillIndexValues DevexpressGrid 2024-03-14 15:01:55 +01:00
02e3485aaf MS SEQUENCE in sortBy TBPM_PROFILE_FINAL_INDEXING 2024-03-05 16:38:19 +01:00
eaa1b001bc MS GridControlWorkflows 2024-01-15 10:02:58 +01:00
254885966e MS Label Caption View 2024-01-15 10:01:15 +01:00
d7eedc08d5 MS 2024-01-15 08:37:33 +01:00
2c9522d8e1 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/TaskFlow 2024-01-15 08:37:17 +01:00
Jonathan Jenne
88c7be1b3c Version 2.4.6.8 2024-01-05 10:56:53 +01:00
339651f079 MS 2024-01-05 10:51:11 +01:00
Jonathan Jenne
5055a19959 fix export to folder 2024-01-05 10:49:12 +01:00
Jonathan Jenne
1abfb8dc31 Version 2.4.6.7 2023-11-30 11:50:23 +01:00
Jonathan Jenne
f0a36dc43a Add Export to Y Conversion to plain PDF 2023-11-30 11:50:13 +01:00
Jonathan Jenne
f601485bc4 Merge branch 'master' of http://git.dd:3000/AppStd/TaskFlow 2023-11-24 12:53:41 +01:00
Jonathan Jenne
c4229df1a7 add logging 2023-11-24 12:53:31 +01:00
3c06877732 MS Refresh 2023-11-24 12:49:42 +01:00
Jonathan Jenne
9909131b73 fix wrong GroupRowHandle set when loading a workflow profile 2023-11-24 10:35:06 +01:00
Jonathan Jenne
55fc44ab45 add logging for export button 2023-11-24 10:33:47 +01:00
516141a840 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/TaskFlow 2023-11-02 12:58:10 +01:00
64a8422f84 MS 2023-11-02 12:57:59 +01:00
Jonathan Jenne
6fa8f157a0 Merge branch 'master' of http://git.dd:3000/AppStd/TaskFlow 2023-10-23 10:24:33 +02:00
Jonathan Jenne
86f27d8817 Version 2.4.6.5 2023-10-23 10:24:12 +02:00
Jonathan Jenne
a01698807d Fix Export to Y Button 2023-10-23 10:22:21 +02:00
ab46724e79 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/TaskFlow 2023-10-19 11:13:58 +02:00
f11b118560 Parameter EXCEL_EXPORT_OVERVIEW 2023-10-19 11:13:44 +02:00
5b1d07d98b 2.4.6.4 MS DateParse in LicenseDate 2023-10-18 13:05:19 +02:00
Jonathan Jenne
8324bbeb16 Version 2.4.6.4 2023-10-13 11:22:51 +02:00
Jonathan Jenne
3b16e15896 Remove config migration 2023-10-13 11:21:13 +02:00
2facc47a4b MS Meldung 2023-09-20 13:16:54 +02:00
31ac48207c MS 2023-09-19 12:38:56 +02:00
Jonathan Jenne
ffefabbaaf Version 2.4.6.3 2023-07-24 11:17:21 +02:00
Jonathan Jenne
d4995b4d93 Fix GetStringValue formatting float and other values incorrectly 2023-07-24 11:16:07 +02:00
Jonathan Jenne
431a22c955 save grid filter when opening validator 2023-07-18 16:27:35 +02:00
Jonathan Jenne
352805d0b7 fix memoedit loading and saving 2023-07-18 14:21:50 +02:00
Jonathan Jenne
b03e11937b Prepare Refactor of frmValidator, add logger for Validator 2023-07-18 10:32:32 +02:00
Jonathan Jenne
011aad712b Add Logger for Validator 2023-07-18 10:03:55 +02:00
Jonathan Jenne
16de651395 Version 2.4.6.0 2023-07-06 15:37:22 +02:00
Jonathan Jenne
37e678c32f fix weird tab behaviour in frmValidator grid 2023-07-06 15:27:56 +02:00
Jonathan Jenne
b91df1f921 Add context menu items for checking/unchecking all items in grid control 2023-06-20 13:12:32 +02:00
Jonathan Jenne
35707d9c72 Version 2.4.5.0 2023-06-16 11:27:39 +02:00
Jonathan Jenne
629dfdc304 move a lot of grid stuff into GridControl class 2023-06-16 11:27:09 +02:00
Jonathan Jenne
49239a3e6e reload control names after changing name value of one control 2023-06-16 11:26:37 +02:00
Jonathan Jenne
a9a8bf0e0f Fix empty size setting 2023-06-16 11:26:12 +02:00
a7b9fc14e8 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/TaskFlow 2023-06-15 17:08:47 +02:00
Jonathan Jenne
3d95847c61 Version 2.4.4.2 2023-06-13 09:13:12 +02:00
Jonathan Jenne
12c36eeb92 WIP move grid functions to extra class 2023-06-13 09:12:45 +02:00
Jonathan Jenne
22691f30c4 clean up 2023-06-09 08:57:52 +02:00
Jonathan Jenne
d77369523e Version 2.4.4.1 2023-06-07 10:08:09 +02:00
Jonathan Jenne
829670e086 remove Modules.Language from frmValidator 2023-06-07 10:07:36 +02:00
Jonathan Jenne
38afdf9f58 Version 2.4.4.0 2023-06-07 09:46:30 +02:00
Jonathan Jenne
d889bd7e28 finish first pass of switching to TextEdit 2023-06-07 09:46:06 +02:00
Jonathan Jenne
a2b051401b fix MASSIVE potential slowdown when loading frmValidator 2023-06-07 09:45:27 +02:00
Jonathan Jenne
e44a42faea Clean up, fix missing TextEdit 2023-06-02 10:47:24 +02:00
ed300fdba9 MergeCommit 2023-06-02 08:33:42 +02:00
7f84ce456a ms 2023-06-02 08:33:02 +02:00
Jonathan Jenne
8dade7c299 clean up 2023-06-01 09:19:46 +02:00
Jonathan Jenne
91e90ce76c Remove Chat Controls, use only DevExpress controls in frmValidator 2023-05-31 11:10:25 +02:00
Jonathan Jenne
9da71349b2 Switch from Textbox to DevExpress TextEdit 2023-05-30 13:33:22 +02:00
Jonathan Jenne
37b02ec625 Fix saving and restoring form position, fix display format 2023-05-24 08:55:51 +02:00
Jonathan Jenne
a4b44bc5c3 Fix Colum Detail form 2023-05-23 11:54:31 +02:00
Jonathan Jenne
bd35cccdb1 Make DisplayFormat configurable for TextBoxes and GridColumns, Fix Typo, Properly Convert Dates and Numbers in Vector Fields 2023-05-23 11:15:21 +02:00
Jonathan Jenne
e7a60d3515 WIP: Currency & Date Formatting 2023-05-17 16:52:04 +02:00
440303d299 MS Fehlerhandling FormatString 2023-05-09 15:20:58 +02:00
1e98e4a9ab Format 2023-04-28 14:12:10 +02:00
d738b31b4f MS Release 2023-04-26 13:21:33 +02:00
5ce027cb07 MS merge commit 2023-04-24 16:45:27 +02:00
bd3f3e22d0 MS BackColor 2023-04-24 16:44:38 +02:00
c47c011f27 TaskFlow: Version 2.4.2.2 2023-04-24 15:26:28 +02:00
f37b4188c2 Merge 2023-04-24 15:25:41 +02:00
725829ee94 TaskFlow: Version 2.4.3.0 2023-04-24 15:22:50 +02:00
eb668a7304 MsgBox with German Text replaced with ShowInfoMessage, which used the Resource-Strings 2023-04-24 15:22:06 +02:00
f2ed8c14d2 FNDD_CHECK_USER_MODULE 2023-04-13 11:51:09 +02:00
1c059fbbe8 MS 2.4.2.1 OverrideLang entfernt 2023-04-13 11:39:17 +02:00
ebc6d21caf MS Config Layout Sprache 2023-03-31 12:42:23 +02:00
14c99e7961 MS Release Sprachen wechse 2023-03-31 11:20:50 +02:00
Jonathan Jenne
2160873ba3 Merge branch 'master' of http://git.dd:3000/AppStd/TaskFlow 2023-03-30 15:36:51 +02:00
Jonathan Jenne
ef1fbaaad6 Version 2.4.2.0 2023-03-30 12:57:57 +02:00
5ab45d7236 MS LoginAttempt 2023-03-29 13:15:12 +02:00
930f4c8af8 MS Rename taskFlow 2023-03-27 11:10:49 +02:00
4ebb40fd9e MS Override Release 2023-02-24 15:06:37 +01:00
fd8aeca9e0 MS Init 2023-01-24 10:11:08 +01:00
f4a072cbbd MS Release 2023-01-04 18:58:37 +01:00
95c631b1b5 MS Adhoc Workflow, WM Anpassung 2022-12-08 14:33:42 +01:00
4f1ff62ce6 MS Release 2.3.9.1 2022-12-01 14:22:40 +01:00
Jonathan Jenne
01288c5bbb Update NLog to version 5 2022-11-29 09:06:06 +01:00
2e0efa7670 MS AdhocWorkflow 2022-11-17 17:07:33 +01:00
Jonathan Jenne
09a61da565 Version 2.3.9.0 2022-11-07 11:23:03 +01:00
4d1c8beb26 MS Merge 2022-11-07 11:18:14 +01:00
a40beb912e MS 2022-11-07 11:08:07 +01:00
Jonathan Jenne
6c2a6538bc Small translation fixes 2022-11-03 16:31:51 +01:00
Jonathan Jenne
9015c9113b Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/ProcessManager 2022-11-03 09:54:45 +01:00
Jonathan Jenne
ba7347faff Logging for translations 2022-11-03 09:54:24 +01:00
a8f34120ca ms nOTIFICATIONS UND LANGUAGE 2022-11-01 09:13:04 +01:00
0665672626 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/ProcessManager 2022-10-28 12:59:21 +02:00
eb06ef5de4 MS DEV Language 2022-10-28 12:59:05 +02:00
Jonathan Jenne
b9f8703e78 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/ProcessManager 2022-10-27 12:43:53 +02:00
Jonathan Jenne
69fe0906fe fix 2022-10-27 12:43:47 +02:00
5fab9868f3 MS 2022-10-27 08:35:25 +02:00
cd432b3922 MS Merge 2022-10-25 13:28:16 +02:00
cbbf0011f1 MS 2022-10-25 13:26:42 +02:00
Jonathan Jenne
7589404257 remove .vs crap 2022-10-24 13:42:53 +02:00
Jonathan Jenne
0c8393c3e2 ignore .vs directory 2022-10-24 13:42:39 +02:00
Jonathan Jenne
bfb68ec692 frm Validator translations 2022-10-24 10:09:39 +02:00
Jonathan Jenne
176a95f24f More translations for frmMain and frmValidator 2022-10-20 10:39:37 +02:00
e796fb2ee8 Merge branch 'master' of http://dd-vmp07-com04:3000/AppStd/ProcessManager 2022-10-18 09:58:47 +02:00
14acce81f8 MS Verwise 2022-10-18 09:58:33 +02:00
Jonathan Jenne
f255052a52 fix some resource files 2022-10-17 16:53:22 +02:00
Jonathan Jenne
a823361811 Merge branch 'translations' 2022-10-17 16:36:16 +02:00
c7efad48c8 MS languages und verweise 2022-10-17 16:06:11 +02:00
7c7787d32a Ms Language Anpassungen 2022-10-14 13:17:56 +02:00
1f66f12030 MS 2022-10-14 10:31:03 +02:00
f55a7bdfc3 MS Languages 2022-10-14 10:09:43 +02:00
Jonathan Jenne
1ac7aeae93 Version 2.3.8.6 2022-10-06 09:10:58 +02:00
Jonathan Jenne
3b258180a0 Adjust modules to new path DDModules 2022-10-06 09:07:57 +02:00
410 changed files with 30324 additions and 15488 deletions

7
.gitignore vendored
View File

@ -154,8 +154,5 @@ $RECYCLE.BIN/
# Mac desktop service store files
.DS_Store
/app/.vs/DD_PM_WINDREAM/v15/Server/sqlite3
/app/.vs/DD_PM_WINDREAM/v16/Server/sqlite3/storage.ide-wal
/app/.vs/DD_PM_WINDREAM/v16/Server/sqlite3/storage.ide-shm
/app/.vs/DD_PM_WINDREAM/v16/Server/sqlite3/storage.ide
/app/.vs/DD_PM_WINDREAM/v16/Server/sqlite3/db.lock
.vs

View File

@ -2,6 +2,6 @@
"ExpandedNodes": [
""
],
"SelectedNode": "\\.gitignore",
"SelectedNode": "\\TaskFlow.sln",
"PreviewInSolutionExplorer": false
}

View File

@ -0,0 +1 @@
Aber El Raho ist cooler!

View File

@ -1,153 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System">
<section name="DD_ProcessManager.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection" requirePermission="false" />
</sectionGroup>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="DD_ProcessManager.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<DD_ProcessManager.My.MySettings>
<setting name="UseAppConfigConString" serializeAs="String">
<value>False</value>
</setting>
<setting name="UserConfig_Prefix" serializeAs="String">
<value>TEST</value>
</setting>
</DD_ProcessManager.My.MySettings>
<DevExpress.LookAndFeel.Design.AppSettings>
<setting name="DefaultAppSkin" serializeAs="String">
<value>Skin/Office 2019 White</value>
</setting>
<setting name="DefaultPalette" serializeAs="String">
<value>Custom/Digital Data</value>
</setting>
<setting name="TouchUI" serializeAs="String">
<value></value>
</setting>
<setting name="TouchScaleFactor" serializeAs="String">
<value></value>
</setting>
<setting name="DirectX" serializeAs="String">
<value></value>
</setting>
<setting name="RegisterUserSkins" serializeAs="String">
<value></value>
</setting>
<setting name="FontBehavior" serializeAs="String">
<value></value>
</setting>
<setting name="DefaultAppFont" serializeAs="String">
<value></value>
</setting>
<setting name="DPIAwarenessMode" serializeAs="String">
<value></value>
</setting>
<setting name="CompactUI" serializeAs="String">
<value></value>
</setting>
<setting name="RegisterBonusSkins" serializeAs="String">
<value></value>
</setting>
<setting name="CustomPaletteCollection" serializeAs="Xml">
<value>
<CustomPaletteCollection>
<Skin Name="Office 2019 White">
<SvgPalette Name="Digital Data">
<SvgColor Name="Paint" Value="White" />
<SvgColor Name="Paint High" Value="White" />
<SvgColor Name="Paint Shadow" Value="240,240,240" />
<SvgColor Name="Paint Deep Shadow" Value="230,230,230" />
<SvgColor Name="Brush" Value="72,70,68" />
<SvgColor Name="Brush High" Value="72,70,68" />
<SvgColor Name="Brush Light" Value="119,119,119" />
<SvgColor Name="Brush Major" Value="171,171,171" />
<SvgColor Name="Brush Minor" Value="225,225,225" />
<SvgColor Name="Accent Paint" Value="165,36,49" />
<SvgColor Name="Accent Paint Dark" Value="133,28,38" />
<SvgColor Name="Accent Paint Light" Value="250,220,221" />
<SvgColor Name="Accent Paint Lighter" Value="251,233,234" />
<SvgColor Name="Accent Brush" Value="255,255,255" />
<SvgColor Name="Accent Brush Light" Value="218,175,176" />
<SvgColor Name="Red" Value="237,61,59" />
<SvgColor Name="Green" Value="48,144,72" />
<SvgColor Name="Blue" Value="30,139,205" />
<SvgColor Name="Yellow" Value="251,152,59" />
<SvgColor Name="Black" Value="87,87,85" />
<SvgColor Name="Gray" Value="169,168,168" />
<SvgColor Name="White" Value="255,255,255" />
</SvgPalette>
</Skin>
</CustomPaletteCollection>
</value>
</setting>
</DevExpress.LookAndFeel.Design.AppSettings>
</applicationSettings>
<connectionStrings>
<add name="DD_ProcessManager.My.MySettings.ConnectionString" connectionString="Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd" providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<userSettings>
<DD_ProcessManager.My.MySettings>
<setting name="frmTableColumns_Position" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidator_Splitter" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidation_Size_PDFViewer" serializeAs="String">
<value>890, 790</value>
</setting>
<setting name="frmValidation_Size_Email" serializeAs="String">
<value>890, 790</value>
</setting>
<setting name="IntervallReminder" serializeAs="String">
<value>5</value>
</setting>
<setting name="frmMainSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmMainPosition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorPosition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmMassValidatorSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmMassValidatorposition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorSearchSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorSearchPosition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValSearchSplitterDistance" serializeAs="String">
<value>563</value>
</setting>
<setting name="frmMainWindowState" serializeAs="String">
<value>Normal</value>
</setting>
<setting name="frmDocViewSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmDocViewPosition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorWindowState" serializeAs="String">
<value>Normal</value>
</setting>
</DD_ProcessManager.My.MySettings>
</userSettings>
</configuration>

View File

@ -1,644 +0,0 @@
Imports WINDREAMLib
Imports WMOSRCHLib
Public Class ClassPMWindream
Inherits ClassWindream_allgemein
Dim clsWM As ClassWindream_allgemein
'Private email As New ClassNIEmail
Private allgFunk As New ClassAllgemeineFunktionen
#Region "+++++ Konstanten +++++"
Protected Const WMObjectEditModeObject = &H1F
Protected Const WMObjectStreamOpenModeReadWrite = 2
Protected Const WMEntityObjectType = 10
Protected Const WMEntityDocument = 1
Const WMObjectVariableValueTypeUndefined = 0
Const WMObjectVariableValueTypeString = 1
Const WMObjectVariableValueTypeInteger = 2
Const WMObjectVariableValueTypeInteger64bit = 11
Const WMObjectVariableValueTypeFloat = 3
Const WMObjectVariableValueTypeBoolean = 4
Const WMObjectVariableValueTypeDate = 5
Const WMObjectVariableValueTypeFixedPoint = 6
Const WMObjectVariableValueTypeTimeStamp = 7
Const WMObjectVariableValueTypeCurrency = 8
Const WMObjectVariableValueTypeTime = 9
Const WMObjectVariableValueTypeVariant = 10
Const WMObjectVariableValueTypeMask = &HFFF
Const WMObjectVariableValueFlagMask = &HFFFFF000
Const WMObjectVariableValueTypeVector = &H1000
Const WMObjectVariableValueTypeFulltext = &H2000
Const WMObjectVariableValueTypeDefaultValue = &H4000
Const WMObjectEditModeIndexEdit = &H3DA
#End Region
#Region "+++++ Variablen +++++"
Private oController As New WMOSearchController
#End Region
#Region "+++++ Allgemeine Methoden und Funktionen +++++"
Sub New()
MyBase.New()
End Sub
Private Function IsNotEmpty(ByVal aValue As Object)
If aValue IsNot Nothing Then
Return True
'If TypeOf aValue Is String Then
' ' Änderung 28.08.2018: Auch ein leerer String gilt als Wert, damit indexfelder auch geleert werden können
' 'If Not aValue = "" Then
' ' Return True
' 'End If
' Return False
'Else
' Return True
'End If
Else
Return False
End If
End Function
Private Function return_type(ByVal _wert As Object)
Return _wert.GetType
End Function
Public Function GetValuesfromAuswahlliste(ByVal listname As String)
Try
'Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, listname)
'Dim vType = oAttribute.getVariableValue("vItems")
'Return vType
Dim oChoiceList = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityChoiceList, listname)
If Err.Number = 0 And TypeName(oChoiceList) <> "Nothing" Then
Dim Values = oChoiceList
Values = oChoiceList.GetVariableValue("vItems")
Dim anz As Integer = 0
For Each CLItem In Values
If oChoiceList.aName IsNot Nothing Then
anz += 1
End If
Next
Dim strListe(anz - 1)
Dim zahl As Integer = 0
For Each CLItem In Values
If oChoiceList.aName IsNot Nothing Then
strListe(zahl) = CLItem
zahl += 1
End If
Next
Return strListe
Else
MsgBox("Auswahlliste: " & listname & " nicht gefunden!", MsgBoxStyle.Critical, "Fehler:")
Return Nothing
End If
Catch ex As Exception
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in GetValuesfromAuswahlliste:")
Return Nothing
End Try
End Function
Public Function Return_Type(Indexname As String)
Try
' das entsprechende Attribut aus windream auslesen
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indexname)
' den Variablentyp (String, Integer, ...) auslesen
Dim vType = oAttribute.getVariableValue("dwAttrType")
Return vType.ToString
Catch ex As Exception
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Fehler in Return_Type:")
Return ""
End Try
End Function
Public Function RunIndexing(ByVal oDocument As WMObject, ByVal Indizes() As String, ByVal aValues() As Object)
Dim vType
Try
If Indizes IsNot Nothing And aValues IsNot Nothing Then
If Not oDocument.aLocked Then
' 02.07. Änderung der Lock Methode, um eine Validierung auch zuzulassen, wenn das Recht "Datei ändern"
' nicht gesetzt ist
'oDocument.lock()
Try
oDocument.LockFor(WMObjectEditModeIndexEdit)
Catch ex As Exception
LOGGER.Error(ex)
frmValidator.idxerr_message = "Could not lock WMFile - Check Your rights and inform the admin!"
Return False
End Try
Dim i As Integer = 0
Dim indexname As String
If aValues.Length = 1 And aValues(0) = "" Then
LOGGER.Debug("Indexwert ist leer/Nothing - Keine Indexierung")
Else
'Jetzt jeden Indexwert durchlaufen
For Each aName As String In Indizes
indexname = aName
' das entsprechende Attribut aus windream auslesen
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indizes(i))
' den Variablentyp (String, Integer, ...) auslesen
vType = oAttribute.getVariableValue("dwAttrType")
' wenn in aValues an Position i ein Wert steht
If IsNotEmpty(aValues(i)) Then
Dim _int As Boolean = False
Dim _date As Boolean = False
Dim _dbl As Boolean = False
Dim _bool As Boolean = False
'If indexname = "Tournr" Then
' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString)
'End If
LOGGER.Debug(" ### Indexierung von Index: " & indexname & " ####")
'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
Dim value = aValues(i)
Dim convertValue
Dim vektor As Boolean = False
'Den Typ des Index-Feldes auslesen
'MsgBox(value.GetType.ToString)
Select Case vType
'Case WMObjectVariableValueTypeUndefined
Case WMObjectVariableValueTypeString
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString")
convertValue = CStr(value)
Case WMObjectVariableValueTypeInteger
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
If IsNumeric(value) = False Then
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
oDocument.Save()
oDocument.unlock()
Return False
End If
convertValue = CInt(value)
_int = True
Case WMObjectVariableValueTypeInteger64bit
LOGGER.Debug("Typ des windream-Indexes: Integer64bit")
If IsNumeric(value) = False Then
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
oDocument.Save()
oDocument.unlock()
Return False
End If
convertValue = CInt(value)
_int = True
Case WMObjectVariableValueTypeFloat
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
Try
convertValue = CDbl(value)
Catch ex As Exception
LOGGER.Error(ex)
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
oDocument.Save()
oDocument.unlock()
Return False
End Try
Case WMObjectVariableValueTypeFixedPoint
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
Try
convertValue = CDbl(value)
Catch ex As Exception
LOGGER.Error(ex)
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
oDocument.Save()
oDocument.unlock()
Return False
End Try
_dbl = True
Case WMObjectVariableValueTypeBoolean
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
convertValue = CBool(value)
_bool = True
Case WMObjectVariableValueTypeDate
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
_date = True
'Dim _date As Date = value
convertValue = value
Case WMObjectVariableValueTypeTimeStamp
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
convertValue = CInt(value)
Case WMObjectVariableValueTypeCurrency
LOGGER.Info(" >> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
convertValue = aValueWrapper
Case WMObjectVariableValueTypeTime
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTime", False)
'If ((value)) Then
' convertValue = CDate(value)
'Else
' convertValue = ""
'End If
'Dim _date As Date = value
convertValue = convertValue '*_date.ToShortTimeString
Case WMObjectVariableValueTypeFloat
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat", False)
convertValue = CStr(value)
Case WMObjectVariableValueTypeVariant
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeVariant", False)
convertValue = CStr(value)
Case WMObjectVariableValueTypeFulltext
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFulltext", False)
convertValue = CStr(value)
Case 4100
LOGGER.Debug("Typ des windream-Indexes: 4100 Vektor Boolean", False)
vektor = True
Case 4101
LOGGER.Debug("Typ des windream-Indexes: 4101 Vektor Date", False)
vektor = True
Case 4104
LOGGER.Debug("Typ des windream-Indexes: 4104 Vektor Currency", False)
vektor = True
Case 4097
LOGGER.Debug("Typ des windream-Indexes: 4097 Vektor alphanumerisch", False)
vektor = True
Case 4098
LOGGER.Debug("Typ des windream-Indexes: 4098 Vektor Numerisch", False)
vektor = True
Case 4099
LOGGER.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl", False)
vektor = True
Case 36865
LOGGER.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch", False)
vektor = True
Case Else
LOGGER.Debug("Typ des windream-Indexes konnte nicht bestimmt werden!", False)
LOGGER.Debug("Versuch des Auslesens (vType): " & vType)
'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
convertValue = ""
End Select
If vektor = False Then
If convertValue.ToString Is Nothing = False Then
LOGGER.Debug("Konvertierter Wert: '" & convertValue.ToString & "'", False)
End If
End If
'############################################################################################
'####################### Der eigentliche Indexierungsvorgang ################################
'############################################################################################
If vektor = False Then
If convertValue.ToString Is Nothing = False Then
Try
LOGGER.Debug("Jetzt indexieren: oDocument.SetVariableValue(" & aName & ", " & convertValue.ToString & ")", False)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info(" >> Unexpected Error in Logging SetVariableValue for " & aName & ": " & ex.Message, False)
End Try
'Dim ArrValues()
'ReDim ArrValues(0)
'ArrValues(0) = convertValue
'Dim ArrName()
'ReDim ArrName(0)
'ArrName(0) = "Tournr"
'oDocument.SetValues(ArrName, ArrValues)
If _int = True Then
oDocument.SetVariableValue(aName, CInt(convertValue))
ElseIf _date = True Then
oDocument.SetVariableValue(aName, CDate(convertValue))
ElseIf _bool Then
oDocument.SetVariableValue(aName, CBool(convertValue))
ElseIf _dbl Then
oDocument.SetVariableValue(aName, CDbl(convertValue))
Else
oDocument.SetVariableValue(aName, convertValue)
End If
LOGGER.Debug("Index '" & aName & "' wurde geschrieben", False)
Else
LOGGER.Info(" >> Kein Indexwert vorhanden", False)
End If
Else
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
LOGGER.Debug("VEKTORFELD: Vorbereiten des Arrays", False)
Dim myArray()
'Dim anz As Integer = 0
'For Each obj In aValues
'ReDim Preserve myArray(anz)
Select Case vType
Case 4100
'Vektortyp Boolean
'Umwandeln in Boolean
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
Select Case obj.ToString.ToLower
Case "falsch"
obj = False
Case "wahr"
obj = True
Case "nein"
obj = False
Case "ja"
obj = True
End Select
myArray(i1) = CBool(obj)
i1 = i1 + 1
Next
Case 4101
'Vektortyp Date
'Umwandeln in String
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CDate(obj)
i1 = i1 + 1
Next
Case 4104
'Vektortyp Currency
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(obj))
myArray(i1) = aValueWrapper
i1 = i1 + 1
Next
Case 4097
'Vektortyp ALPHANUMERISCH
'Umwandeln in String
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CStr(obj)
i1 = i1 + 1
Next
Case 4098
'Umwandeln in Integer
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CInt(obj)
i1 = i1 + 1
Next
Case 4099
'Umwandeln in Double
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
Dim Str As String = obj
myArray(i1) = CDbl(Str.Replace(".", ","))
i1 = i1 + 1
Next
Case 36865
'Umwandeln in String
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CStr(obj)
i1 = i1 + 1
Next
Case Else
'Umwandeln in String
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CStr(obj)
i1 = i1 + 1
Next
End Select
LOGGER.Debug("Wert für Index vor Indexierung: [{0}]", myArray)
'Jetzt die Nachindexierung für Vektor-Felder
oDocument.SetVariableValue(aName, myArray)
LOGGER.Debug("'SetVariableValue' für VEKTOR erfolgreich", False)
End If
End If
i += 1
Next
End If
' oDocument.LockRights()
'SetRights(WMObject, User)
oDocument.Save()
oDocument.unlock()
LOGGER.Debug(" ### Indexierung erfolgreich beendet (Save und Unlock durchgeführt) ###", False)
Return True
Else
LOGGER.Info(" ### Dokument ist gesperrt, Indexierung nicht möglich! ###", False)
frmValidator.idxerr_message = "Dokument " & oDocument.aName & " ist gesperrt, Indexierung nicht möglich"
Return False
End If
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("ClassSearchResult.RunIndexing - " & ex.Message, True)
frmValidator.idxerr_message = "Unvorhergesehener Fehler in Indexing: " & ex.Message & vbNewLine & "vType: " & vType.ToString
allgFunk.Insert_LogEntry($"ERROR RunIndexing>> {ex.Message}")
oDocument.Save()
oDocument.unlock()
Return False
End Try
End Function
Public Sub SetfinalIndex(ByVal oDocument As WMObject, ByVal Indexname As String, ByVal _state As Boolean)
Try
If Indexname IsNot Nothing Then
If Not oDocument.aLocked Then
oDocument.LockFor(WMObjectEditModeIndexEdit)
Dim i As Integer = 0
' das entsprechende Attribut aus windream auslesen
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indexname)
' den Variablentyp (String, Integer, ...) auslesen
Dim vType = oAttribute.getVariableValue("dwAttrType")
'MsgBox("Typ: " & vType.ToString, MsgBoxStyle.Critical, "_state: " & _state.ToString)
' wenn in aValues an Position i ein Wert steht
'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
Dim value = _state
Dim convertValue
'Den Typ des Index-Feldes auslesen
LOGGER.Debug(">> Typ des windream-Indexes: " & vType.ToString)
Select Case (vType)
Case WMObjectVariableValueTypeBoolean
convertValue = CBool(value)
Case Else
LOGGER.Info(">> Typ des windream-Indexes ist nicht BOOLEAN also Abbruch:")
End Select
'############################################################################################
'####################### Der eigentliche Indexierungsvorgang ################################
oDocument.SetVariableValue(Indexname, convertValue)
LOGGER.Debug(">> Index '" & Indexname & "' wurde gesetzt")
oDocument.Save()
oDocument.unlock()
LOGGER.Info(">> DATEI wurde erfolgreich als fertig nachindexiert gekennzeichnet")
Else
LOGGER.Info(">> Dokument ist gesperrt, Indexierung erst im nächsten Durchlauf!")
End If
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("ClassSearchResult.SetfinalIndex - " & ex.Message, True)
'If My.Settings.vNIMailsenden = True Then
' email.Send_EMail("Fehler bei SetfinalIndex - Datei: " & oDocument.aName.ToString & " - Fehler: " & ex.Message)
'End If
oDocument.Save()
oDocument.unlock()
End Try
End Sub
#End Region
#Region "+++++ Allgemeine Funktionen die Informationen zurückliefern +++++"
Public Function Get_No_Documents(Profil As String, WD_Search As String)
Try
Dim wmsearch_exists As Boolean
Try
wmsearch_exists = System.IO.File.Exists(WD_Search)
Catch ex As Exception
LOGGER.Error(ex)
wmsearch_exists = clsWM.CheckFileExists(WD_Search)
End Try
If wmsearch_exists = False Then
LOGGER.Info(">> Windream Suche für Profil: '" & Profil & "' konnte nicht ausgeführt werden! Die Datei '" & WD_Search & "' existiert nicht!", False)
MsgBox("Windream Suche für Profil: '" & Profil & "' konnte nicht ausgeführt werden!" & vbNewLine & "Die Datei '" & WD_Search & "' existiert nicht!", MsgBoxStyle.Exclamation, "Achtung:")
'wenn die gesuchte File eine Suche ist: per MAil informierne und Indexierung abbrechen
'If My.Settings.vNIMailsenden = True Then
' email.Send_EMail("Fehler bei Nachindexierung: <br> >> Profil: " & Me.aktivesProfil.Profilname & "<br> >> die windream-Suche : " & Me.aktivesProfil.WindreamSuche & " konnte nicht gefunden werden!" & _
' "<br> >> Mögliche Fehlerursache: Das W-Laufwerk ist nicht verfügbar!")
'End If
Return 0
Else
' windream-Suche für Profil starten
Dim windreamSucheErgebnisse As WMObjects = Me.GetSearchDocuments(WD_Search)
If windreamSucheErgebnisse.Count > 0 Then
' neue Anzahl von Dateien
Return windreamSucheErgebnisse.Count
Else
' keine Dateien zum Importieren
Return 0
End If
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info(ex.Message)
Return 0
End Try
End Function
Public Function GetSearchDocuments(ByVal wdfLocation As String)
If clsWM.CheckFileExists(wdfLocation) = True Then
Try
Dim ProfileName = wdfLocation.Substring(wdfLocation.LastIndexOf("\") + 1)
Dim ProfilePath = wdfLocation.Substring(0, wdfLocation.Length - ProfileName.Length)
Me.oController.CheckSearchProfile(wdfLocation.ToLower)
Dim suchTyp = Me.oController.SearchProfileTargetProgID
Dim ExSettings As Object
Dim oSearch As Object
ExSettings = Me.oController.SearchProfileExSettings
If ExSettings = 0 Then ExSettings = 7
Dim srchQuick As WMOSRCHLib.WMQuickSearch = CreateObject("WMOSrch.WMQuickSearch")
Dim srchIndex As WMOSRCHLib.WMIndexSearch = CreateObject("WMOSrch.WMIndexSearch")
Dim srchObjectType As WMOSRCHLib.WMObjectTypeSearch = CreateObject("WMOSrch.WMObjectTypeSearch")
Select Case suchTyp.ToString.ToUpper
Case "WMOSRCH.WMQUICKSEARCH"
srchQuick.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
Me.oConnect.LoginSession(srchQuick.WMSession)
srchQuick.ClearSearch()
srchQuick.SearchProfilePath = ProfilePath
srchQuick.LoadSearchProfile(ProfileName)
oSearch = srchQuick.GetSearch()
Case "WMOSRCH.WMINDEXSEARCH"
srchIndex.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
Me.oConnect.LoginSession(srchIndex.WMSession)
srchIndex.ClearSearch()
srchIndex.SearchProfilePath = ProfilePath
srchIndex.LoadSearchProfile(ProfileName)
oSearch = srchIndex.GetSearch()
Case "WMOSRCH.WMOBJECTTYPESEARCH"
srchObjectType.WMSession = CreateObject("Windream.WMSession", Me.GetCurrentServer)
Me.oConnect.LoginSession(srchObjectType.WMSession)
srchObjectType.ClearSearch()
srchObjectType.SearchProfilePath = ProfilePath
srchObjectType.LoadSearchProfile(ProfileName)
oSearch = srchObjectType.GetSearch()
Case Else
LOGGER.Info("KEIN GÜLTIGER WINDREAM-SUCHTYP")
Return Nothing
End Select
Dim WMObjects As Object
WMObjects = oSearch.Execute
Return oSearch.execute
Catch ex As Exception
LOGGER.Error(ex)
' bei einem Fehler einen Eintrag in der Logdatei machen
LOGGER.Info("Fehler in GetSearchDocuments - " & ex.Message, True)
Return Nothing
End Try
End If
Return Nothing
End Function
''' Liefert den Wert eines Indexes als String
''' _indexname = Name des zu überprüfenden Indexfeldes
Public Function GetValueforIndex(ByVal _fullfilepath As String, _indexname As String)
Try
Const WMEntityDocument = 1
Dim IndexwertAusWindream As Object = Nothing
Dim _dok As WINDREAMLib.WMObject
_dok = Nothing
_dok = oSession.GetWMObjectByPath(WMEntityDocument, _fullfilepath) 'WINDREAMLib.WMEntity.WMEntityDocument
IndexwertAusWindream = _dok.GetVariableValue(_indexname)
Return IndexwertAusWindream.ToString
Catch ex As Exception
LOGGER.Error(ex)
'MsgBox(ex.Message)
Return Nothing
End Try
End Function
#End Region
End Class

View File

@ -1,408 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="BarButtonItem19.Caption">
<value>Cancel</value>
</data>
<data name="TabPageAfterIndex.Text">
<value>Actions after successful indexing:</value>
</data>
<data name="ACTIVECheckBox.Text">
<value>Active</value>
</data>
<data name="BarButtonItem1.Caption">
<value>Refresh</value>
</data>
<data name="BarButtonItem15.Caption">
<value>Refresh</value>
</data>
<data name="BarButtonItemRefreshProfileData.Caption">
<value>Refresh</value>
</data>
<data name="BarButtonItem10.Caption">
<value>Clear all workflow-items</value>
</data>
<data name="TabPage5.Text">
<value>General profile information:</value>
</data>
<data name="FINAL_PROFILECheckBox.Text">
<value>Alternative closing text?</value>
</data>
<data name="RibbonPageGroup3.Text">
<value>Edit-Mode</value>
</data>
<data name="TabPage7.Text">
<value>User</value>
</data>
<data name="colUSERNAME1.Caption">
<value>Username</value>
</data>
<data name="colUSERNAME.Caption">
<value>Username</value>
</data>
<data name="colDESCRIPTION1.Caption">
<value>Description</value>
</data>
<data name="DESCRIPTIONLabel.Text">
<value>Description:</value>
</data>
<data name="Label11.Text">
<value>Chart type:</value>
</data>
<data name="BarButtonItem25.Caption">
<value>Connections</value>
</data>
<data name="BarButtonItem11.Caption">
<value>Connections-Manager</value>
</data>
<data name="DISPLAY_MODELabel.Text">
<value>Display:</value>
</data>
<data name="RibbonPageGroup4.Text">
<value>Dashboard</value>
</data>
<data name="TabPage3.Text">
<value>Dashboard</value>
</data>
<data name="DISPLAY_MODEComboBox.Items2">
<value>Detail</value>
</data>
<data name="Label6.Text">
<value>These indices will be set after work area indices have been set.</value>
</data>
<data name="colPREVENT_DUPLICATES.Caption">
<value>Avoid duplicate values</value>
</data>
<data name="BarButtonItem26.Caption">
<value>Unlock/lock</value>
</data>
<data name="BarToggleSwitchItemEdit.Caption">
<value>Unlock/lock</value>
</data>
<data name="ADDED_WHENLabel.Text">
<value>Added When:</value>
</data>
<data name="ADDED_WHOLabel.Text">
<value>Added Who:</value>
</data>
<data name="colVALUE.Caption">
<value>Fixed value</value>
</data>
<data name="TabPage11.Text">
<value>Final Indices</value>
</data>
<data name="RibbonPageGroup2.Text">
<value>Final Indices</value>
</data>
<data name="BarButtonItem2.Caption">
<value>Designer Input</value>
</data>
<data name="CHANGED_WHENLabel.Text">
<value>Changed When:</value>
</data>
<data name="CHANGED_WHOLabel.Text">
<value>Changed Who:</value>
</data>
<data name="RibbonPageGroup5.Text">
<value>Basic Settings</value>
</data>
<data name="RibbonPage3.Text">
<value>Basic Settings</value>
</data>
<data name="TabPage8.Text">
<value>Groups</value>
</data>
<data name="BarButtonItem8.Caption">
<value>Add</value>
</data>
<data name="BarButtonItem16.Caption">
<value>Add</value>
</data>
<data name="WORK_HISTORY_ENTRYLabel.Text">
<value>History Entry:</value>
</data>
<data name="GridColumn1.Caption">
<value>Comment</value>
</data>
<data name="GridColumn3.Caption">
<value>Comment</value>
</data>
<data name="colCOMMENT1.Caption">
<value>Comment</value>
</data>
<data name="colCOMMENT.Caption">
<value>Comment</value>
</data>
<data name="GridColumn2.Caption">
<value>Shortname</value>
</data>
<data name="GridColumn4.Caption">
<value>Shortname</value>
</data>
<data name="Series4Type.Items1">
<value>Line</value>
</data>
<data name="Series3Type.Items1">
<value>Line</value>
</data>
<data name="Series2Type.Items1">
<value>Line</value>
</data>
<data name="Series1Type.Items1">
<value>Line</value>
</data>
<data name="BarButtonItem9.Caption">
<value>License-manager</value>
</data>
<data name="BarButtonItem24.Caption">
<value>License-manager</value>
</data>
<data name="BarButtonItem17.Caption">
<value>Delete</value>
</data>
<data name="BarButtonItem10.Hint">
<value>Deletes the workflow data until resync</value>
</data>
<data name="BarButtonItem6.Hint">
<value>Deletes the workflow data of the profile until resync</value>
</data>
<data name="TabPage12.Text">
<value>Post-processing functions</value>
</data>
<data name="colNAME3.Caption">
<value>Name</value>
</data>
<data name="colNAME2.Caption">
<value>Name</value>
</data>
<data name="colNAME5.Caption">
<value>Name</value>
</data>
<data name="colNAME4.Caption">
<value>Name</value>
</data>
<data name="colALLOW_NEW_VALUES.Caption">
<value>Allow new values</value>
</data>
<data name="SORT_BY_LATESTCheckBox.Text">
<value>Show latest documents first</value>
</data>
<data name="Label2.Text">
<value>Objecttype:</value>
</data>
<data name="BarButtonItem20.Hint">
<value>Opens the SQL Designer for the WorkflowOverview</value>
</data>
<data name="BarButtonItem21.Hint">
<value>Opens the SQL Editor for the SQL profile view</value>
</data>
<data name="lblPriority.Text">
<value>Priority</value>
</data>
<data name="BarButtonItem3.Caption">
<value>Copy Profile</value>
</data>
<data name="BarButtonItem5.Caption">
<value>Delete Profile</value>
</data>
<data name="BarButtonItem4.Caption">
<value>Delete Profile</value>
</data>
<data name="BarButtonItem6.Caption">
<value>Delete Profile Data</value>
</data>
<data name="colNAME.Caption">
<value>Profile Name</value>
</data>
<data name="NAMELabel.Text">
<value>Profile Name:</value>
</data>
<data name="BarButtonItem13.Caption">
<value>Profile overview SQL</value>
</data>
<data name="TabPage1.Text">
<value>Profile Administration</value>
</data>
<data name="$this.Text">
<value>Profile Administration</value>
</data>
<data name="RibbonPageGroupProfile.Text">
<value>Profile Administration</value>
</data>
<data name="TabPage2.Text">
<value>Profile-Relation</value>
</data>
<data name="BarButtonItem7.Caption">
<value>Save</value>
</data>
<data name="BarButtonItem18.Caption">
<value>Save</value>
</data>
<data name="BarButtonItem22.Caption">
<value>Save</value>
</data>
<data name="colSQL_COMMAND.Caption">
<value>SQL Command</value>
</data>
<data name="BarButtonItem21.Caption">
<value>SQL profile</value>
</data>
<data name="RibbonPage1.Text">
<value>Start</value>
</data>
<data name="btnWMopenSuche.Text">
<value>Test search</value>
</data>
<data name="TITLELabel.Text">
<value>Title:</value>
</data>
<data name="Label13.Text">
<value>Title:</value>
</data>
<data name="Label19.Text">
<value>Available Users:</value>
</data>
<data name="Label23.Text">
<value>Available Groups:</value>
</data>
<data name="colPRENAME1.Caption">
<value>Prename</value>
</data>
<data name="colPRENAME.Caption">
<value>Prename</value>
</data>
<data name="GroupBox3.Text">
<value>Select a folder where the file should be moved to after successful indexing:</value>
</data>
<data name="dlgWindreamsuche.Title">
<value>Select windream search</value>
</data>
<data name="dlgWindreamsuche.Filter">
<value>windream-Search|*.wdf|All Files|*.*</value>
</data>
<data name="Label20.Text">
<value>Related Users:</value>
</data>
<data name="Label22.Text">
<value>Related Groups:</value>
</data>
<data name="RibbonPageGroup1.Text">
<value>Profile</value>
</data>
</root>

View File

@ -1,408 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="BarButtonItem19.Caption">
<value>Annuler</value>
</data>
<data name="TabPageAfterIndex.Text">
<value>Actions après une indexation réussie:</value>
</data>
<data name="ACTIVECheckBox.Text">
<value>Actif</value>
</data>
<data name="BarButtonItem1.Caption">
<value>Rechargez</value>
</data>
<data name="BarButtonItem15.Caption">
<value>Rechargez</value>
</data>
<data name="BarButtonItemRefreshProfileData.Caption">
<value>Rechargez</value>
</data>
<data name="BarButtonItem10.Caption">
<value>Vider tous les workflows</value>
</data>
<data name="TabPage5.Text">
<value>Données générales du profil :</value>
</data>
<data name="FINAL_PROFILECheckBox.Text">
<value>Texte de conclusion alternatif ?</value>
</data>
<data name="RibbonPageGroup3.Text">
<value>Mode édition</value>
</data>
<data name="TabPage7.Text">
<value>Utilisateur</value>
</data>
<data name="colUSERNAME1.Caption">
<value>Nom d'utilisateur</value>
</data>
<data name="colUSERNAME.Caption">
<value>Nom d'utilisateur</value>
</data>
<data name="colDESCRIPTION1.Caption">
<value>Description</value>
</data>
<data name="DESCRIPTIONLabel.Text">
<value>Description:</value>
</data>
<data name="Label11.Text">
<value>Type de charte :</value>
</data>
<data name="BarButtonItem25.Caption">
<value>Connexions</value>
</data>
<data name="BarButtonItem11.Caption">
<value>Connections-Manager</value>
</data>
<data name="DISPLAY_MODELabel.Text">
<value>Présentation:</value>
</data>
<data name="RibbonPageGroup4.Text">
<value>Tableau de bord</value>
</data>
<data name="TabPage3.Text">
<value>Tableau de bord</value>
</data>
<data name="DISPLAY_MODEComboBox.Items2">
<value>Détail</value>
</data>
<data name="Label6.Text">
<value>Ces indices seront définis après que les indices de la zone de travail aient été définis.</value>
</data>
<data name="colPREVENT_DUPLICATES.Caption">
<value>Éviter les valeurs en double</value>
</data>
<data name="BarButtonItem26.Caption">
<value>Débloquer/bloquer</value>
</data>
<data name="BarToggleSwitchItemEdit.Caption">
<value>Débloquer/bloquer</value>
</data>
<data name="ADDED_WHENLabel.Text">
<value>Créé quand :</value>
</data>
<data name="ADDED_WHOLabel.Text">
<value>Créé qui :</value>
</data>
<data name="colVALUE.Caption">
<value>Valeur fixe</value>
</data>
<data name="TabPage11.Text">
<value>Index finaux</value>
</data>
<data name="RibbonPageGroup2.Text">
<value>Index finaux</value>
</data>
<data name="BarButtonItem2.Caption">
<value>Concepteur de formulaires</value>
</data>
<data name="CHANGED_WHENLabel.Text">
<value>Modifié Quand :</value>
</data>
<data name="CHANGED_WHOLabel.Text">
<value>Modifié Qui :</value>
</data>
<data name="RibbonPageGroup5.Text">
<value>Paramètres de base</value>
</data>
<data name="RibbonPage3.Text">
<value>Paramètres de base</value>
</data>
<data name="TabPage8.Text">
<value>Groupes</value>
</data>
<data name="BarButtonItem8.Caption">
<value>Ajoutez</value>
</data>
<data name="BarButtonItem16.Caption">
<value>Ajoutez</value>
</data>
<data name="WORK_HISTORY_ENTRYLabel.Text">
<value>Entrée de l'histoire :</value>
</data>
<data name="GridColumn1.Caption">
<value>Commentaire</value>
</data>
<data name="GridColumn3.Caption">
<value>Commentaire</value>
</data>
<data name="colCOMMENT1.Caption">
<value>Commentaire</value>
</data>
<data name="colCOMMENT.Caption">
<value>Commentaire</value>
</data>
<data name="GridColumn2.Caption">
<value>Nom court</value>
</data>
<data name="GridColumn4.Caption">
<value>Nom court</value>
</data>
<data name="Series4Type.Items1">
<value>Ligne</value>
</data>
<data name="Series3Type.Items1">
<value>Ligne</value>
</data>
<data name="Series2Type.Items1">
<value>Ligne</value>
</data>
<data name="Series1Type.Items1">
<value>Ligne</value>
</data>
<data name="BarButtonItem9.Caption">
<value>Administration des licences</value>
</data>
<data name="BarButtonItem24.Caption">
<value>Administration des licences</value>
</data>
<data name="BarButtonItem17.Caption">
<value>Supprimez</value>
</data>
<data name="BarButtonItem10.Hint">
<value>Supprime les données du workflow jusqu'à la resynchronisation</value>
</data>
<data name="BarButtonItem6.Hint">
<value>Supprime les données de workflow du profil jusqu'à la resynchronisation</value>
</data>
<data name="TabPage12.Text">
<value>Fonctions de post-traitement</value>
</data>
<data name="colNAME3.Caption">
<value>Nom</value>
</data>
<data name="colNAME2.Caption">
<value>Nom</value>
</data>
<data name="colNAME5.Caption">
<value>Nom</value>
</data>
<data name="colNAME4.Caption">
<value>Nom</value>
</data>
<data name="colALLOW_NEW_VALUES.Caption">
<value>Autoriser de nouvelles valeurs</value>
</data>
<data name="SORT_BY_LATESTCheckBox.Text">
<value>Afficher les documents les plus récents en premier</value>
</data>
<data name="Label2.Text">
<value>Type d'objet:</value>
</data>
<data name="BarButtonItem20.Hint">
<value>Ouvre le SQL Designer pour le WorkflowOverview</value>
</data>
<data name="BarButtonItem21.Hint">
<value>Ouvre l'éditeur SQL pour la vue du profil SQL</value>
</data>
<data name="lblPriority.Text">
<value>Priorité</value>
</data>
<data name="BarButtonItem3.Caption">
<value>Copier le profil</value>
</data>
<data name="BarButtonItem5.Caption">
<value>Supprimer le profil</value>
</data>
<data name="BarButtonItem4.Caption">
<value>Supprimer le profil</value>
</data>
<data name="BarButtonItem6.Caption">
<value>Supprimer les données du profil</value>
</data>
<data name="colNAME.Caption">
<value>Nom du profil</value>
</data>
<data name="NAMELabel.Text">
<value>Nom du profil</value>
</data>
<data name="BarButtonItem13.Caption">
<value>Aperçu du profil SQL</value>
</data>
<data name="TabPage1.Text">
<value>Gestion des profils</value>
</data>
<data name="$this.Text">
<value>Gestion des profils</value>
</data>
<data name="RibbonPageGroupProfile.Text">
<value>Gestion des profils</value>
</data>
<data name="TabPage2.Text">
<value>Affectation des profils</value>
</data>
<data name="BarButtonItem7.Caption">
<value>Sauvez</value>
</data>
<data name="BarButtonItem18.Caption">
<value>Sauvez</value>
</data>
<data name="BarButtonItem22.Caption">
<value>Sauvez</value>
</data>
<data name="colSQL_COMMAND.Caption">
<value>Commande SQL</value>
</data>
<data name="RibbonPage1.Text">
<value>Démarrer</value>
</data>
<data name="btnWMopenSuche.Text">
<value>Tester la recherche</value>
</data>
<data name="TITLELabel.Text">
<value>Titre :</value>
</data>
<data name="Label13.Text">
<value>Titre :</value>
</data>
<data name="Label19.Text">
<value>Utilisateurs disponibles :</value>
</data>
<data name="Label23.Text">
<value>Groupes disponibles :</value>
</data>
<data name="colPRENAME1.Caption">
<value>Prénom</value>
</data>
<data name="colPRENAME.Caption">
<value>Prénom</value>
</data>
<data name="GroupBox3.Text">
<value>Sélectionnez ici un dossier dans lequel le fichier doit être déplacé après une indexation réussie :</value>
</data>
<data name="dlgWindreamsuche.Title">
<value>Choisir la recherche windream</value>
</data>
<data name="dlgWindreamsuche.Filter">
<value>windream-recherche|*.wdf|Tous Fichiers|*.*</value>
</data>
<data name="Label20.Text">
<value>Utilisateurs affectés :</value>
</data>
<data name="Label22.Text">
<value>Groupes affectés :</value>
</data>
<data name="RibbonPageGroup1.Text">
<value>Profil</value>
</data>
<data name="BarButtonItem21.Caption">
<value>Profil SQL</value>
</data>
</root>

View File

@ -1,52 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmChat_NewConversation
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.ChatNewConv1 = New DigitalData.Controls.ChatNewConv.ChatNewConv()
Me.SuspendLayout()
'
'ChatNewConv1
'
Me.ChatNewConv1.Font = New System.Drawing.Font("Tahoma", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.ChatNewConv1.Location = New System.Drawing.Point(2, 1)
Me.ChatNewConv1.Name = "ChatNewConv1"
Me.ChatNewConv1.Size = New System.Drawing.Size(463, 472)
Me.ChatNewConv1.TabIndex = 0
'
'frmChat_NewConversation
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(474, 480)
Me.Controls.Add(Me.ChatNewConv1)
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "frmChat_NewConversation"
Me.Text = "Neue Konversation"
Me.ResumeLayout(False)
End Sub
Friend WithEvents ChatNewConv1 As DigitalData.Controls.ChatNewConv.ChatNewConv
End Class

View File

@ -1,24 +0,0 @@
Public Class frmChat_NewConversation
Public Property NewConversation() As String
Get
Return oNewConversation
End Get
Set(value As String)
oNewConversation = value
End Set
End Property
Public oNewConversation As Long
Public Sub New(oDTUsers As DataTable, oDTGroups As DataTable)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
ChatNewConv1.Init(LOGCONFIG, CONNECTION_STRING_IDB, CURRENT_DOC_ID, USER_ID, USER_USERNAME, USER_LANGUAGE, oDTUsers, oDTGroups)
AddHandler ChatNewConv1.Conversation_Created, AddressOf onConversationCreated
End Sub
Sub onConversationCreated()
CURRENT_CONVERSATION_NEW = ChatNewConv1.NewConversation
Me.Close()
End Sub
End Class

View File

@ -1,58 +0,0 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmDocView
Inherits System.Windows.Forms.Form
'Das Formular überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
components.Dispose()
End If
Finally
MyBase.Dispose(disposing)
End Try
End Sub
'Wird vom Windows Form-Designer benötigt.
Private components As System.ComponentModel.IContainer
'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich.
'Das Bearbeiten ist mit dem Windows Form-Designer möglich.
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmDocView))
Me.DocumentViewer1 = New DigitalData.Controls.DocumentViewer.DocumentViewer()
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
Me.SuspendLayout()
'
'DocumentViewer1
'
Me.DocumentViewer1.Dock = System.Windows.Forms.DockStyle.Fill
Me.DocumentViewer1.Location = New System.Drawing.Point(0, 0)
Me.DocumentViewer1.Name = "DocumentViewerfrmDocView"
Me.DocumentViewer1.Size = New System.Drawing.Size(800, 450)
Me.DocumentViewer1.TabIndex = 0
'
'Timer1
'
Me.Timer1.Interval = 1000
'
'frmDocView
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(800, 450)
Me.Controls.Add(Me.DocumentViewer1)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.Name = "frmDocView"
Me.Text = "DocumentViewer"
Me.ResumeLayout(False)
End Sub
Friend WithEvents DocumentViewer1 As DigitalData.Controls.DocumentViewer.DocumentViewer
Friend WithEvents Timer1 As Timer
End Class

View File

@ -1,573 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAgAMDAAAAEACACoDgAAhgAAACAgAAABAAgAqAgAAC4PAAAYGAAAAQAIAMgGAADWFwAAEBAAAAEA
CABoBQAAnh4AADAwAAABACAAqCUAAAYkAAAgIAAAAQAgAKgQAACuSQAAGBgAAAEAIACICQAAVloAABAQ
AAABACAAaAQAAN5jAAAoAAAAMAAAAGAAAAABAAgAAAAAAAAJAAAAAAAAAAAAAAABAAAAAQAAAAAAAEtL
SwBiY2QAZGVmAGdnaABoaGkAbW1tAHBwcgBzc3QAdXV2AHd3eQB5eXoAenp8AH19fQCWfWkAmYBqAJCC
dQCbiXgAoox3AKiRegCxmH8AgIGBAIKDhACEg4QAhoWFAIeHiACIh4gAiomKAIuKjACOjo4AkoqBAJqN
gQCOj5AAkZCRAJaTkwCSkpQAlJSUAJyXkgCbmJYAlpaYAJmZmQCdm5sAn5yZAJuanQCdnZ4Ap5eHAKqT
gACunY0AsZmGALuehACknJUApJ6aAKCengCln5wAvqKIAKCgnwCupJkAtaaYALGnnwCfoKAAoKGgAKOk
pAClpaUAqaamAKuopwCnp6gAqaipAK2trQCxqKEAs6iqALKvqwCwr68Atq2vAL21rwCvr7AAsK+xALqu
sgCvsLEAsLCxALO0tQC0tbYAurCyALq1sAC6srUAvbO1ALq4tAC6t7kAubm6ALy5uAC/vLsAu7u8AL68
vADCp5IAzrCTAMywlQDHsJsAwLKmANO5owDcv6cAw7y1AMG5uwDFur0Awb29AN3BpgDPxLcAxMC7AMjA
uQDMxb8A2sOyAOPErwDkya8A7cyrAOHBuADixbkA68u9AOfQtgDu1LoA99e5APjXugD12LsA9dm8APrY
uQD62r0Awr7AAMLCwgDFwMIAxMPEAMTExADKxcUAzsnDAMvJxwDHx8gAyMjJAM3KyADLzM0Azc3NANbK
wgDUy8QA1c7GANPJzADQzs0A39DBANnRyADc0MgA3NTNANDR0QDT09QA1tXVANrR0wDf19oA2NnaAN7a
2wDe3t4A48bAAOPOwwDlz8oA5s/MAOHVzgDi2c4A7NvKAPPXxgDy2cAA9drBAPPcwwDy3MUA9t3FAPrd
wQD63sQA89bIAPPfygD038oA+NrIAOXc1gDg398A7t/fAPDS1ADy2dkA++DGAPbgyQD14s4A+eDJAP3i
ygD95MsA+uPMAPzjzAD75c4A/OXNAO/j1gDp4toA7OPeAPXi0ADz5NQA9ebWAPvm0QD66NMA/OjRAPro
1gD86NYA9uHZAPPm2gD16NoA8+jeAPfq3QD66dkA+erdAPns3gDe3+AA897hAOHg4ADk4uMA4+PkAOXj
5QDj5OUA5eXmAOji5QDq5ucA6ejnAOnp6QDr6+wA6+ztAO3t7gD24eAA9evhAPXs4QDx6+UA9+jmAPDs
5gD27uUA+OzhAPnu5QD16ugA8+/rAPXv6AD58OcA9vHqAPjw6AD58uwA7u/wAO/w8QDx8vIA9vPwAPLz
9ADz9PUA9fX2APjy8AD59PEA+Pb0APb3+AD49/gA9/j4APn5+gD6+/wA+/z9AP7+/gAAAAAA////AAAA
AAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPDcGAQYMAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABW0SBCDCCE0fP4+Pj4+Pj4+Pj4+Pj4
+Pj4+Pj4+Pj4+Pj4+Pj4AAAAAAAAAAAAAAB9lZgWQgk8hNvz+Pj4+Pjz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz
8/P4AAAAAAAAAAAAAAAATNZ9IDwLTpPz8/j4+Pj48/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P4AAAAAAAAAAAA
AAAAAEXWRycnFlaY7vf4+PL3+PPz8/Pz8/Pz8/Pz8/Pz8/Pz8/P4AAAAAAAAAAAAAAAAAFdR0TcmDCCD
0fP48vf3+Pjz8/Pz8/Pz8/Pz8/Pz8/Pz8/P4AAAAAAAAAAAAAAAAAIR9ZdEaPAk8ktv48vf3+Pj39/P3
8/fz9/P38/fz9/Pz8/P4AAAAAAAAAAAAAAAAAJLzZWWYHTcKSpbu9/f3+Pj4+Pfz8/P38/Pz9/Pz8/Pz
8/P4AAAAAAAAAAAAAAAAAIT621GLZScVGXzR9/f3+PL3+Pj48/fz8/P38/Pz9/P38/P3AAAAAAAAAAAA
AAAAAIT6+ttIkj8gBjyR2/ju9+7u29vu9/Pz8/Pz8/P38/Pz9/P3AAAAAAAAAAAAAAAAAJL6+vrRUZQ0
GgpNg5GDTTwsPE59ltvu8/P38/fz8/P38/P3AAAAAAAAAAAAAAAAAIT6+vr60VGCJwYGFQoGCgoKBgMH
IFCY2/Pz8/Pz8/fz8/P3AAAAAAAAAAAAAAAAAJH6+vr6+ttkVxYJIE5ripGOi2k8BQYnhNHz8/fz9/Pz
8/P3AAAAAAAAAAAAAAAAAIT6+vr6+vh7PEhOj7zi8Pj46Ly8gScCIH3R9/Pz8/Pz8/f4AAAAAAAAAAAA
AAAAAJH6+vr6+tssJ2Os4vDs7Pjs+PDmro9CAieH2/jz9/P38/P3AAAAAAAAAAAAAAAAAIT6+vr694Qn
a7zi4uXs7Ozs7PDw4s+dPAVCmO739/Pz9/P3AAAAAAAAAAAAAAAAAJH6+vr60TdHnsnJzeXl5enp6eXi
5eKwiQ0MhNvz9/fz8/f4AAAAAAAAAAAAAAAAAIT6+vr3hDdou8fJzeXl5eXl5enp4uXdnFgDVpjz9/j3
8/P3AAAAAAAAAAAAAAAAAJH6+vrzNzSNu7vF5c3NzeXN5c3l5eLlr48HJ5Hz+Pj49/P3AAAAAAAAAAAA
AAAAAIT6+vrbIDifvr7Nzc3Nzc3Nzc3Nzc3isJs3Fobu9/j4+Pf4AAAAAAAAAAAAAAAAAJL6+vrbGjmq
qrPNxM3FxcXFzcXNzc3Nx5lXDITz8/j48vf4AAAAAAAAAAAAAAAAAIT6+vrYGi+zor7NxcXFxcXFxc3F
zc3NxnBlCYTz8/jy9/f4AAAAAAAAAAAAAAAAAJL6+vrbIC2hor7Exc3FxcXFxcXNzc3NxnBlDJLz8/f3
9/f4AAAAAAAAAAAAAAAAAIT6+vrmJx9uenV1dXp6pqa0tLS0tKqzoHFHIJbz9/f39/f4AAAAAAAAAAAA
AAAAAJL6+vr3PB5eob60pnp6enp6enq0tL7EqJogPNvz9/f39/f4AAAAAAAAAAAAAAAAAIT6+vr3VyYT
b77Fvrq+vrq+usXFxcXEcokJffP39/f39/f4AAAAAAAAAAAAAAAAAJL6+vr60UcQMXrFur66tLq+ur66
xcWqbDcn2/P39/f39/f3AAAAAAAAAAAAAAAAAIT6+vr6+n1FD13Furq+tLS6urrFxb5tSRZ98/r39/f3
9/f3AAAAAAAAAAAAAAAAAJL6+vr6+tg8Mg9fo7q2tra0urrFoWdgIE7z9/r6+vf39/f3AAAAAAAAAAAA
AAAAAIT6+vr6+vrRTTQRE2FzprS2tHRnXDonUfP3+vr6+vr39/f3AAAAAAAAAAAAAAAAAJL6+vr6+vr6
0T81OBISFDExMTA5NyBX8/f3+vr6+vr69/f3AAAAAAAAAAAAAAAAAIT6+vr6+vr6+vORPDwmMjIyJiYg
V9j4+vr6+vr6+vr6+vf3AAAAAAAAAAAAAAAAAJL6+vr6+vr6+vr699GTgYGBh9Ht+vr6+vr6+vr6+vr6
+vr3AAAAAAAAAAAAAAAAAIT6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vP3AAAAAAAAAAAA
AAAAAJL6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr68/PzAAAAAAAAAAAAAAAAAIT6+vr6+vr6
+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vrz89vmAAAAAAAAAAAAAAAAAJL6+vr6+vr6+vr6+vr6+vr6+vr6
+vr6+vr6+vr6+vPz25iEAAAAAAAAAAAAAAAAAIT6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6TUdHQk5C
R4QgAAAAAAAAAAAAAAAAAJL6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6Tfr6+vPRkjcAAAAAAAAAAAAA
AAAAAIT6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vr6Tvr6+NGSNwAAAAAAAAAAAAAAAAAAAJL6+vr6+vr6
+vr6+vr6+vr6+vr6+vr6+vr6TvrzvJFBAAAAAAAAAAAAAAAAAAAAAIT6+vr6+vr6+vr6+vr6+vr6+vr6
+vr6+vr6R9vRkUEAAAAAAAAAAAAAAAAAAAAAAJL6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+vjzR9GSPAAA
AAAAAAAAAAAAAAAAAAAAAIT6+vr6+vr6+vr6+vr6+vr6+vr6+vr6+PPYR5JBAAAAAAAAAAAAAAAAAAAA
AAAAAJL6+vr6+vr6+vr6+vr6+vr6+vr6+vr689utg0IAAAAAAAAAAAAAAAAAAAAAAAAAAIT6+vr6+vr6
+vr6+vr6+vr6+vr6+vr48/OBNwAAAAAAAAAAAAAAAAAAAAAAAAAAAJiSk5iSkpiSk5iSkpiSk5iSkpiS
k5OTkpMAAAAAAAAAAAAAAAAAAAAAAP7//////wAA+B//////AADwAAAAAH8AAPAAAAAAfwAA+AAAAAB/
AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwA
AAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/
AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwA
AAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/
AAD8AAAAAH8AAPwAAAAAfwAA/AAAAAB/AAD8AAAAAH8AAPwAAAAA/wAA/AAAAAH/AAD8AAAAA/8AAPwA
AAAH/wAA/AAAAA//AAD8AAAAH/8AAPwAAAA//wAA/AAAAH//AAD8AAAB//8AACgAAAAgAAAAQAAAAAEA
CAAAAAAAAAQAAAAAAAAAAAAAAAEAAAABAAAAAAAAVlZWAFxcXABhYGAAZWVlAGRmaABqamoAamttAG9v
bwBrbXAAbW5wAHFxcQBwc3QAdHR0AHV2eQB3eXoAenx9AH9/fwCAfn8Af4CAAIOEhACFhIQAiYeEAIqJ
hwCPioUAiomKAI2KiACTjIUAkY+OAJKQjgCUkY4AmZKOAJqUjgCRkZEAmZWRAJmTlgCZl5QAm5eZAJiY
mACdnp4AqJuOAKCgnwCpopkAtqiWALOomAC3qp0AvK2dAKSdoACloKIAoKKlAKenpwCro6YAqaamAKqo
pQCnp6gAraaoAKeoqQCpqakAr6mqAK2trgCvsbMAsbGyALW2tgC5trYAtre4ALm4uQC8ursAu7u9AL29
vQDCq5YAzb2tANC/qwDSv64Awr25AMG8vgDJwLYA0MG0ANrHtADcx7QA3smzAN3NvgDjzrkA69C1AOTR
vgDv1rwA8tO2APnWtgD617kA9Ni7AP3auQDCwsMAxcXGAMnJyQDMyMoAzc3NANHNzwDNztAAz9DQANHR
0QDT09QA1dbWANra2gDc3d0A59nKAOvdzgD73MAA/d3AAP3fxADh2tMA/ODHAPzhyQD948wA++TPAPzk
zQDv4dMA5+DbAO/n3wD65tEA/OXRAPzn1QD66NcA/OjVAPfr3wD76tsA/erZAPrt3gD97N0A/vDeAN/g
4ADh4eEA4+PkAOTk5ADn5+gA6erqAOvs7ADt7u4A+u3iAPzu4QD87+QA/vHiAPvw5gD98OUA+/PrAP3y
6QD99OoA+vPsAPn07gD89e0A7/DwAPDx8QD19vYA+vXwAPj39QD7+PMA9/j4APn5+QD7/PwA/f39AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAADASDQERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJUpCDRRhlJqampqampqampqampqampqa
mpoAAAAAAAAAMF8wBSlkmpqampqampqampqampqampqamgAAAAAAAAAAI2ImAz6Ampqampqampqampqa
mpqampqaAAAAAAAAAABCL10UCFuUmpqampqampqampqampqalJoAAAAAAAAAAGRbM0oGGWGampqampqa
mpqampqampqamgAAAAAAAAAAZJpCMzkCOYCUlICAgICUmpqampqampqaAAAAAAAAAABkmppCOhkDOSEG
AwcROV2AlJqampqampoAAAAAAAAAAGSamppKMxEFNWRzbEoXD0JklJqampqamgAAAAAAAAAAZJqampoG
P3SXmpqajnpLDECAmpqampqaAAAAAAAAAABkmpqaPiN6jpeXjo6OiH1MD1uUmpqampoAAAAAAAAAAGSa
mpoRZ4iIjI6Zl46MfXYqJoCampqamgAAAAAAAAAAZJqaWyp4eH2Il46OjIh9dk4UXZqampqaAAAAAAAA
AABkmpo5RnZxdo6OjoyMiH14VBlCmpeampoAAAAAAAAAAGSamjZOcW1xfYyOjIiMfX1WIEKampqamgAA
AAAAAAAAZJqaNkhram1xcXh9jH19fVUjXJqampqaAAAAAAAAAABkmpo+LGpqbY52cW1rcXZ4Tylkmpqa
mpoAAAAAAAAAAGSammQYUllrjoyIfXFta2ouNZSampqamgAAAAAAAAAAZJqahTkrVmqMjIyMiIx/Tx6A
mpqampqaAAAAAAAAAABkmpqahBhFVH+TjoyTf1MgQJqampqampoAAAAAAAAAAGSampqahBwoR2dyaFAu
HkKampqampqamgAAAAAAAAAAZJqampqamjkjGyAkHjKAmpqampqampqaAAAAAAAAAABkmpqampqampqa
mpqampqampqampqamoAAAAAAAAAAAGSampqampqampqampqampqampqaZmRKPwAAAAAAAAAAZJqampqa
mpqampqampqampqaQjo5Mz1BAAAAAAAAAABkmpqampqampqampqampqamppdmpqEQTkAAAAAAAAAAGSa
mpqampqampqampqampqammKZlFsAAAAAAAAAAAAAZJqampqampqampqampqampqaZIRbAAAAAAAAAAAA
AABkmpqampqampqampqampqampRKWwAAAAAAAAAAAAAAAGSampqampqampqampqampqaZlo+AAAAAAAA
AAAAAAAAZIBkgGSAZIBkgGSAZIBkgGRfAAAAAAAAAAAAAP/////B////wAAAD+AAAA/wAAAP8AAAD/AA
AA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AA
AA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAD/wAAB/8AAA//AAAP/wAAP/KAAAABgAAAAwAAAAAQAIAAAA
AABAAgAAAAAAAAAAAAAAAQAAAAEAAAAAAACBgYEAjYuIAI6MiACLjIwAjY2MAJWVlQCZmZkAnp6eAKWf
mgCloJkApKGeALSpnQChoqIApKOgAK+qpACpqakArKysALesogCzraYAta+qALmwpwC3s64AubCoALiy
rAC4tK8At7SxALS0tAC9vb0A1sCrANfBrADKxb8A1se4AN7NvQDx0rMA8ti/AMHCwgDHxcMAysXAAMbG
yADPz88A2tLJAN7WzwDR0dEA2draANvc3ADg0MAA4dfMAPHZwgD938AA/uHDAP3hxAD85c4A9OPRAPTm
1wD859IA++jVAP3p1QDx59wA8ujfAPvr2gD869oA/uzZAPvs3QD87d0A4ODgAO7u7gD67uAA/e/hAP7w
4QD98eUA/fPpAP706wD+9ewA9fb2APf4+AD5+voA+/z8AP7+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwUAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABRwBJEpKSkpKSkpKSkpKSkpKSgAAAAAAAAUcBSRKSkpKSkpKSkpKSkpKSgAA
AAAAAAABHAUsSkpKSkpKSkpKSkpKSgAAAAAAAAAQBRwGLEpKSkpKSkpKSkpKSgAAAAAAAAAoLAYQDSxL
S0tLS0tLS0tLSwAAAAAAAAAoSywNBwcaDgUFDSVKS0tLSwAAAAAAAAAoTEwsBwUWKjs6KhMWS0xMTAAA
AAAAAAAoTExMFhZDQz8/NzgTJUxMTAAAAAAAAAAoTExMCS9DPz84ODggDktMTAAAAAAAAAAoTExMBTY/
Pz8/PzgwA0xMTAAAAAAAAAAoTExMAjY0RkdGRkYjA0xMTAAAAAAAAAAoTExMCSEyP0dHR0YuE0xMTAAA
AAAAAAAoTExMHxIxMjhGODIMH0xMTAAAAAAAAAAoTExMTBYMHiIiHgwVTExMTAAAAAAAAAArTExMTEwl
CgMDDh9MTExMTAAAAAAAAAArTExMTExMTExMTExMTEpBKwAAAAAAAAArTExMTExMTExMTEwcGhoaGwAA
AAAAAAArTExMTExMTExMTEwaTExBJAAAAAAAAAArTExMTExMTExMTEwbTEEkAAAAAAAAAAArTExMTExM
TExMTEwcQSQAAAAAAAAAAAArTExMTExMTExMTEEnHAAAAAAAAAAAAAArKysrKysrKysrKyscAAAAAAAA
AAD///8An///AIAADwDAAA8A4AAPAOAADwDgAA8A4AAPAOAADwDgAA8A4AAPAOAADwDgAA8A4AAPAOAA
DwDgAA8A4AAPAOAADwDgAA8A4AAPAOAAHwDgAD8A4AB/AOAA/wAoAAAAEAAAACAAAAABAAgAAAAAAAAB
AAAAAAAAAAAAAAABAAAAAQAAAAAAAHl5eQCDg4MAhoaGAJCQkACUlJQAm5ubAJ2dnQClnZIApp+XAKSh
ngCpopkAoaGhAKWlpQCoqKcAq6usAK2trQC2rqUAuK2hALmvpAC2sKoAt7KuALiwqAC8tKsAsrKyALW1
tQC7t7MAvrixALm5uQC9vb0AwLOmAMa3pwDHvbIA3MizAODJsgDn0LkA4dC/APPYvgDAwMAAxcXFAMrK
ygDf2dMA39vXAOHQwADm2MoA8dnAAPPeyQDh29YA6t7RAOHd2QD04MsA/ePKAOjj3gDp5N4A/OjUAPLl
2AD15tgA8+jcAPrp2QD969kA/OzaAPnr3AD77d4A/e3dAN/f4ADi4eIA5eXmAO3r6gDs7OsA7uzsAP7x
4wD98uYA8fDxAPLy9ADz9PUA9fX2APf3+AD3+PkA+fn6APv7/AD7/PwA/v7+AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA////AAwMAQEBAQEBAQEBAQEBAQAMDAFBSUlJSUlMSU5MTgMAAAwHD0FJ
SUlMSU5JTk4EAAAAAwwYQUVFRUlJTk5OBwAAAAwYBAwVFRMbMUxOTg8AAAAPQQwgMDk3LCAxTk4QAAAA
GEUVMD8/NjYrFE5OGAAAABhFEzg/Pz8/LglOThgAAAAYRRMyP0dHRzILTk4cAAAAHEgVIzM/Rz8kG05O
HAAAABxJMB8iJSUiEzVOThwAAAAcTkkwEQgIFDVORUEcAAAAHE5OTk5OTk5OHBwcHAAAACZOTk5OTk5O
TihJHAAAAAAmTk5OTk5OTk4oHAAAAAAAJiYmJiYmJiYmJgAAAAAAAQAAAAEAAIABAADAAQAAwAEAAMAB
AADAAQAAwAEAAMABAADAAQAAwAEAAMABAADAAQAAwAMAAMAHAADADwAAKAAAADAAAABgAAAAAQAgAAAA
AACAJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB/fH0DUE9QOSUlJXYGBgaAAAAAXgAA
AEMMDAwuAgICKAAAACcAAAAnAAAAJwAAACcAAAAnAAAAJwAAACcAAAAnAAAAJwAAACcAAAAnAAAAJwAA
ACcAAAAnAAAAJwAAACcAAAAnAAAAJwAAACcAAAAnAAAAJwAAACcAAAAnAAAAJwAAACcAAAAnAAAAJwAA
ACcAAAAnAAAAHQAAAAoAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RDkI+Q2Jyc
nPVbW1vgAgICtQAAAJcCAgKDAwMDeQAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA
AHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAAAHYAAAB2AAAAdgAA
AHYAAAB2AAAAdgAAAHYAAABvAAAATQAAABsAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AACgnJ+45OPj/4+Pj/+qqar/f35+/46Oj//Jycn/5eXm//X19v/39/j/9/f4//f3+P/39/j/9/f4//f3
+P/39/j/9/f4//f3+P/39/j/9/f4//f3+P/39/j/9/f4//f3+P/39/j/9/f4//f3+P/39/j/9/f4//f3
+P/39/j/9/f4//f3+P/39/j/9/f4//f3+P/39/j/AAAAZwAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAACglpqY39fa/t/d3v+Eg4T/qqmp/3Z1df+hoaH/zc3O/+jp6v/19vf/9vf4//b3
+P/29/j/9vf4//b3+P/29vf/9vb3//X29//19vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X2
9//19vf/9fX2//T19v/09fb/9PX2//T19v/09fb/9PX2//T19v/39/j/AAAAaAAAACMAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZkpUusKOn3uji5f/Ew8T/iomK/6emp/91dXb/sLCx/9XW
1//w8fL/9vf4//b3+P/29/j/9vf4//b3+P/29/j/9vb3//b29//19vf/9fb3//X29//19vf/9fb3//X2
9//19vf/9fb3//X29//19vf/9fb3//X19v/09fb/9PX2//T19v/09fb/9PX2//T19v/39/j/AAAAaAAA
ACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACNiYsBkoqNSrOoqv/q5uf/sK+v/5WV
lf+VlJT/gYGB/7i4uf/e3+D/8fLz//b3+P/29/j/9vf4//b3+P/29/j/9vf4//b29//29vf/9fb3//X2
9//19vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X29//19vf/9fX2//T19v/09fb/9PX2//T1
9v/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjoqNAbu4
uv+6sLL/5eLj/52bm/+dnJ3/fn5+/4+PkP/IyMj/5OTl//T19v/29/j/9vf4//b3+P/29/j/9vf4//b3
+P/29/f/9vb3//b29//19vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X1
9v/09fb/9PX2//T19v/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAM3Nzf/EwMP/xLq8/+bk5f+Hhob/pKSk/25vb/+oqKj/0NDR/+zs7f/19vf/9vf4//b3
+P/29/j/9vf4//b3+P/29/j/9vf4//b29//29vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X2
9//19vf/9fb3//X29//19fb/9PX2//T19v/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/y8vP/w77A/8e7vv/e2tv/j46O/5+fn/91dXb/r6+w/9jY
2f/x8fL/9vf4//b3+P/29/j/9vf4//b3+P/29/j/9vf4//b3+P/29vf/9vb3//X29//19vf/9fb3//X2
9//19vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X19v/39/j/AAAAaAAAACMAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/4+Pn/6+vs/7qztv/Tycz/v7y8/5OS
k/+AgYL/h4eI/8LCw//k5OX/9fX2//f3+P/29/j/9vf4//b3+P/29/j/9vf4//b3+P/29/j/9vb3//b2
9//29vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X29//39/j/AAAAaAAA
ACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/4+Pn/+Pj5/+3t
7v+2ra//2tHT/6mmpv+Pj4//b29v/6Chof/Q0dL/6urr//b29//29vf/9PX2//Hy8//t7u//7O3u/+7v
8P/y8/T/9PX2//X29//29vf/9vb3//X29//19vf/9fb3//X29//19vf/9fb3//X29//19vf/9fb3//X2
9//39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7O
zv/4+fr/+Pj5//j4+f/m5ef/u7K1/9vS0/+hnp//h4aH/3V1dv+vsLH/y8zN/9HR0v/ExMT/sLCx/6Ch
of+dnp//o6Sk/7Gxsv/Cw8P/2drb/+bn5//w8fL/9fX2//b29//19vf/9fb3//X29//19vf/9fb3//X2
9//19vf/9fb3//X29//39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAM7Ozv/4+fr/+Pn6//j4+f/39/j/5ePl/72ztf/KxMX/lpOT/2xsbP9sbW3/gICB/3V2
d/9sbG7/dXV2/3p6fP93d3n/aWlr/2NjZf9ub2//jo6P/7i5uv/Y2dr/6+zt//Pz9P/29vf/9vb3//X2
9//19vf/9fb3//X29//19vf/9fb3//X29//39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/4+fr/+Pn6//j5+v/4+Pn/+Pj5/+rp6v/Bubv/vry8/4eH
iP9xcXP/i4mM/7q1sv/Mxb//1s/G/9nQyP/Y0cj/1M3H/8TAu/+lpaT/Z2do/2xsbf+UlZX/zc3O/+Tl
5v/z8/T/9vb3//b29//19vf/9fb3//X29//19vf/9fb3//X29//39/j/AAAAaAAAACMAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/4+fr/+Pn6//j5+v/4+fr/+Pn6//j4
+f/Bv8H/n6Ch/7Cvsf+6tbD/2tLK/+ji2v/w7Ob/9vPw//n4+P/49vT/8+/r/+zj3v/m3Nf/zsnD/5aV
lP9kZGX/jo6P/8TFxf/j5OX/9PX2//b29//29vf/9fb3//X29//19vf/9fb3//X29//39/j/AAAAaAAA
ACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/5+fr/+Pn6//j5
+v/4+fr/+Pn6/+7v7/+enp//lpaZ/8O8tf/k3dX/8evl//fy6//58uz/+fTw//v28v/69fL/+fTw//jy
8P/16un/7t/f/9zUzf+rqKf/YmNk/5WVlv/Nzc7/7O3u//X29//29vf/9vb3//X29//19vf/9fb3//X2
9//39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7O
zv/5+fr/+fn6//n5+v/4+fr/9vf3/8jIyf+XlZj/yMC5/+rj2//17OT/9ezj//fv5//58ev/+fLs//ny
7P/58uz/+fLs//fx6//28ev/9uro//Pe4f/h1c7/o6Oi/2ZmZ/+qqqv/2drb//Hy8//29/j/9vf4//b2
9//29vf/9fb3//X29//39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAM7Ozv/5+fr/+fn6//n5+v/5+fr/5ubn/5mZm/+6tbD/4tnO//Pp3//z6N3/9evh//nv
5v/57+f/+e/n//nw5//58Oj/+PDo//jw6P/28Oj/9e/o//fo5v/x2Nv/1MvE/318fv98fH3/ysrL/+jp
6v/19vf/9vf4//b3+P/29vf/9vb3//X29//39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/5+fr/+fn6//n5+v/39/j/ycnK/5uanf/PxLf/7+PW//Pm
2v/06Nr/9+zh//nu4//57uP/+u7k//nu5P/57uT/+e/k//jv5f/37+X/9u7m//Xu5v/24eD/5s/M/7q4
tP9kZWb/tLW2/9zd3v/19vf/9vf4//b3+P/29/j/9vb3//b29//39/j/AAAAaAAAACMAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/5+vv/+fn6//n5+v/z8vP/nJye/6Wf
nP/f0MH/9OXV//Pk1P/26Nr/+Ozg//ns3//57N//+u3f//nt4P/57eD/+e3h//nt4f/47eL/9+3j//bu
5P/07OP/8NLU/9zQyP9wcHH/lpeY/9HS0//z9PX/9vf4//b3+P/29/j/9vf4//b29//39/j/AAAAaAAA
ACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/5+vv/+fr7//n5
+v/v7u7/i4uN/7Gnn//s28r/9OLQ//Ti0P/36tz/+Ove//rr3f/669z/+uvc//rr3P/6693/+uzd//ns
3v/47OD/+Ozh//fs4f/17eL/89rY/+XPyv+goJ//hISE/83Oz//w8fL/9vf4//b3+P/29/j/9vf4//b3
+P/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7O
zv/5+vv/+fr7//n6+//r6ej/iYmK/7SmmP/z38r/9N/K//Xizv/56tz/+erb//vr2v/76tr/++rZ//rq
2f/66tr/+uva//rr2//5693/+Ove//jr3//27OD/9uDa/+PGwP+8ubj/eHh5/8zMzf/v8PH/9vf4//b3
+P/29/j/9vf4//b3+P/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAM7Ozv/6+vv/+fr7//n6+//p6Of/iIeI/66djf/24Mj/89zF//fi0P/66tv/+unY//vp
1//66db/++jW//vp1//76df/++nX//rq2P/66tr/+erc//jr3f/369//9+Pb/+LBuf/Bvb3/dXV2/83N
zv/x8fL/9/f4//b3+P/29/j/9vf4//b3+P/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/6+vv/+vr7//r6+//q6ej/j4+R/6eXh//y2cD/9drB//fh
y//66Nb/+unY//vq2f/76dj//OjX//zo1v/86df/++nX//vq2f/76tr/+urd//nr3v/47N7/9+HY/+HB
uP+/vLv/enp7/9HS0//09PT/9/f4//f3+P/29/j/9vf4//b3+P/39/j/AAAAaAAAACMAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/6+vv/+vr7//r6+//v7ez/lpeY/5qN
gf/kya//99q9//XYu//317n/+Ne6//ravP/627//+97B//vfxP/74Mb/++DI//rgyf/54cn/+ODJ//fg
yv/14s7/89fG/+LFuf+ysLD/ioqL/9na2//19vf/9/f4//f3+P/39/j/9vf4//b3+P/39/j/AAAAaAAA
ACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/6+vv/+vr7//r6
+//z8vL/n6Cg/5KKgf/MsJX/+Ni5//rjzP/64cr/+t3C//ravP/72br/+9m6//vZuv/62rz/+tu+//rc
wv/53sX/+eDK//jj0P/359f/89bI/+POw/+QkJH/pqan/+bn5//3+Pn/9/j5//f3+P/39/j/9/f4//f3
+P/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7O
zv/6+vv/+vr7//r6+//29vb/u7u8/5uYlv+okXr/7cyr//vjzP/76db/++fR//vmz//85s7//eXO//zm
z//85s///ebR//zn0v/76NT/+ujW//np2f/559f/68u9/9bKwv9zc3T/xMXF//Hy8//3+Pn/9/j5//f4
+f/3+Pn/9/f4//f3+P/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAM7Ozv/6+vv/+vr7//r6+//6+vv/5uTk/66urv+QgnX/vp+D//TZvP/86tX/++bO//vj
zf/8483//ePL//zjzP/8483//eTO//vl0P/759L/+ujU//ro1v/42sj/2sOy/56dnP+UlJX/6urr//f4
+P/3+Pn/9/j5//f4+f/3+Pn/9/j5//f3+P/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/6+/z/+vv8//r6+//6+vv/9vX1/8LBwf+yr6v/ln1p/86w
k//66NP//ejQ//zkzP/948v//eHK//3iy//948z//eTN//vlz//759H/++jV//rgy//jxK//vbWv/4KD
hP/Hx8j/9fX2//j4+f/3+Pn/9/j5//f4+f/3+Pn/9/j5//f4+f/39/j/AAAAaAAAACMAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/7+/z/+vv8//r7/P/6+vv/+vr7/+fm
5/+jpKT/pZyX/5mAav/HsJv/8dzG//znzv/95cz//eTL//3jy//948v//eXN//3n0f/86NL/9tzF/9y/
p//Asqb/jo+Q/7O0tf/x8fH/+Pj5//j4+f/4+Pn/+Pj5//f4+f/3+Pn/9/j5//f4+f/39/j/AAAAaAAA
ACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/7+/z/+/v8//r7
/P/6+/z/+vr7//r6+v/g39//r7Cx/6Semv+biXn/qpOA/9O5o//n0Lb/89zD//riyP/74sj/9t7G/+7U
uv/dwab/wqeS/7Goof+SkpT/urq6//Dx8f/4+fr/+Pj5//j4+f/4+Pn/+Pj5//j4+f/3+Pn/9/j5//f4
+f/39/j/AAAAaAAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7O
zv/7+/z/+/v8//v7/P/6+/z/+vv8//r6+//5+fn/4+Pk/6enqP+hnp3/rqSZ/5yKeP+ijHf/sZh//7uf
hf++ooj/uJ6G/7GZhv+2ppn/n5yZ/4+PkP+7u7v/8vPz//j5+v/4+fr/+Pn6//j5+v/4+Pn/+Pj5//j4
+f/4+Pn/9/j5//f4+f/39/j/AAAAaQAAACMAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAM7Ozv/7+/z/+/v8//v7/P/7+/z/+vv8//r7/P/6+/z/+vr6//X09f/Q0ND/paSk/6Ce
nv+dl5L/pJuU/6Sclf+mnZf/nJeS/5mYmP+QkJH/vr29/+no6P/49/j/+fn6//n5+v/4+fr/+Pn6//j5
+v/4+fr/+Pj5//j4+f/4+Pn/+Pj5//f4+f/39/j/AAAAagAAACQAAAACAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/6+/z/+vv8//r6
+//6+vv/9fT1/+fm5v/X1dT/zcrI/8rHxf/Lycf/0M7N/+Hg4P/t7e7/+fn6//n5+v/5+fr/+fn6//n5
+v/5+fr/+Pn6//j5+v/4+fr/+Pn6//j4+f/4+Pn/+Pj5//j4+f/39/j/AAAAawAAACMAAAACAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/7+/z/+/v8//v7/P/7+/z/+/v8//v7
/P/7+/z/+vv8//r7/P/6+vv/+vr7//r6+//6+vv/+vr7//r6+//6+vv/+vr7//n6+//5+vv/+fr7//n5
+v/5+fr/+fn6//n5+v/5+fr/+fn6//j5+v/4+fr/+Pn6//j5+v/4+fr/+Pj5//b29v/39/j/AAAAagAA
ACIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/7+/z/+/v8//v7
/P/7+/z/+/v8//v7/P/7+/z/+/v8//r7/P/6+/z/+vv8//r6+//6+vv/+vr7//r6+//6+vv/+vr7//r6
+//5+vv/+fr7//n6+//5+vv/+fn6//n5+v/5+fr/+fn6//n5+v/4+fr/+Pn6//j5+v/4+fr/9vb2//Ly
8v/39/j/AAAAXQAAABwAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7O
zv/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+vv8//r7/P/6+vv/+vr7//r6
+//6+vv/+vr7//r6+//6+vv/+vr7//n6+//5+vv/+fr7//n5+v/5+fr/+fn6//n5+v/5+fr/+fn6//n5
+v/39/f/8/Pz/+/v7//v7+//AAAAagAAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAM7Ozv/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//r7
/P/6+/z/+vr7//r6+//6+vv/+vr7//r6+//6+vv/+vr7//r6+//5+vv/+fr7//n6+//5+vv/+fr7//n6
+//7+/v/+/v7//X19f/19fX/6+vr/9/f3//Kysv/AAAAPAAAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/7/P3/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7
/P/7+/z/+/v8//v7/P/6+/z/+vv8//r7/P/6+vv/+vr7//r6+//6+vv/+vr7//r6+//6+vv/+fr7//n6
+//5+vv/rq6u/66urv+urq7/rq6u/66urv+urq7/rq6u/8jIyv8+Pj6YAAAAHAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/8/P3/+/z9//v7/P/7+/z/+/v8//v7
/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//r7/P/6+/z/+vr7//r6+//6+vv/+vr7//r6
+//6+vv/+vr7//r6+//6+vv/rq6u////////////+fn5//Pz8//h4eH/09PU/4CAgMkDAwMrAAAABwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/8/P3//Pz9//z8
/f/7/P3/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/6+/z/+vv8//r6
+//6+vv/+vr7//r6+//6+vv/+vr7//r6+//7+/v/rq6u///////5+fn/8/Pz/+Hh4f/T09T/hoaGyAMD
AywAAAAIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7O
zv/8/P3//Pz9//z8/f/8/P3/+/z9//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7
/P/7+/z/+vv8//r7/P/6+vv/+vr7//r6+//6+vv/+vr7//r6+//7+/v/rq6u//n5+f/z8/P/4eHh/9PT
1P+SkpLMAwMDLwAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAM7Ozv/8/P3//Pz9//z8/f/8/P3//Pz9//v8/f/7+/z/+/v8//v7/P/7+/z/+/v8//v7
/P/7+/z/+/v8//v7/P/7+/z/+/v8//r7/P/6+/z/+vv8//r6+//6+vv/+vr7//n5+f/19fX/rq6u/+3t
7f/h4eH/09PU/5GRkcsCAgIsAAAACAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/8/P3//Pz9//z8/f/8/P3//Pz9//z8/f/8/P3/+/z9//v7
/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+vv8//r7/P/6+vv/+Pj4//X1
9f/19fX/rq6u/+Hh4f/T09T/hIWFxQICAi0AAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/8/P3//Pz9//z8/f/8/P3//Pz9//z8
/f/8/P3//Pz9//v8/f/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//r7
/P/4+Pj/9PT0//Ly8v/r6+v/rq6u/9PT1P+UlJTPAQEBLAAAAAgAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7Ozv/8/P3//Pz9//z8
/f/8/P3//Pz9//z8/f/8/P3//Pz9//z8/f/7/P3/+/v8//v7/P/7+/z/+/v8//v7/P/7+/z/+/v8//v7
/P/7+/z/+/v8//v7/P/4+Pj/8/Pz/+/v7//f39//yMjK/5iYmM0DAwMvAAAACAAAAAEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM7O
zv/39/j/9/f4//f3+P/39/j/9/f4//f3+P/39/j/9/f4//f3+P/39/j/9/f4//f3+P/39/j/9/f4//f3
+P/39/j/9/f4//f3+P/39/j/9/f4//f3+P/39/j/8/Pz//Pz8//Kysv/gICAwwICAicAAAAHAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAANbW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW
1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v91lZdxAAAAGwAA
AAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAA
AAAADwAA8AAAAAAPAADwAAAAAA8AAPAAAAAADwAA8AAAAAAPAADwAAAAAA8AAPgAAAAADwAA/AAAAAAP
AAD8AAAAAA8AAPwAAAAADwAA/AAAAAAPAAD8AAAAAA8AAPwAAAAADwAA/AAAAAAPAAD8AAAAAA8AAPwA
AAAADwAA/AAAAAAPAAD8AAAAAA8AAPwAAAAADwAA/AAAAAAPAAD8AAAAAA8AAPwAAAAADwAA/AAAAAAP
AAD8AAAAAA8AAPwAAAAADwAA/AAAAAAPAAD8AAAAAA8AAPwAAAAADwAA/AAAAAAPAAD8AAAAAA8AAPwA
AAAADwAA/AAAAAAPAAD8AAAAAA8AAPwAAAAADwAA/AAAAAAPAAD8AAAAAA8AAPwAAAAAHwAA/AAAAAAf
AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAH8AAPwAAAAA/wAA/AAAAAH/AAD8AAAAA/8AAPwA
AAAH/wAA/AAAAA//AAD8AAAAP/8AACgAAAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAPDw9TCgoKfAAAAFUAAAA3AAAAIQAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAA
ACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAGAAA
AAgAAAAAAAAAAAAAAAAAAAAAiIGEwHZ0dexycnL6ExMTtgAAAIAAAABrAAAAYAAAAGAAAABgAAAAYAAA
AGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAA
AGAAAABIAAAAGAAAAAAAAAAAAAAAAAAAAACCfH/Kwry//7y6u/9xcXH/g4SE/8/Q0P/u7+//+Pj4//j4
+P/3+Pj/9/j4//f4+P/3+Pj/9/j4//f39//29/f/9vf3//b39//29/f/9vf3//b39//29/f/9fb2//X2
9v/19vb/9fb2/wAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAG1obCmIgYTA0s7P/6enqP9kZWX/np+f/9bX
1//09fX/+Pj4//j4+P/3+Pj/9/j4//f4+P/3+Pj/9/j4//f39//29/f/9vf3//b39//29/f/9vf3//b3
9//29/f/9vb2//X29v/19vb/AAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAG1obCmZk5b/0c3P/5iY
mP9hYGD/tba2/9/g4P/3+Pj/+Pn5//j4+P/3+Pj/9/j4//f4+P/3+Pj/9/j4//f39//29/f/9vf3//b3
9//29/f/9vf3//b39//29/f/9vb2//X29v8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALq5
uf+knaD/zMjK/4WEhP9vb2//xcbG/+jp6f/4+fn/+Pn5//j4+P/4+Pj/9/j4//f4+P/3+Pj/9/j4//f4
+P/39/f/9vf3//b39//29/f/9vf3//b39//29/f/9vf3/wAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA1tbW/8XExf+ro6b/v7y8/2pqav+Li4v/0dLS//Hy8v/4+fn/+Pn5//j4+P/4+Pj/9/j4//f4
+P/3+Pj/9/j4//f4+P/39/f/9vf3//b39//29/f/9vf3//b39//29/f/AAAAYAAAACAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAADW1tb/+vr6/7q4uv+tpqj/q6mp/1xcXP+urq7/3d3d//Dx8f/o6en/3+Dg/9vb
2//c3Nz/4eLi/+vs7P/29/f/9/j4//f4+P/39/f/9vf3//b39//29/f/9vf3//b39/8AAABgAAAAIAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW1v/6+vr/+vr6/7i1t/+vqar/ioiJ/2ZmZv+np6f/kZGR/21u
cP9kZmj/amtt/3+AgP+qqqr/0NHR/9zd3f/w8fH/9/j4//f4+P/39/f/9/f3//b39//29/f/9vf3/wAA
AGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1tbW//r7+//6+vr/+Pj4/8C8vv+ppqb/dnd6/2Vn
af+qqKX/0tLQ/+fg2//h2tP/wr25/4qJh/91dnj/u7u7/9bX1//v8PD/9/j4//f4+P/3+Pj/9/f3//b3
9//29/f/AAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tb/+vv7//r7+//6+vr/8fHx/2tt
cP+6t7X/7+ff//r28f/5+fn/+fn5//j39f/58+z/9+vf/8nAtv9wc3T/uLi4/9na2v/19vb/9/j4//f4
+P/3+Pj/9/f3//b39/8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW1v/7+/v/+vv7//r7
+/+xsbL/mZeU//fr3//69O3/+fTv//n18P/69O7/+/Xw//vz6//67uP/+u3e/9DBtP93eXr/ysrK/+rr
6//3+Pj/9/j4//f4+P/3+Pj/9/f3/wAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1tbW//v7
+//7+/v/7e7u/3p8ff/r3c7/++7i//vt4f/78Ob/+/Pt//v48//89e///PPr//zw5//769v/+ubT/6mi
mv+dnZ7/4ODg//f4+P/3+Pj/9/j4//f4+P/3+Pj/AAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AADW1tb/+/v7//v7+//CwsP/qaOZ//ro1//76df/++rb//zu4v/99e///PTs//zz6v/88ef//O/k//zt
4P/75tD/2se0/3+AgP/R0dL/+Pj4//j4+P/3+Pj/9/j4//f4+P8AAABgAAAAIAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAANbW1v/7/Pz/+/v7/6eoqf/Nva3//OfS//vkz//859X//fHn//306//98uj//PHn//zw
5f/87uH//eze//zp1v/v1rz/jYqI/7i5uv/4+fn/+Pj4//j4+P/3+Pj/9/j4/wAAAGAAAAAgAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA1tbW//v8/P/6+/v/oKKl/9zHtP/848n//ODH//zkzv/96tr//fHn//3y
6f/98Ob//e/i//3u4P/97N3//eva//rXuf+ZlI//vL2///j5+f/4+fn/+Pj4//j4+P/3+Pj/AAAAYAAA
ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tb//Pz8//v7+/+go6X/0r+u//3fw//93MD//eHI//zk
zv/85dD//ejV//3t4P/98OT//u/j//3t3v/97t7/8tO2/5mVkP/Gxsf/+Pn5//j5+f/4+fn/+Pn5//j4
+P8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW1v/8/Pz/+/v7/6+xs/+zqJj/+9zA//3a
uv/94cn//vPo//3l0f/94sr//eHK//3fxv/95M3//ebT//3p1P/eybP/oKCf/9PT1P/5+fn/+Pn5//j5
+f/4+fn/+Pn5/wAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1tbW//z8/P/8/Pz/zc7Q/4+K
hf/r0LX//dq4//7fxP/+8+r//vLo//7v4v/+6tj//ePM//3iyf/938T//d7A/7ytnf+oqqr/6+zs//n5
+f/5+fn/+Pn5//j5+f/4+fn/AAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tb//P39//z8
/P/n5+j/rKyt/7aolv/51rb//d7A//7x5//+8eX//vDl//7x5f/+8OX//vDj//7w3//jzrn/kpCO/97f
3//3+Pj/+fr6//n5+f/5+fn/+fn5//j5+f8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW
1v/9/f3//P39//r6+v/i4uL/iYeE/8Krlv/02Lv//vDe//737P/+9er//vXp//716v/+8uL/5NG+/5mS
jv+2t7j/+vr6//r6+v/5+vr/+fr6//n6+v/5+fn/+fn5/wAAAGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA1tbW//39/f/9/f3//P39//z8/P/j4+T/kY+O/6ibjv/Qv6v/59nK/+/h0//r3c7/3c2+/7eq
nf+UkY7/u7u9//r7+//6+vr/+vr6//r6+v/5+vr/+fr6//n6+v/5+fn/AAAAYAAAACAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAADW1tb//f39//39/f/9/f3//P39//z8/P/u7u7/sLCx/5iVkv+TjIX/m5WO/5uV
kf+Uko//p6en/+Dg4P/7+/v/+vv7//r7+//6+vr/+vr6//r6+v/5+vr/+fr6//n6+v8AAABgAAAAIAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW1v/9/f3//f39//39/f/9/f3//P39//z9/f/8/Pz//Pz8//z8
/P/8/Pz//Pz8//v8/P/7+/v/+/v7//v7+//7+/v/+vv7//r7+//6+vr/+vr6//r6+v/5+vr/1NTU/wAA
AGAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1tbW//39/f/9/f3//f39//39/f/9/f3//f39//z9
/f/8/Pz//Pz8//z8/P/8/Pz//Pz8//v8/P/7/Pz/+/v7//v7+//7+/v/+vv7//r7+//W1tb/zs7O/7+/
v/+4uLj/AAAAVQAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tb//f39//39/f/9/f3//f39//39
/f/9/f3//f39//z9/f/8/Pz//Pz8//z8/P/8/Pz//Pz8//v8/P/7/Pz/+/v7//v7+/+ysrL/q6ur/6mp
qf+pqan/r6+v/7i4uP4AAAA3AAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANbW1v/+/v7//f39//39
/f/9/f3//f39//39/f/9/f3//f39//z9/f/8/Pz//Pz8//z8/P/8/Pz//Pz8//v8/P/7/Pz/+/v7/8bG
xv/19fX/9PT0/+Pj4/+8vLz+ZGRkhAAAABQAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1tbW//7+
/v/+/v7//f7+//39/f/9/f3//f39//39/f/9/f3//f39//z9/f/8/f3//Pz8//z8/P/8/Pz//Pz8//z8
/P/7/Pz/zs7O//r6+v/r6+v/ysrK/m1tbX8AAAAXAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AADW1tb//v7+//7+/v/+/v7//f7+//39/f/9/f3//f39//39/f/9/f3//f39//39/f/8/f3//Pz8//z8
/P/8/Pz//Pz8//z8/P/Nzc3/5OTk/8nJyf5oaGh/AAAAFwAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAANbW1v/+/v7//v7+//7+/v/+/v7//f7+//39/f/9/f3//f39//39/f/9/f3//f39//39
/f/8/f3//Pz8//z8/P/8/Pz/6urq/8PDw//Hx8f+ZWVlfgAAABcAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA1tbW//7+/v/+/v7//v7+//7+/v/+/v7//v7+//39/f/9/f3//f39//39
/f/9/f3//f39//39/f/8/f3//Pz8//z8/P/c3Nz/v7+//mtra4IAAAAZAAAABAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADW1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW
1v/W1tb/1tbW/9bW1v/W1tb/1tbW/9bW1v/W1tb/1tbW/8zMzPiCgoJvAAAAEgAAAAMAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAA4AAAA8AAAAPAAAADwAAAA+AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AA
AAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AAAAPwAAAD8AAAA/AA
AAPwAAAD8AAAB/AAAA/wAAAf8AAAP/AAAH8oAAAAGAAAADAAAAABACAAAAAAAGAJAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABgAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAA
ACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAYAAAACAAAAAAAAAAAAAAAAJmZmf9mZma9WFhYawAA
AEgAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAA
AGAAAABIAAAAGAAAAAAAAAAAAAAAAGZmZr29vb3/gYGB/8HCwv/19vb/9fb2//X29v/19vb/9fb2//X2
9v/19vb/9fb2//X29v/19vb/9fb2//X29v/19vb/9fb2//X29v8AAABgAAAAIAAAAAAAAAAAAAAAAGZm
ZlxmZma9vb29/4uMjP/Cw8P/9vf3//b39//29/f/9vf3//b39//29/f/9vf3//b39//29/f/9vf3//b3
9//29/f/9vf3//b39/8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAABmZmZcgYGB/729vf+LjIz/2dra//b3
9//29/f/9vf3//b39//29/f/9vf3//b39//29/f/9vf3//b39//29/f/9vf3//b39/8AAABgAAAAIAAA
AAAAAAAAAAAAAAAAAAAAAAAAqamp/4uMjP+9vb3/lZWV/9na2v/29/f/9vf3//b39//29/f/9vf3//b3
9//29/f/9vf3//b39//29/f/9vf3//b39/8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P/9rb
2/+Vlpb/rKys/6Giov/a29v/9/j4//f4+P/3+Pj/9/j4//f4+P/3+Pj/9/j4//f4+P/3+Pj/9/j4//f4
+P8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P//f4+P/a29v/oaKi/56env+Vlpb/t7Sx/6Si
n/+OjYz/jo2M/6SjoP/HxcP/9vf3//f4+P/3+Pj/9/j4//f4+P8AAABgAAAAIAAAAAAAAAAAAAAAAAAA
AAAAAAAAz8/P//j5+f/4+fn/29zc/5WVlf+NjY3/uLOt/97Wz//y6N//8efc/9rSyf+1r6r/uLSv//f4
+P/4+fn/+Pn5//j5+f8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P//n5+f/5+fn/+fn5/7ez
rv+4sqz/+u7h//vu4f/77N3/++va//zp1//76NX/s62m/8nFwf/5+fn/+fn5//n5+f8AAABgAAAAIAAA
AAAAAAAAAAAAAAAAAAAAAAAAz8/P//n6+v/5+vr/+fr6/6Wfmv/h18z/++7g//vr2//869r//Ova//zp
1v/859L/1se4/6Whnf/5+vr/+fr6//n6+v8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P//r6
+v/6+vr/+vr6/46Mif/05tf//Ozd//zt3v/97t///e3d//7t3P/96dX/8dnC/46Mif/6+vr/+vr6//r6
+v8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P//r7+//6+/v/+vv7/42LiP/049H//OXO//3z
5//98+j//fHm//7x5P/+8OH/8ti//42LiP/6+/v/+vv7//r7+/8AAABgAAAAIAAAAAAAAAAAAAAAAAAA
AAAAAAAAz8/P//v7+//7+/v/+/v7/6Wgmf/ezb3//eHF//7s2f/+8+r//vTr//717P/97+H/4NDA/6+q
pP/7+/v/+/v7//v7+/8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P//v8/P/7/Pz/+/z8/8rF
v/+3rKL//d/A//7hxP/+6tX///Hi//7q1P/+4cP/tKme/8rFv//7/Pz/+/z8//v8/P8AAABgAAAAIAAA
AAAAAAAAAAAAAAAAAAAAAAAAz8/P//z8/P/8/Pz//Pz8//v7+/+5sKf/taqe/9fBrP/x07P/8dKz/9bA
q/+0qZ3/ubCo//v7+//8/Pz//Pz8//z8/P8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P//39
/f/9/f3//f39//39/f/8/Pz/y8bA/6Wgmv+OjIj/joyI/6Wgmv/LxsD//Pz8//39/f/9/f3//f39//39
/f8AAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P//39/f/9/f3//f39//39/f/9/f3//f39//39
/f/9/f3//f39//39/f/9/f3//f39//39/f/u7u7/4ODg/9HR0f8AAABVAAAAGwAAAAAAAAAAAAAAAAAA
AAAAAAAAz8/P//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/tLS0/7S0
tP+0tLT/tLS0/7S0tP8AAAA2AAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P//7+/v/+/v7//v7+//7+
/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/tLS0//7+/v/+/v7/4ODh/35+foAAAAATAAAAAwAA
AAAAAAAAAAAAAAAAAAAAAAAAz8/P//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+
/v/+/v7/tLS0//7+/v/g4OH/fn5+gAAAABMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P////
////////////////////////////////////////////////////////tLS0/+Dg4f9+fn6AAAAAEwAA
AAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAz8/P////////////////////////////////////
///////////////////g4OH/xsbI/35+foAAAAATAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAz8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//z8/P/8/Pz//Pz8//fn5+gAAA
ABMAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AADAIAAAwCAAAMAgAADAMAAAwDgAAMA4AADAOAA
AwDgAAMA4AADAOAAAwDgAAMA4AADAOAAAwDgAAMA4AADAOAAAwDgAAMA4AADAOAAAwDgAAcA4AAPAOAA
HwDgAD8AKAAAABAAAAAgAAAAAQAgAAAAAABABAAAAAAAAAAAAAAAAAAAAAAAAJSUlOB0dHSleXl4/3p6
ev96enr/enp6/3p6ev96enr/enp6/3p6ev96enr/enp6/3p6ev96enr/enp6/wAAAAB0dHSlkpKS3nl5
ef/i4eL/8fHz//Hy8//y8vT/8/P0//P09f/09fb/9fX3//b29//39/j/9/j5/4aGhv8AAAAAd3RwOXJy
cqabm5v/q6us/+bm5v/y8vT/8/P1//P09f/09fb/9fX3//b29//39/j/9/j5//j5+v+QkJD/AAAAAJGJ
fwJ/enQgg4OD/6Ghof+vrq//4+Li/+7t7P/s7Ov/7uzs//Lw8P/29vb/+Pj5//j5+v/5+vr/nZ2d/wAA
AAAAAAAAAAAAAKiop/+vrq//lJSU/6OhoP+3sq7/uLCo/7iwqP+7t7P/39vX//f39//5+vr/+vv7/6ys
rP8AAAAAAAAAAAAAAACtra3/4uHi/6Shnv/HvbL/6t7S//Po3P/y5dj/5tjK/8e9s//h3dn/+vv7//v7
/P+tra3/AAAAAAAAAAAAAAAAsbGx/+7s7f+5sar/697R//nr3f/66tr/++nY//zo1P/h0MD/trCq//v8
/P/7/Pz/sbGx/wAAAAAAAAAAAAAAALOzs//t6+r/ua+k//Xm2P/669z/++3e//3t3f/969n/897I/6af
l//7/P3//P39/7Ozs/8AAAAAAAAAAAAAAAC1tbX/7+3s/7itof/04Mv//Oza//3y5//98uf//vHj//Pf
y/+popn//P39//3+/v+1tbX/AAAAAAAAAAAAAAAAuLi4//Hw8P+8tKv/59C5//3jyv/+7d///vLm//7t
3f/h0L//vrix//3+/v/9/v7/uLi4/wAAAAAAAAAAAAAAALq6uv/29vf/39nT/8a3p//gybL/89i+//HZ
wP/cyLP/wLOm/+jj3v/9/v7//f7+/7i4uP8AAAAAAAAAAAAAAAC8vLz/+Pn6//f39v/h29b/tq6l/6Wd
kv+lnZP/uLGp/+nk3v/8/Pz/5eXm/9/f4P+6urr/AAAAAAAAAAAAAAAAvb29//n6+v/6+/v/+/v8//v8
/P/8/f3//P39//3+/v/9/v7/urq6/7i4uP+4uLj/urq6/wAAAAAAAAAAAAAAAL+/v//6+/v/+/v8//v8
/P/8/f3//P39//3+/v/9/v7//f7+/8XFxf/29vb/urq6+d3d3V8AAAAAAAAAAAAAAADAwMD/+/v8//v8
/P/8/f3//P39//3+/v/9/v7/+/z8//3+/v/Kysr/urq6/ePl4mkAAAAAAAAAAAAAAAAAAAAAwMDA/8DA
wP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/v7+//PX19XkAAAAAAAAAAAAAAAAAAQAAAAEAAAAB
AAAAAQAAwAEAAMABAADAAQAAwAEAAMABAADAAQAAwAEAAMABAADAAQAAwAEAAMADAADABwAA
</value>
</data>
</root>

View File

@ -1,50 +0,0 @@
Public Class frmDocView
Private Sub frmDocView_Load(sender As Object, e As EventArgs) Handles Me.Load
Try
'Sind Werte hinterlegt?
If My.Settings.frmDocViewPosition.IsEmpty = False Then
If My.Settings.frmDocViewPosition.X > 0 And My.Settings.frmDocViewPosition.Y > 0 Then
' Gespeicherte Werte verwenden
Me.Location = Screen.AllScreens(UBound(Screen.AllScreens)).Bounds.Location + My.Settings.frmDocViewPosition
End If
End If
'Sind Werte hinterlegt?
If Not My.Settings.frmDocViewSize.IsEmpty Then
' Gespeicherte Werte verwenden
Try
Me.Size = My.Settings.frmDocViewSize
Catch ex As Exception
End Try
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error in Load FormLayout: " & ex.Message)
End Try
Try
DocumentViewer1.Init(LOGCONFIG, GDPICTURE_LICENSE)
Catch ex As Exception
LOGGER.Warn("Error initializing DocViewer: " & ex.Message)
End Try
End Sub
Private Sub frmDocView_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
My.Settings.frmDocViewSize = Me.Size
My.Settings.frmDocViewPosition = Me.Location
My.Settings.Save()
DocumentViewer1.Done()
End Sub
Public Sub LoadFile(FilePath As String)
DocumentViewer1.LoadFile(FilePath)
Timer1.Start()
Me.BringToFront()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Me.BringToFront()
Timer1.Stop()
End Sub
End Class

View File

@ -1,123 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@ -1,564 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="miView.Caption">
<value>&amp;View</value>
</data>
<data name="miFile.Caption">
<value>&amp;File</value>
</data>
<data name="bbiPrint.Caption">
<value>&amp;Print...</value>
</data>
<data name="bbiFillBackground.Caption">
<value>&amp;Colour...</value>
</data>
<data name="miBackground.Caption">
<value>&amp;Background</value>
</data>
<data name="miPageLayout.Caption">
<value>&amp;Pages Layout</value>
</data>
<data name="bbiWatermark.Caption">
<value>&amp;Watermark...</value>
</data>
<data name="RibbonPageAktionen.Text">
<value>Actions</value>
</data>
<data name="bbtniRefresh.Caption">
<value>Refresh</value>
</data>
<data name="RibbonPageGroup1.Text">
<value>General</value>
</data>
<data name="bbiCustomize.Caption">
<value>Customise</value>
</data>
<data name="bbiCustomize.Hint">
<value>Customise</value>
</data>
<data name="RibbonPageGroup2.Text">
<value>Analyses</value>
</data>
<data name="bbiClosePreview.Caption">
<value>Exit</value>
</data>
<data name="AnzeigenToolStripMenuItem.Text">
<value>Bring to Front</value>
</data>
<data name="PrintPreviewBarCheckItem8.Caption">
<value>CSV Document</value>
</data>
<data name="PrintPreviewBarCheckItem8.Hint">
<value>CSV Document</value>
</data>
<data name="PrintPreviewBarCheckItem17.Caption">
<value>CSV Document</value>
</data>
<data name="PrintPreviewBarCheckItem17.Hint">
<value>CSV Document</value>
</data>
<data name="bbiPrintDirect.Caption">
<value>Print</value>
</data>
<data name="bbtnitDashboardInv.Caption">
<value>Dashboard Invoice</value>
</data>
<data name="BarButtonItemFileLink.Caption">
<value>Send file as link</value>
</data>
<data name="bbiExportFile.Caption">
<value>Export document...</value>
</data>
<data name="bbiExportFile.Hint">
<value>Export document...</value>
</data>
<data name="bbiDocumentMap.Caption">
<value>Document overview</value>
</data>
<data name="bbiDocumentMap.Hint">
<value>Document overview</value>
</data>
<data name="bbiPrint.Hint">
<value>Print</value>
</data>
<data name="bbiClosePreview.Hint">
<value>Close print preview</value>
</data>
<data name="bbiOpen.Hint">
<value>Open a document</value>
</data>
<data name="miPageLayoutFacing.Caption">
<value>Single</value>
</data>
<data name="BarButtonItemWFSingle.Caption">
<value>Start single</value>
</data>
<data name="bbiShowFirstPage.Caption">
<value>First Page</value>
</data>
<data name="bbiShowFirstPage.Hint">
<value>First Page</value>
</data>
<data name="PrintPreviewBarCheckItem7.Caption">
<value>Excel 2007 Document</value>
</data>
<data name="PrintPreviewBarCheckItem7.Hint">
<value>Excel 2007 Document</value>
</data>
<data name="PrintPreviewBarCheckItem16.Caption">
<value>Excel 2007 Document</value>
</data>
<data name="PrintPreviewBarCheckItem16.Hint">
<value>Excel 2007 Document</value>
</data>
<data name="PrintPreviewBarCheckItem6.Caption">
<value>Excel Document</value>
</data>
<data name="PrintPreviewBarCheckItem6.Hint">
<value>Excel Document</value>
</data>
<data name="PrintPreviewBarCheckItem15.Caption">
<value>Excel Document</value>
</data>
<data name="PrintPreviewBarCheckItem15.Hint">
<value>Excel Document</value>
</data>
<data name="BarButtonItemExportExcel.Caption">
<value>Export Overview</value>
</data>
<data name="BarButtonItem6.Caption">
<value>Reset filters</value>
</data>
<data name="bbiHighlightEditingFields.Caption">
<value>Form fields</value>
</data>
<data name="bbiHighlightEditingFields.Hint">
<value>Highlight form fields</value>
</data>
<data name="miPageLayoutContinuous.Caption">
<value>Continuous</value>
</data>
<data name="RibbonPageGroup6.Text">
<value>Functions</value>
</data>
<data name="RibbonPageGroup4.Text">
<value>Functions/App Start</value>
</data>
<data name="BarButtonItemWFGroup.Caption">
<value>Start for profile</value>
</data>
<data name="NavBarItemOverview.Caption">
<value>General View</value>
</data>
<data name="GridView_Docs.ViewCaption">
<value>General overview workflows</value>
</data>
<data name="bbtnitmGhostMode.Caption">
<value>Ghost Mode</value>
</data>
<data name="BarButtonItemGhostMode.Caption">
<value>Deactivate Ghost Mode</value>
</data>
<data name="bsi_GhostMode.Caption">
<value>Ghost Mode active</value>
</data>
<data name="PrintPreviewBarCheckItem10.Caption">
<value>Graphical Document</value>
</data>
<data name="PrintPreviewBarCheckItem10.Hint">
<value>Graphical Document</value>
</data>
<data name="PrintPreviewBarCheckItem19.Caption">
<value>Graphical Document</value>
</data>
<data name="PrintPreviewBarCheckItem19.Hint">
<value>Graphical Document</value>
</data>
<data name="bbtniGrundeinstellung.Caption">
<value>Basic Settings</value>
</data>
<data name="RibbonPageGroupBasicConf.Text">
<value>Basic Settings</value>
</data>
<data name="bbiHandTool.Caption">
<value>Hand</value>
</data>
<data name="bbiHandTool.Hint">
<value>Hand</value>
</data>
<data name="NavBarGroupMore.Caption">
<value>Main View</value>
</data>
<data name="bbiFillBackground.Hint">
<value>Background</value>
</data>
<data name="PrintPreviewBarCheckItem2.Caption">
<value>HTML Document</value>
</data>
<data name="PrintPreviewBarCheckItem2.Hint">
<value>HTML Document</value>
</data>
<data name="PrintPreviewStaticItem1.Caption">
<value>no</value>
</data>
<data name="bbiKonfiguration.Caption">
<value>Configuration</value>
</data>
<data name="bbiEditPageHF.Caption">
<value>Header and footer</value>
</data>
<data name="bbiEditPageHF.Hint">
<value>Header and footer</value>
</data>
<data name="BarButtonItem4.Caption">
<value>Save layout</value>
</data>
<data name="BarButtonItem3.Caption">
<value>Reset Layout</value>
</data>
<data name="bbiShowLastPage.Caption">
<value>Last Page</value>
</data>
<data name="bbiShowLastPage.Hint">
<value>Last Page</value>
</data>
<data name="bbiMagnifier.Caption">
<value>Magnifier</value>
</data>
<data name="bbiMagnifier.Hint">
<value>Magnifier</value>
</data>
<data name="bbiMultiplePages.Caption">
<value>Multiple pages</value>
</data>
<data name="bbiMultiplePages.Hint">
<value>Multiple pages</value>
</data>
<data name="bbtniMetadataFile.Caption">
<value>Metadata File</value>
</data>
<data name="PrintPreviewBarCheckItem3.Caption">
<value>MHT Document</value>
</data>
<data name="PrintPreviewBarCheckItem3.Hint">
<value>MHT Document</value>
</data>
<data name="PrintPreviewBarCheckItem12.Caption">
<value>MHT Document</value>
</data>
<data name="PrintPreviewBarCheckItem12.Hint">
<value>MHT Document</value>
</data>
<data name="bbiThumbnails.Caption">
<value>Thumbnail</value>
</data>
<data name="bbiThumbnails.Hint">
<value>Thumbnail</value>
</data>
<data name="bbtniMonitor.Caption">
<value>Monitoring</value>
</data>
<data name="bbiShowNextPage.Caption">
<value>Next Page</value>
</data>
<data name="bbiShowNextPage.Hint">
<value>Next Page</value>
</data>
<data name="bsilastsync.Caption">
<value>No Sync so far</value>
</data>
<data name="bbiOpen.Caption">
<value>Open</value>
</data>
<data name="OutOfRangePMFixierenToolStripMenuItem.Text">
<value>Out of Range - Fix PM</value>
</data>
<data name="bbiParameters.Caption">
<value>Parameters</value>
</data>
<data name="bbiParameters.Hint">
<value>Parameters</value>
</data>
<data name="PrintPreviewBarCheckItem1.Caption">
<value>PDF Document</value>
</data>
<data name="PrintPreviewBarCheckItem1.Hint">
<value>PDF Document</value>
</data>
<data name="PrintPreviewBarCheckItem11.Caption">
<value>PDF Document</value>
</data>
<data name="PrintPreviewBarCheckItem11.Hint">
<value>PDF Document</value>
</data>
<data name="SaveFileDialog1.Filter">
<value>PDF Files (*.pdf*)|*.pdf</value>
</data>
<data name="PopupErinnerungInaktivierenToolStripMenuItem.Text">
<value>Disable pop-up reminder</value>
</data>
<data name="NotifyIcon1.Text">
<value>Process Manager</value>
</data>
<data name="bbiProfilverwaltung.Caption">
<value>Profile Administration</value>
</data>
<data name="BarButtonItem2.Caption">
<value>Show quick filters</value>
</data>
<data name="BarCheckItemAutofilter.Caption">
<value>Show quick filters</value>
</data>
<data name="barItemGridFontSize.Caption">
<value>Font Size</value>
</data>
<data name="bbiPageSetup.Caption">
<value>Page Settings...</value>
</data>
<data name="bbiPageSetup.Hint">
<value>Page Settings</value>
</data>
<data name="bbiSendFile.Caption">
<value>Send e-mail...</value>
</data>
<data name="bbiSendFile.Hint">
<value>Send e-mail...</value>
</data>
<data name="bbiScale.Caption">
<value>Scaling</value>
</data>
<data name="bbiScale.Hint">
<value>Scaling</value>
</data>
<data name="bbiPrintDirect.Hint">
<value>Print immediately</value>
</data>
<data name="BarCheckItem2.Caption">
<value>Column selection</value>
</data>
<data name="BarButtonItem7.Caption">
<value>Column selection dialog</value>
</data>
<data name="bbiSave.Caption">
<value>Save</value>
</data>
<data name="bbiSave.Hint">
<value>Save Document</value>
</data>
<data name="RibbonPageStart.Text">
<value>Start</value>
</data>
<data name="tsmiValidationProfil.Text">
<value>Start validation for profile</value>
</data>
<data name="PrintPreviewBarItem1.Caption">
<value>Stop</value>
</data>
<data name="PrintPreviewBarItem1.Hint">
<value>Stop</value>
</data>
<data name="SearchItem1.Caption">
<value>Search</value>
</data>
<data name="BarCheckItemShowSearch.Caption">
<value>Show search</value>
</data>
<data name="SearchItem2.Caption">
<value>Search2</value>
</data>
<data name="bbiFind.Caption">
<value>Search</value>
</data>
<data name="bbiFind.Hint">
<value>Search</value>
</data>
<data name="BarEditItem1.Caption">
<value>Sync in Progress</value>
</data>
<data name="RibbonPageTabelle.Text">
<value>Table</value>
</data>
<data name="PrintPreviewBarCheckItem9.Caption">
<value>Text Document</value>
</data>
<data name="PrintPreviewBarCheckItem9.Hint">
<value>Text Document</value>
</data>
<data name="PrintPreviewBarCheckItem18.Caption">
<value>Text Document</value>
</data>
<data name="PrintPreviewBarCheckItem18.Hint">
<value>Text Document</value>
</data>
<data name="bbtnitemInfo.Caption">
<value>About</value>
</data>
<data name="bbiZoomIn.Caption">
<value>Zoom in</value>
</data>
<data name="bbiZoomIn.Hint">
<value>Enlarge</value>
</data>
<data name="bbiZoomOut.Caption">
<value>Zoom out</value>
</data>
<data name="bbiZoomOut.Hint">
<value>Shrink</value>
</data>
<data name="RibbonPageGroup3.Text">
<value>Administration</value>
</data>
<data name="bbiShowPrevPage.Caption">
<value>Previous Page</value>
</data>
<data name="bbiShowPrevPage.Hint">
<value>Previous Page</value>
</data>
<data name="bbiWatermark.Hint">
<value>Watermark</value>
</data>
<data name="NavBarGroupProfiles.Caption">
<value>More profiles</value>
</data>
<data name="PrintPreviewBarCheckItem5.Caption">
<value>Word 2007 Document</value>
</data>
<data name="PrintPreviewBarCheckItem5.Hint">
<value>Word 2007 Document</value>
</data>
<data name="PrintPreviewBarCheckItem14.Caption">
<value>Word 2007 Document</value>
</data>
<data name="PrintPreviewBarCheckItem14.Hint">
<value>Word 2007 Document</value>
</data>
<data name="RibbonPageGroup7.Text">
<value>Workflow</value>
</data>
<data name="RibbonPageGroup5.Text">
<value>Workflow Table</value>
</data>
<data name="bbiZoom.Caption">
<value>Zoom</value>
</data>
<data name="bbiZoom.Hint">
<value>Zoom</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="NLog" version="4.7.10" targetFramework="net461" />
</packages>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define ProgramName="DD_PM_WINDREAM"?>
<?define ProductName="Process Manager"?>
<?define ProgramName="taskFLOW"?>
<?define ProductName="taskFLOW"?>
<?define Manufacturer="Digital Data"?>
<?define Description="Beschreibung des Programms"?>
<?define Comments="Kommentar wie Copyright-Hinweis"?>

View File

@ -1,5 +1,5 @@
<?define ProgramName="DD_ProcessManager"?>
<?define ProductName="Process Manager"?>
<?define ProgramName="taskFLOW"?>
<?define ProductName="taskFLOW"?>
<?define Manufacturer="Digital Data"?>
<?define Description="Beschreibung des Programms"?>
<?define Comments="Kommentar wie Copyright-Hinweis"?>
@ -42,7 +42,7 @@
</Upgrade>
<!-- Legt das Icon fest -->
<Icon Id="AppIcon.exe" SourceFile="..\DD_PM_WINDREAM\bin\$(var.Configuration)\$(var.ProgramName).exe" />
<Icon Id="AppIcon.exe" SourceFile="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" />
<!-- Zeige Icon in Systemsteuerung > Programme entfernen -->
<Property Id="ARPPRODUCTICON" Value="AppIcon.exe" />
@ -85,18 +85,18 @@
<DirectoryRef Id="INSTALLDIR">
<Component Id="MainApplicationExe" Guid="71B06048-F595-40CE-B429-79C2F2D6001B" KeyPath="yes">
<File Id="MainApplicationExe" Source="..\DD_PM_WINDREAM\bin\$(var.Configuration)\$(var.ProgramName).exe" Name="$(var.ProgramName).exe" KeyPath="no" Checksum="yes" />
<File Id="MainApplicationExeConfig" Source="..\DD_PM_WINDREAM\bin\$(var.Configuration)\$(var.ProgramName).exe.config" Name="$(var.ProgramName).exe.config" KeyPath="no" Checksum="yes" />
<File Id="MainApplicationExe" Source="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" Name="$(var.ProgramName).exe" KeyPath="no" Checksum="yes" />
<File Id="MainApplicationExeConfig" Source="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe.config" Name="$(var.ProgramName).exe.config" KeyPath="no" Checksum="yes" />
<!--
<Shortcut Id="DesktopShortcut" Directory="DesktopFolder" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" />
<Shortcut Id="StartMenuShortcut" Directory="ProgramMenuDir" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" />
-->
</Component>
<Component Id="ReleaseNotes" Guid="D1496E4D-98C2-4849-9914-DB47D47CC6BE">
<!--<Component Id="ReleaseNotes" Guid="D1496E4D-98C2-4849-9914-DB47D47CC6BE">
<File Id="ReleaseNote" Name="Release Notes.txt" Source="P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DD_MODULE\DD Process Manager\Release_Notes.txt" KeyPath="yes">
</File>
</Component>
</Component>-->
<Component Id="WindreamLibs" Guid="4D11FC99-50D9-4E54-B18A-8885C9112646">
<File Id="WINDREAMLibDLL" Name="Interop.WINDREAMLib.dll" Source="P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll" KeyPath="yes"/>
@ -121,18 +121,18 @@
<File Id="DDCommonGUIs" Name="DigitalData.GUIs.Common.dll" Source="DigitalData.GUIs.Common.dll"/>
<File Id="DDConfig" Name="DigitalData.Modules.Config.dll" Source="DigitalData.Modules.Config.dll"/>
<File Id="DDLogging" Name="DigitalData.Modules.Logging.dll" Source="DigitalData.Modules.Logging.dll"/>
<File Id="DDInterfaces" Name="DigitalData.Modules.Interfaces.dll" Source="DigitalData.Modules.Interfaces.dll"/>
<File Id="DDBase" Name="DigitalData.Modules.Base.dll" Source="DigitalData.Modules.Base.dll"/>
<File Id="DDLanguage" Name="DigitalData.Modules.Language.dll" Source="DigitalData.Modules.Language.dll"/>
<File Id="DDFilesystem" Name="DigitalData.Modules.Filesystem.dll" Source="DigitalData.Modules.Filesystem.dll"/>
<File Id="DDEncryption" Name="DigitalData.Modules.Encryption.dll" Source="DigitalData.Modules.Encryption.dll"/>
<File Id="DDWindream" Name="DigitalData.Modules.Windream.dll" Source="DigitalData.Modules.Windream.dll"/>
<File Id="DDWindows" Name="DigitalData.Modules.Windows.dll" Source="DigitalData.Modules.Windows.dll"/>
<File Id="DDZooflow" Name="DigitalData.Modules.Zooflow.dll" Source="DigitalData.Modules.Zooflow.dll"/>
<File Id="DDDatabase" Name="DigitalData.Modules.Database.dll" Source="DigitalData.Modules.Database.dll"/>
<File Id="DDPatterns" Name="DigitalData.Modules.Patterns.dll" Source="DigitalData.Modules.Patterns.dll"/>
<File Id="DDEDMIAPI" Name="DigitalData.Modules.EDMI.API.dll" Source="DigitalData.Modules.EDMI.API.dll"/>
<File Id="DDDocumentViewer" Name="DigitalData.Controls.DocumentViewer.dll" Source="DigitalData.Controls.DocumentViewer.dll"/>
<File Id="DDChatControl" Name="DigitalData.Controls.ChatControl.dll" Source="DigitalData.Controls.ChatControl.dll"/>
<File Id="DDNewConv" Name="DigitalData.Controls.ChatNewConv.dll" Source="DigitalData.Controls.ChatNewConv.dll"/>
<File Id="Messaging" Name="DigitalData.Modules.Messaging.dll" Source="DigitalData.Modules.Messaging.dll" KeyPath="no" />
<File Id="Messaging.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" />
<File Id="Limilabs.Mail" Name="Mail.dll" Source="Mail.dll" KeyPath="no" />
@ -148,14 +148,31 @@
</Component>
<Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">
<File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET (.NET Framework 4.5)\GdPicture.NET.14.dll" KeyPath="yes" />
<File Id="GdPicture.NET.14.filters" Name="GdPicture.NET.14.filters.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.filters.dll" />
<File Id="GdPicture.NET.14.filters64" Name="GdPicture.NET.14.filters.64.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.filters.64.dll" />
<File Id="GdPicture.NET.14.image" Name="GdPicture.NET.14.image.gdimgplug.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.image.gdimgplug.dll" />
<File Id="GdPicture.NET.14.image64" Name="GdPicture.NET.14.image.gdimgplug.64.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.image.gdimgplug.64.dll" />
<File Id="GdPicture.NET.14.Imaging" Name="GdPicture.NET.14.Imaging.Rendering.Skia.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.Imaging.Rendering.Skia.dll" />
<File Id="GdPicture.NET.14.Imaging64" Name="GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" Source="D:\ProgramFiles\GdPicture.NET 14\Redist\GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" />
</Component>
<File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" KeyPath="yes" />
<File Id="GdPicture.NET.14.filters" Name="GdPicture.NET.14.filters.dll" />
<File Id="GdPicture.NET.14.filters64" Name="GdPicture.NET.14.filters.64.dll" />
<File Id="GdPicture.NET.14.image" Name="GdPicture.NET.14.image.gdimgplug.dll" />
<File Id="GdPicture.NET.14.image64" Name="GdPicture.NET.14.image.gdimgplug.64.dll" />
<File Id="GdPicture.NET.14.Imaging.Rendering.Skia" Name="GdPicture.NET.14.Imaging.Rendering.Skia.dll" />
<File Id="GdPicture.NET.14.Rendering.Skia.64" Name="GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" />
<File Id="GdPicture.NET.14.Imaging" Name="GdPicture.NET.14.Imaging.dll" />
<File Id="GdPicture.NET.14.Common" Name="GdPicture.NET.14.Common.dll" />
<File Id="GdPicture.NET.14.Imaging.Rendering" Name="GdPicture.NET.14.Imaging.Rendering.dll" />
<File Id="GdPicture.NET.14.Document" Name="GdPicture.NET.14.Document.dll" />
<File Id="GdPicture.NET.14.PDF" Name="GdPicture.NET.14.PDF.dll" />
<File Id="GdPicture.NET.14.Imaging.Formats" Name="GdPicture.NET.14.Imaging.Formats.dll" />
<File Id="GdPicture.NET.14.RTF" Name="GdPicture.NET.14.RTF.dll" />
<File Id="GdPicture.NET.14.OpenDocument" Name="GdPicture.NET.14.OpenDocument.dll" />
<File Id="GdPicture.NET.14.OpenXML" Name="GdPicture.NET.14.OpenXML.dll" />
<File Id="GdPicture.NET.14.Email" Name="GdPicture.NET.14.Email.dll" />
<File Id="GdPicture.NET.14.HTML" Name="GdPicture.NET.14.HTML.dll" />
<File Id="GdPicture.NET.14.MSOfficeBinary" Name="GdPicture.NET.14.MSOfficeBinary.dll"/>
<File Id="GdPicture.NET.14.CAD" Name="GdPicture.NET.14.CAD.dll"/>
<File Id="GdPicture.NET.14.CAD.DWG" Name="GdPicture.NET.14.CAD.DWG.dll"/>
<File Id="BouncyCastle.Cryptography" Name="BouncyCastle.Cryptography.dll"/>
<File Id="System.ValueTuple" Name="System.ValueTuple.dll" />
<File Id="System.IO.Packaging" Name="System.IO.Packaging.dll" />
</Component>
<Component Id="DevExpressLibs" Guid="CB40DAAE-348E-4BD3-B275-9A526EB8F191">
<File Id="DevExpress.Images.v21.2" Name="DevExpress.Images.v21.2.dll" KeyPath="yes"/>
@ -267,7 +284,7 @@
<Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="MainApplicationExe" />
<ComponentRef Id="RegistryKeys" />
<ComponentRef Id="ReleaseNotes" />
<!--<ComponentRef Id="ReleaseNotes" />-->
<ComponentRef Id="WindreamLibs" />
<ComponentRef Id="FormsUtilsLibs"/>
<ComponentRef Id="DDLibs" />

View File

@ -13,12 +13,12 @@
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
<LinkerAdditionalOptions>-b "$(SolutionDir)DD_PM_WINDREAM\bin\$(Configuration)"</LinkerAdditionalOptions>
<LinkerAdditionalOptions>-b "$(SolutionDir)taskFLOW\bin\$(Configuration)"</LinkerAdditionalOptions>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<LinkerAdditionalOptions>-b "$(SolutionDir)DD_PM_WINDREAM\bin\$(Configuration)"</LinkerAdditionalOptions>
<LinkerAdditionalOptions>-b "$(SolutionDir)taskFLOW\bin\$(Configuration)"</LinkerAdditionalOptions>
</PropertyGroup>
<ItemGroup>
<Compile Include="Product.wxs" />
@ -43,7 +43,7 @@
</Target>
<Target Name="BeforeBuild">
<!-- Get the programs assembly version from the .exe file -->
<GetAssemblyIdentity AssemblyFiles="..\DD_PM_WINDREAM\bin\$(Configuration)\DD_ProcessManager.exe">
<GetAssemblyIdentity AssemblyFiles="..\taskFLOW\bin\$(Configuration)\TaskFlow.exe">
<Output TaskParameter="Assemblies" ItemName="AsmInfo" />
</GetAssemblyIdentity>
<!-- Store the assembly version number in ProductVersion preprocessor variable -->

View File

@ -1,41 +1,66 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.29728.190
# Visual Studio Version 17
VisualStudioVersion = 17.3.32929.385
MinimumVisualStudioVersion = 10.0.40219.1
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DD_PM_WINDREAM", "DD_PM_WINDREAM\DD_PM_WINDREAM.vbproj", "{6ACA1432-09A2-47EF-A704-C0AA73905756}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SetupVS19", "SetupVS19\SetupVS19.wixproj", "{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "taskFLOW", "TaskFlow\taskFLOW.vbproj", "{6ACA1432-09A2-47EF-A704-C0AA73905756}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
CD_ROM|Any CPU = CD_ROM|Any CPU
CD_ROM|x86 = CD_ROM|x86
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
DVD-5|Any CPU = DVD-5|Any CPU
DVD-5|x86 = DVD-5|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
SingleImage|Any CPU = SingleImage|Any CPU
SingleImage|x86 = SingleImage|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6ACA1432-09A2-47EF-A704-C0AA73905756}.CD_ROM|x86.ActiveCfg = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.CD_ROM|x86.Build.0 = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Debug|x86.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Debug|x86.Build.0 = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.DVD-5|x86.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.DVD-5|x86.Build.0 = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Release|x86.ActiveCfg = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Release|x86.Build.0 = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|x86.ActiveCfg = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|x86.Build.0 = Release|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.CD_ROM|Any CPU.ActiveCfg = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.CD_ROM|Any CPU.Build.0 = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.CD_ROM|x86.ActiveCfg = Release|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.CD_ROM|x86.Build.0 = Release|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.Debug|Any CPU.ActiveCfg = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.Debug|Any CPU.Build.0 = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.Debug|x86.ActiveCfg = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.Debug|x86.Build.0 = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.DVD-5|Any CPU.ActiveCfg = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.DVD-5|Any CPU.Build.0 = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.DVD-5|x86.ActiveCfg = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.DVD-5|x86.Build.0 = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.Release|Any CPU.ActiveCfg = Release|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.Release|Any CPU.Build.0 = Release|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.Release|x86.ActiveCfg = Release|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.Release|x86.Build.0 = Release|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.SingleImage|Any CPU.ActiveCfg = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.SingleImage|Any CPU.Build.0 = Debug|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.SingleImage|x86.ActiveCfg = Release|x86
{11F40F86-5DF6-4279-BDF3-17AD8B93AE7C}.SingleImage|x86.Build.0 = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.CD_ROM|Any CPU.ActiveCfg = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.CD_ROM|Any CPU.Build.0 = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.CD_ROM|x86.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.CD_ROM|x86.Build.0 = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Debug|Any CPU.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Debug|Any CPU.Build.0 = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Debug|x86.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Debug|x86.Build.0 = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.DVD-5|Any CPU.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.DVD-5|Any CPU.Build.0 = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.DVD-5|x86.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.DVD-5|x86.Build.0 = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Release|Any CPU.ActiveCfg = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Release|Any CPU.Build.0 = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Release|x86.ActiveCfg = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.Release|x86.Build.0 = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|Any CPU.ActiveCfg = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|Any CPU.Build.0 = Release|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|x86.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|x86.Build.0 = Debug|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

249
app/TaskFlow/App.config Normal file
View File

@ -0,0 +1,249 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System">
<section name="taskFLOW.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection" requirePermission="false" />
</sectionGroup>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="taskFLOW.My.MySettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<applicationSettings>
<taskFLOW.My.MySettings>
<setting name="UseAppConfigConString" serializeAs="String">
<value>False</value>
</setting>
<setting name="UserConfig_Prefix" serializeAs="String">
<value>TEST</value>
</setting>
<setting name="GDPICTURE_VERSION" serializeAs="String">
<value>11.2024</value>
</setting>
</taskFLOW.My.MySettings>
<DevExpress.LookAndFeel.Design.AppSettings>
<setting name="DefaultAppSkin" serializeAs="String">
<value>Skin/Office 2019 White</value>
</setting>
<setting name="DefaultPalette" serializeAs="String">
<value>Custom/Digital Data</value>
</setting>
<setting name="TouchUI" serializeAs="String">
<value>
</value>
</setting>
<setting name="TouchScaleFactor" serializeAs="String">
<value>
</value>
</setting>
<setting name="DirectX" serializeAs="String">
<value>
</value>
</setting>
<setting name="RegisterUserSkins" serializeAs="String">
<value>
</value>
</setting>
<setting name="FontBehavior" serializeAs="String">
<value>
</value>
</setting>
<setting name="DefaultAppFont" serializeAs="String">
<value>
</value>
</setting>
<setting name="DPIAwarenessMode" serializeAs="String">
<value>
</value>
</setting>
<setting name="CompactUI" serializeAs="String">
<value>
</value>
</setting>
<setting name="RegisterBonusSkins" serializeAs="String">
<value>
</value>
</setting>
<setting name="CustomPaletteCollection" serializeAs="Xml">
<value>
<CustomPaletteCollection>
<Skin Name="Office 2019 White">
<SvgPalette Name="Digital Data">
<SvgColor Name="Paint" Value="White" />
<SvgColor Name="Paint High" Value="White" />
<SvgColor Name="Paint Shadow" Value="240,240,240" />
<SvgColor Name="Paint Deep Shadow" Value="230,230,230" />
<SvgColor Name="Brush" Value="72,70,68" />
<SvgColor Name="Brush High" Value="72,70,68" />
<SvgColor Name="Brush Light" Value="119,119,119" />
<SvgColor Name="Brush Major" Value="171,171,171" />
<SvgColor Name="Brush Minor" Value="225,225,225" />
<SvgColor Name="Accent Paint" Value="165,36,49" />
<SvgColor Name="Accent Paint Dark" Value="133,28,38" />
<SvgColor Name="Accent Paint Light" Value="250,220,221" />
<SvgColor Name="Accent Paint Lighter" Value="251,233,234" />
<SvgColor Name="Accent Brush" Value="255,255,255" />
<SvgColor Name="Accent Brush Light" Value="218,175,176" />
<SvgColor Name="Red" Value="237,61,59" />
<SvgColor Name="Green" Value="48,144,72" />
<SvgColor Name="Blue" Value="30,139,205" />
<SvgColor Name="Yellow" Value="251,152,59" />
<SvgColor Name="Black" Value="87,87,85" />
<SvgColor Name="Gray" Value="169,168,168" />
<SvgColor Name="White" Value="255,255,255" />
</SvgPalette>
</Skin>
</CustomPaletteCollection>
</value>
</setting>
</DevExpress.LookAndFeel.Design.AppSettings>
</applicationSettings>
<connectionStrings>
<add name="taskFLOW.My.MySettings.ConnectionString" connectionString="Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd;Encrypt=False"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.3.0" newVersion="14.3.3.0" />
</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>
<dependentAssembly>
<assemblyIdentity name="System.Memory" 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.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.1.0" newVersion="6.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.5.0" newVersion="4.1.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14.Common" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.3.0" newVersion="14.3.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="GdPicture.NET.14.Imaging" publicKeyToken="f52a2e60ad468dbb" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-14.3.1.0" newVersion="14.3.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Packaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="FirebirdSql.Data.FirebirdClient" publicKeyToken="3750abcc3150b00c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.5.0.0" newVersion="7.5.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="protobuf-net" publicKeyToken="257b51d87d2e4d67" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</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="DocumentFormat.OpenXml.Framework" publicKeyToken="8fb06cb64d019a17" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DocumentFormat.OpenXml" publicKeyToken="8fb06cb64d019a17" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-9.0.0.0" newVersion="9.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
<provider invariantName="FirebirdSql.Data.FirebirdClient" type="EntityFramework.Firebird.FbProviderServices, EntityFramework.Firebird" />
</providers>
<defaultConnectionFactory type="EntityFramework.Firebird.FbConnectionFactory, EntityFramework.Firebird" />
</entityFramework>
<userSettings>
<taskFLOW.My.MySettings>
<setting name="IntervallReminder" serializeAs="String">
<value>5</value>
</setting>
<setting name="frmMainSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmMainPosition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorPosition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmMassValidatorSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmMassValidatorposition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorSearchPosition" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValSearchSplitterDistance" serializeAs="String">
<value>513</value>
</setting>
<setting name="frmMainWindowState" serializeAs="String">
<value>Normal</value>
</setting>
<setting name="frmTableColumns_Position" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorSearchSize" serializeAs="String">
<value>0, 0</value>
</setting>
<setting name="frmValidatorWindowState" serializeAs="String">
<value>Normal</value>
</setting>
</taskFLOW.My.MySettings>
</userSettings>
</configuration>

16
app/TaskFlow/Changelog.md Normal file
View File

@ -0,0 +1,16 @@
# CHANGELOG
## 2.4.7.0
### Features
- Modernisierung von verschiedenen Elementen (Validator, Startseite)
- Format Strings für Textboxen (Währung, Fließkommazahlen, Datum & Uhrzeit)
- Tabellen Filter im Hauptfenster speichern
### Bugfixes
- Anzeige-/Indexierungsfehler bei Mehrzeiligen Textboxen
- Formatierungsfehler bei Fließkomma-Indexen
- Fehlerhafte Verkettung von Werten bei abhängigen Controls

View File

@ -2,37 +2,62 @@
Imports System.Data.OracleClient
Imports System.IO
Imports WINDREAMLib
Imports DevExpress.Utils.CommonDialogs
Public Class ClassAllgemeineFunktionen
Public Shared Function GUI_LANGUAGE_INFO(pTITLE As String)
Dim oFilteredDatatable As DataTable = BASEDATA_DT_GUI_LANGUAGE_PHRASES.Clone()
Dim oExpression = $"LANGUAGE ='{USER_LANGUAGE}' AND TITLE = '{pTITLE}'"
BASEDATA_DT_GUI_LANGUAGE_PHRASES.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count = 1 Then
If oFilteredDatatable.Rows(0).Item("CAPT_TYPE") = "MsgBox" Or oFilteredDatatable.Rows(0).Item("CAPT_TYPE") = "MsgboxResult" Then
Return oFilteredDatatable
Else
If oFilteredDatatable.Rows(0).Item("STRING2") <> String.Empty Then
Try
Dim oFilteredDatatable As DataTable = BASEDATA_DT_GUI_LANGUAGE_PHRASES.Clone()
Dim oExpression = $"LANGUAGE ='{USER_LANGUAGE}' AND TITLE = '{pTITLE}'"
BASEDATA_DT_GUI_LANGUAGE_PHRASES.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count = 1 Then
If oFilteredDatatable.Rows(0).Item("CAPT_TYPE") = "MsgBox" Or oFilteredDatatable.Rows(0).Item("CAPT_TYPE") = "MsgboxResult" Then
Return oFilteredDatatable
Else
Return oFilteredDatatable.Rows(0).Item("STRING1")
If oFilteredDatatable.Rows(0).Item("STRING2") <> String.Empty Then
Return oFilteredDatatable
Else
Return oFilteredDatatable.Rows(0).Item("STRING1")
End If
End If
Else
If oFilteredDatatable.Rows.Count = 0 Then 'KEIN EINTRAG FÜR SPRACHE
oExpression = $"LANGUAGE ='de-DE' AND TITLE = '{pTITLE}'"
BASEDATA_DT_GUI_LANGUAGE_PHRASES.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
Try
Return oFilteredDatatable.Rows(0).Item("STRING1")
Catch ex As Exception
Return $"ERR-LANG(NoTranslationFor [{oExpression}]"
End Try
Else
Return oFilteredDatatable
End If
End If
Catch ex As Exception
LOGGER.Info($"Unexpected error in GUI_LANGUAGE_INFO FOR [{pTITLE}]...")
LOGGER.Error(ex)
End Try
Else
Return oFilteredDatatable
End If
End Function
Public Shared Function GUI_LANGUAGE_MSGBOX(pTITLE As String)
Dim oFilteredDatatable As DataTable = BASEDATA_DT_GUI_LANGUAGE_PHRASES.Clone()
Dim oExpression = $"LANGUAGE = '{USER_LANGUAGE}' AND TITLE = '{pTITLE}'"
BASEDATA_DT_GUI_LANGUAGE_PHRASES.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count = 1 Then
Return oFilteredDatatable.Rows(0)
Else
Return ""
End If
Try
Dim oFilteredDatatable As DataTable = BASEDATA_DT_GUI_LANGUAGE_PHRASES.Clone()
Dim oExpression = $"LANGUAGE = '{USER_LANGUAGE}' AND TITLE = '{pTITLE}'"
BASEDATA_DT_GUI_LANGUAGE_PHRASES.Select(oExpression).CopyToDataTable(oFilteredDatatable, LoadOption.PreserveChanges)
If oFilteredDatatable.Rows.Count = 1 Then
Return oFilteredDatatable.Rows(0)
Else
Return ""
End If
Catch ex As Exception
LOGGER.Info($"Unexpected error in GUI_LANGUAGE_MSGBOX FOR [{pTITLE}]...")
LOGGER.Error(ex)
End Try
End Function
Public Shared Function LoginOut(LoginorOut As String) As Boolean
Try
@ -41,16 +66,17 @@ Public Class ClassAllgemeineFunktionen
End If
Dim oSql As String
If LoginorOut = "LOGIN" Then
oSql = String.Format("INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME) VALUES ({0},{1},'Process-Manager','{2}','{3}')", USER_ID, 1, My.Application.Info.Version.ToString, Environment.MachineName)
oSql = String.Format($"INSERT INTO TBDD_USER_MODULE_LOG_IN (USER_ID,CLIENT_ID,MODULE,VERSION_CLIENT,MACHINE_NAME,LANGUAGE_OVERRIDE) VALUES
({USER_ID},1,'{MODULE_PM}','{My.Application.Info.Version.ToString}','{Environment.MachineName}','')")
Else
If INACTIVITYRecognized = True Then
oSql = $"UPDATE TBDD_USER_LOGIN_OUT SET COMMENT = 'Inactivity Detected',LOGOUT = GETDATE() WHERE USER_ID = {USER_ID} AND UPPER(MODULE) = UPPER('Process-Manager') AND LOGOUT IS NULL"
oSql = $"UPDATE TBDD_USER_LOGIN_OUT SET COMMENT = 'Inactivity Detected',LOGOUT = GETDATE() WHERE USER_ID = {USER_ID} AND MODULE = '{MODULE_PM}' AND LOGOUT IS NULL"
If DatabaseFallback.ExecuteNonQueryECM(oSql) = True Then
End If
End If
oSql = $"DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = {USER_ID} AND UPPER(MODULE) = UPPER('Process-Manager')"
oSql = $"DELETE FROM TBDD_USER_MODULE_LOG_IN WHERE USER_ID = {USER_ID} AND MODULE = '{MODULE_PM}'"
End If
If DatabaseFallback.ExecuteNonQueryECM(oSql) = True Then
LOGGER.Debug($"{LoginorOut} of User successfully!")
@ -66,20 +92,6 @@ Public Class ClassAllgemeineFunktionen
End Try
End Function
Public Function Insert_LogEntry(ERR_MSG As String)
Try
ERR_MSG = ERR_MSG.Replace("'", "''")
Dim insert As String = $"INSERT INTO TBPM_LOG_DEBUG (USERID, LOGMSG) VALUES ({USER_ID},'{ERR_MSG}')"
If ExecuteonMSSQL(insert, CONNECTION_STRING_ECM) <> "" Then
LOGGER.Warn("...Eintrag in Log-Tabelle konnte nicht erstellt werden!!", True)
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Error in Insert_LogEntry: " & ex.Message)
End Try
End Function
Public Function ExecuteonMSSQL(ByVal sqlcommand As String, ConString As String)
Try
' die nötigen Variablen definieren
@ -156,41 +168,6 @@ Public Class ClassAllgemeineFunktionen
End If
End Sub
'Public Function Delete_xffres(originFile As String, clsWD As ClassWindream_allgemein)
' Try
' Dim Stammname As String = System.IO.Path.GetFileNameWithoutExtension(originFile)
' Dim Path As String = System.IO.Path.GetDirectoryName(originFile)
' Dim xffres As String = Path & "\" & Stammname & ".xffres"
' If file_exists(xffres, clsWD) = True Then
' System.IO.File.Delete(xffres)
' LOGGER.Info("Datei " & xffres & " erfolgreich gelöscht")
' Return True
' Else
' Return Nothing
' End If
' Catch ex As Exception
' LOGGER.Error(ex)
' LOGGER.Info(" Fehler bei Delete_xffres", True)
' LOGGER.Info("Fehlermeldung: " & ex.Message)
' End Try
'End Function
'Public Function Delete_File(originFile As String)
' Try
' If file_exists(originFile, False) = True Then
' System.IO.File.Delete(originFile)
' LOGGER.Info("Manuelles Löschen: Datei " & originFile & " erfolgreich gelöscht", False)
' Return True
' Else
' MsgBox("Die Datei konnte nicht gelsöcht werden. File NOT EXISTS", MsgBoxStyle.Exclamation)
' Return False
' End If
' Catch ex As Exception
' LOGGER.Info(" Fehler bei Delete_File", True)
' LOGGER.Info("Fehlermeldung: " & ex.Message)
' End Try
'End Function
Public Function Move2Folder(ByVal vMove_File As String, ByVal vZiel_Pfad As String, Profile_ID As Integer, clsWD As ClassWindream_allgemein)
Try
@ -219,7 +196,6 @@ Public Class ClassAllgemeineFunktionen
LOGGER.Info("Fehler bei Move2Folder", True)
LOGGER.Info("Fehlermeldung")
LOGGER.Info(ex.Message)
Insert_LogEntry($"ERROR {ex.Message}")
Return ex.Message
End Try
End Function
@ -271,7 +247,7 @@ Public Class ClassAllgemeineFunktionen
End If
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Fehler:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler bei checkValue_Exists:")
MsgBox(ex.Message, MsgBoxStyle.Critical, "Unexpected error checkValue_Exists:")
LOGGER.Info(" - Unvorhergesehener Fehler bei checkValue_Exists - Fehler: " & vbNewLine & ex.Message)
Return False
End Try
@ -304,8 +280,7 @@ Public Class ClassAllgemeineFunktionen
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unvorhergesehener Fehler bei Execute_Scalar_SQLServer" & vbNewLine & "Automatischer Index (j/n): " & check.ToString & vbNewLine & "Fehler:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler bei Ausführen sql:")
Insert_LogEntry($"ERROR Execute_Scalar_SQLServer{ex.Message}")
MsgBox("Unexpected error Execute_Scalar_SQLServer" & vbNewLine & "Automatic Index (j/n): " & check.ToString & vbNewLine & "ERROR:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Unexpected error Execute_Scalar_SQL sql:")
LOGGER.Info(" - Unvorhergesehener Fehler bei Execute_Scalar_SQLServer" & vbNewLine & "Automatischer Index (j/n): " & check.ToString & vbNewLine & "Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - SQL: " & vsql_statement)
LOGGER.Info(" - Connection: " & vconnectionString)
@ -338,12 +313,108 @@ Public Class ClassAllgemeineFunktionen
cnn.Close()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unvorhergesehener Fehler bei Execute_Scalar_Oracle" & vbNewLine & "Automatischer Index (j/n): " & check.ToString & vbNewLine & "Fehler:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler bei Ausführen sql:")
Insert_LogEntry($"ERROR Execute_Scalar_Oracle{ex.Message}")
MsgBox("Unexpected error Execute_Scalar_Oracle" & vbNewLine & "Automatic Index (y/n): " & check.ToString & vbNewLine & "Error:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Unexpected error Execute_Scalar_oracle sql:")
LOGGER.Info(" - Unvorhergesehener Fehler bei Execute_Scalar_Oracle" & vbNewLine & "Automatischer Index (j/n): " & check.ToString & vbNewLine & "Fehler: " & vbNewLine & ex.Message)
LOGGER.Info(" - SQL: " & vsql_statement)
LOGGER.Info(" - Connection: " & vconnectionString)
Return 99
End Try
End Function
Public Shared Sub Save_Logfiles()
Try
Dim saveFileDialog1 As New SaveFileDialog()
If File.Exists(LOGCONFIG.LogFile) Then
saveFileDialog1.Filter = "log file|*.log"
saveFileDialog1.FileName = Path.GetFileName(LOGCONFIG.LogFile)
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
If File.Exists(saveFileDialog1.FileName) Then
File.Delete(saveFileDialog1.FileName)
End If
File.Copy(LOGCONFIG.LogFile, saveFileDialog1.FileName)
End If
End If
If DEBUG = True Then
Dim oDebuglogFilename_only = Path.GetFileNameWithoutExtension(LOGCONFIG.LogFile) + "-Debug.log"
Dim oDebuglogFilename = LOGCONFIG.LogDirectory + "\" + oDebuglogFilename_only
If File.Exists(oDebuglogFilename) Then
saveFileDialog1.Filter = "log file|*.log"
saveFileDialog1.FileName = oDebuglogFilename_only
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
If File.Exists(saveFileDialog1.FileName) Then
File.Delete(saveFileDialog1.FileName)
End If
File.Copy(oDebuglogFilename, saveFileDialog1.FileName)
End If
End If
End If
Dim oErrorlogFilename_only = Path.GetFileNameWithoutExtension(LOGCONFIG.LogFile) + "-Error.log"
Dim oErrorlogFilename = LOGCONFIG.LogDirectory + "\" + oErrorlogFilename_only
If File.Exists(oErrorlogFilename) Then
saveFileDialog1.Filter = "log file|*.log"
saveFileDialog1.FileName = oErrorlogFilename_only
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
If File.Exists(saveFileDialog1.FileName) Then
File.Delete(saveFileDialog1.FileName)
End If
File.Copy(oErrorlogFilename, saveFileDialog1.FileName)
End If
End If
Dim oMSG = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("ExportLogFiles_Result")
MsgBox(oMSG, MsgBoxStyle.Information, ADDITIONAL_TITLE)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error saving log file")
End Try
End Sub
Public Shared Function NotNull(Of T)(value As Object, defaultValue As T) As T
If value Is Nothing OrElse Convert.IsDBNull(value) Then
Return defaultValue
End If
' Versuche den Wert in den gewünschten Typ zu konvertieren
Try
Return CType(value, T)
Catch ex As InvalidCastException
' Falls die Konvertierung fehlschlägt, gib den Default zurück
Return defaultValue
End Try
End Function
Public Shared Function NotNullNullable(Of T As Structure)(value As Object, defaultValue As Nullable(Of T)) As Nullable(Of T)
If value Is Nothing OrElse Convert.IsDBNull(value) Then
Return defaultValue
End If
Try
' Direkte Casts sind robust, wandeln aber DBNull nicht das ist bereits oben abgefangen.
Return DirectCast(value, Nullable(Of T))
Catch
Try
' Fallback: in T casten und zu Nullable machen
Return New Nullable(Of T)(DirectCast(value, T))
Catch
Return defaultValue
End Try
End Try
End Function
Public Shared Function NotNullString(value As Object, defaultValue As Object) As String
If value Is Nothing OrElse Convert.IsDBNull(value) Then Return defaultValue
Return CStr(value)
End Function
Public Shared Function NotNullDate(value As Object, defaultValue As DateTime) As DateTime?
If value Is Nothing OrElse Convert.IsDBNull(value) Then Return defaultValue
Return DirectCast(value, DateTime)
End Function
Public Shared Function NewShortGuid() As String
' Neue GUID erzeugen
Dim g As Guid = Guid.NewGuid()
' In Base64 umwandeln
Dim b64 As String = Convert.ToBase64String(g.ToByteArray())
' Unerwünschte Zeichen ersetzen/entfernen
b64 = b64.Replace("=", "").Replace("+", "-").Replace("/", "_")
' Ergebnis zurückgeben
Return b64
End Function
End Class

View File

@ -1,4 +1,5 @@
Imports DigitalData.Modules.Config.ConfigAttributes
Imports DigitalData.Modules.Logging
Public Class ClassConfig
' Global Settings (from computerconfig, overridable by userconfig)
@ -29,12 +30,25 @@ Public Class ClassConfig
' Misc Settings
Public Property DEBUG As Boolean = False
Public Property ReminderTimer As Integer = 5
Public Property OverviewRefresh_Intervall As Integer = 2
Public Property MonitorSplitter1_Distance As Integer = 510
Public Property MonitorSplitter2_Distance As Integer = 270
Public Property MonitorSplitter3_Distance As Integer = 400
Public Property frmValidatorWindowState As String = "Normal"
Public Property LastExportPath As String = ""
Public Property ADDITIONAL_SEARCHES_LOAD_ONCLICK As Boolean = True
Public Property NOTES_ONCLICK As Boolean = True
Public Property GridFontSizeDelta As Integer = 0
Public Property ProfileConfig As New ProfileUserConfig
Public Class ProfileUserConfig
Public Property ProfileID As Integer
Public Property ShowFile As Boolean = True
Public Property ShowSearchesDirect As Boolean = True
End Class
End Class

View File

@ -14,9 +14,11 @@ Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.Language.DataTableEx
Imports DigitalData.Modules.Base
Public Class ClassControlCreator
@ -47,18 +49,29 @@ Public Class ClassControlCreator
Public Const AGGREGATE_NONE = "NONE"
Public Const AGGREGATE_TOTAL_INTEGER = "TOTAL_INTEGER"
Public Const AGGREGATE_TOTAL_FLOAT = "TOTAL_FLOAT"
Public Const AGGREGATE_TOTAL_CURRENCY = "TOTAL_CURRENCY"
Public Const AGGREGATE_TOTAL_MIN = "TOTAL_MIN"
Public Const AGGREGATE_TOTAL_MAX = "TOTAL_MAX"
Public Const AGGREGATE_TOTAL_AVG = "TOTAL_AVG"
Public Const AGGREGATE_TOTAL_COUNT = "TOTAL_COUNT"
Public Shared Property Logger As Logger
Public Const CONTROL_TYPE_TEXT = "TEXT"
Public Const CONTROL_TYPE_INTEGER = "INTEGER"
Public Const CONTROL_TYPE_BOOLEAN = "BOOLEAN"
Public Const CONTROL_TYPE_DOUBLE = "DOUBLE"
Public Const CONTROL_TYPE_CURRENCY = "CURRENCY"
Public Const CONTROL_TYPE_DATE = "DATE"
Public Const CONTROL_TYPE_DATETIME = "DATETIME"
Public ReadOnly Property Logger As Logger
Public ReadOnly Property LogConfig As LogConfig
''' <summary>
''' Saves the column data for each grid and each column in that grid
''' </summary>
Public Shared Property GridTables As New Dictionary(Of Integer, Dictionary(Of String, RepositoryItem))
Public Shared Property GridColumns As New Dictionary(Of Integer, DataTable)
Public Property GridTables As New Dictionary(Of Integer, Dictionary(Of String, RepositoryItem))
Public Property GridColumns As New Dictionary(Of Integer, DataTable)
''' <summary>
''' Standard Eigenschaften für alle Controls
@ -66,49 +79,68 @@ Public Class ClassControlCreator
Private Class ControlDBProps
Public Guid As Integer
Public Name As String
Public Attribute As String
Public Location As Point
Public [Font] As Font
Public [Color] As Color
Public [ReadOnly] As Boolean
Public AddNewItems As Boolean = False
End Class
Public Class ControlMetadata
Public Guid As Integer
Public Name As String
Public Attribute As String
Public [ReadOnly] As Boolean = False
Public BackColor As Color = Color.White
End Class
Private Shared Function TransformDataRow(row As DataRow) As ControlDBProps
Public Sub New(pLogConfig As LogConfig)
LogConfig = pLogConfig
Logger = pLogConfig.GetLogger()
End Sub
Private Function TransformDataRow(row As DataRow) As ControlDBProps
Dim x As Integer = row.Item("X_LOC")
Dim y As Integer = row.Item("Y_LOC")
Dim style As FontStyle = NotNull(row.Item("FONT_STYLE"), DEFAULT_FONT_STYLE)
Dim size As Single = NotNull(row.Item("FONT_SIZE"), DEFAULT_FONT_SIZE)
Dim familyString As String = NotNull(row.Item("FONT_FAMILY"), DEFAULT_FONT_FAMILY)
Dim style As FontStyle = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_STYLE"), DEFAULT_FONT_STYLE)
Dim size As Single = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_SIZE"), DEFAULT_FONT_SIZE)
Dim familyString As String = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_FAMILY"), DEFAULT_FONT_FAMILY)
Dim family As FontFamily = New FontFamily(familyString)
Dim oGuid As Integer = row.Item("GUID")
Dim oName As String = row.Item("NAME")
Dim oControlName As String = ClassAllgemeineFunktionen.NotNullString(row.Item("NAME"), "")
Dim oAttribute As String = ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), "")
Dim oLocation As New Point(x, y)
Dim oFont As New Font(family, size, style, GraphicsUnit.Point)
Dim oColor As Color = IntToColor(NotNull(row.Item("FONT_COLOR"), DEFAULT_COLOR))
Dim oColor As Color = IntToColor(ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_COLOR"), DEFAULT_COLOR))
Dim oReadOnly As Boolean = row.Item("READ_ONLY")
Dim oAddNewItems As Boolean = row.Item("VKT_ADD_ITEM")
If oAttribute = "@@DISPLAY_ONLY" And oReadOnly = False Then
Logger.Info($"Override oReadOnly = True for Control [{oControlName}] as Attribute is @@DISPLAY_ONLY and ReadOnly = False")
oReadOnly = True
End If
Return New ControlDBProps() With {
.Guid = oGuid,
.Name = oName,
.Name = oControlName,
.Attribute = oAttribute,
.Location = oLocation,
.Font = oFont,
.Color = oColor,
.ReadOnly = oReadOnly
.ReadOnly = oReadOnly,
.AddNewItems = oAddNewItems
}
End Function
Public Shared Function CreateBaseControl(ctrl As Control, OControlRow As DataRow, designMode As Boolean) As Control
Public Function CreateBaseControl(ctrl As Control, OControlRow As DataRow, designMode As Boolean) As Control
Try
Dim props As ControlDBProps = TransformDataRow(OControlRow)
ctrl.Tag = New ControlMetadata() With {
.Guid = props.Guid,
.Attribute = props.Attribute,
.ReadOnly = props.ReadOnly,
.Name = props.Name
}
@ -116,8 +148,6 @@ Public Class ClassControlCreator
ctrl.Location = props.Location
ctrl.Font = props.Font
ctrl.ForeColor = props.Color
If designMode Then
ctrl.Cursor = Cursors.Hand
End If
@ -136,9 +166,9 @@ Public Class ClassControlCreator
' ----------------------- NEW CONTROLS -----------------------
Public Shared Function CreateNewTextBox(location As Point) As TextBox
Dim control As New TextBox With {
.Name = $"{PREFIX_TEXTBOX}_{clsTools.ShortGuid()}",
Public Function CreateNewTextBox(location As Point) As TextEdit
Dim control As New TextEdit With {
.Name = $"{PREFIX_TEXTBOX}_{ClassAllgemeineFunktionen.NewShortGuid()}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Location = location,
.ReadOnly = True,
@ -149,9 +179,9 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateNewLabel(location As Point) As Label
Public Function CreateNewLabel(location As Point) As Label
Dim control As New Label With {
.Name = $"{PREFIX_LABEL}_{clsTools.ShortGuid}",
.Name = $"{PREFIX_LABEL}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Text = DEFAULT_TEXT,
.AutoSize = True,
.Location = location,
@ -161,9 +191,9 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateNewCheckbox(location As Point) As CheckBox
Public Function CreateNewCheckbox(location As Point) As CheckBox
Dim control As New CheckBox With {
.Name = $"{PREFIX_CHECKBOX}_{clsTools.ShortGuid}",
.Name = $"{PREFIX_CHECKBOX}_{ClassAllgemeineFunktionen.NewShortGuid}",
.AutoSize = True,
.Text = DEFAULT_TEXT,
.Cursor = Cursors.Hand,
@ -174,9 +204,9 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateNewCombobox(location As Point) As ComboBox
Dim control As New ComboBox With {
.Name = $"{PREFIX_COMBOBOX}_{clsTools.ShortGuid}",
Public Function CreateNewCombobox(location As Point) As Windows.Forms.ComboBox
Dim control As New Windows.Forms.ComboBox With {
.Name = $"{PREFIX_COMBOBOX}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand,
.Location = location
@ -185,9 +215,9 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateNewDatetimepicker(location As Point) As DateTimePicker
Public Function CreateNewDatetimepicker(location As Point) As DateTimePicker
Dim control As New DateTimePicker With {
.Name = $"{PREFIX_DATETIMEPICKER}_{clsTools.ShortGuid}",
.Name = $"{PREFIX_DATETIMEPICKER}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand,
.Location = location,
@ -197,9 +227,9 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateNewDatagridview(location As Point) As DataGridView
Public Function CreateNewDatagridview(location As Point) As DataGridView
Dim control As New DataGridView With {
.Name = $"{PREFIX_DATAGRIDVIEW}_{clsTools.ShortGuid}",
.Name = $"{PREFIX_DATAGRIDVIEW}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_TABLE),
.Cursor = Cursors.Hand,
.Location = location,
@ -217,9 +247,9 @@ Public Class ClassControlCreator
Return control
End Function
Friend Shared Function CreateNewLookupControl(location As Point) As LookupControl3
Friend Function CreateNewLookupControl(location As Point) As LookupControl3
Dim control As New LookupControl3 With {
.Name = $"{PREFIX_LOOKUP}_{clsTools.ShortGuid}",
.Name = $"{PREFIX_LOOKUP}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand,
.Location = location
@ -227,14 +257,14 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateNewTable(location As Point) As GridControl
Public Function CreateNewTable(location As Point) As GridControl
Dim oControl As New GridControl With {
.Name = $"{PREFIX_TABLE}_{clsTools.ShortGuid}",
.Name = $"{PREFIX_TABLE}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_TABLE),
.Cursor = Cursors.Hand,
.Location = location
.Location = location,
.UseEmbeddedNavigator = True
}
oControl.UseEmbeddedNavigator = True
oControl.ForceInitialize()
Dim oView As GridView = oControl.DefaultView
oView.OptionsView.ShowGroupPanel = False
@ -247,9 +277,9 @@ Public Class ClassControlCreator
Return oControl
End Function
Public Shared Function CreateNewLine(location As Point) As LineLabel
Public Function CreateNewLine(location As Point) As LineLabel
Dim control As New LineLabel With {
.Name = $"{PREFIX_LINE}_{clsTools.ShortGuid}",
.Name = $"{PREFIX_LINE}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Text = "---------------------------------",
.Size = New Size(100, 5),
.Location = location
@ -257,9 +287,9 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateNewButton(location As Point) As Button
Public Function CreateNewButton(location As Point) As Button
Dim control As New Button With {
.Name = $"{PREFIX_BUTTON}_{clsTools.ShortGuid}",
.Name = $"{PREFIX_BUTTON}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(108, 28),
.Cursor = Cursors.Hand,
.Location = location
@ -270,50 +300,85 @@ Public Class ClassControlCreator
' ----------------------- EXISITING CONTROLS -----------------------
Public Shared Function CreateExistingTextbox(oControlRow As DataRow, designMode As Boolean) As TextBox
Public Function CreateExistingTextbox(oControlRow As DataRow, designMode As Boolean) As BaseEdit
Try
Dim control As TextBox = CreateBaseControl(New TextBox(), oControlRow, designMode)
control.BackColor = Color.White
If oControlRow.Item("HEIGHT") > 27 Then
control.Multiline = True
Dim oHeight = oControlRow.ItemEx("HEIGHT", 0)
Dim oWidth = oControlRow.ItemEx("WIDTH", 0)
Dim oReadOnly = oControlRow.ItemEx("READ_ONLY", False)
Dim oFormatString = oControlRow.ItemEx("FORMAT_STRING", String.Empty)
Dim oBackColorIf = oControlRow.ItemEx("CTRL_BACKCOLOR_IF", String.Empty)
Dim oIndexname = oControlRow.ItemEx("INDEX_NAME", String.Empty)
Dim oAlignment = oControlRow.ItemEx("TEXT_ALIGNMENT", "Near")
Dim oControl As BaseEdit = Nothing
If oHeight >= 27 Then
oControl = CreateBaseControl(New MemoEdit(), oControlRow, designMode)
Else
oControl = CreateBaseControl(New TextEdit(), oControlRow, designMode)
End If
control.Height = oControlRow.Item("HEIGHT")
control.Width = oControlRow.Item("WIDTH")
Dim oMeta As ControlMetadata = oControl.Tag
oControl.BackColor = Color.White
oMeta.BackColor = Color.White
oControl.Height = oHeight
oControl.Width = oWidth
If oAlignment = "Near" Then
oControl.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near
ElseIf oAlignment = "Center" Then
oControl.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center
ElseIf oAlignment = "Far" Then
oControl.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far
End If
If Not designMode Then
control.AcceptsReturn = True
control.ReadOnly = oControlRow.Item("READ_ONLY")
control.TabStop = Not oControlRow.Item("READ_ONLY")
control.BackColor = IIf(oControlRow.Item("READ_ONLY"), Color.LightGray, Color.White)
control.ScrollBars = ScrollBars.Vertical
'oControl.ReadOnly = oReadOnly
oControl.TabStop = Not oReadOnly
oControl.BackColor = IIf(oReadOnly, Color.LightGray, Color.White)
' If there is a format string defined, set it for display only.
' Editing will be without format string, according to current user-culture.
If oFormatString <> String.Empty Then
oControl.Properties.DisplayFormat.FormatType = FormatType.Custom
oControl.Properties.DisplayFormat.FormatString = ClassFormat.GetFormatString(oFormatString)
'ElseIf oReadOnly Then
' ' For read only controls, don't show the raw value when a user clicks into it
' oControl.Properties.EditFormat.FormatType = FormatType.Custom
' oControl.Properties.EditFormat.FormatString = ClassFormat.GetFormatString(oFormatString)
End If
Else
control.ReadOnly = True
oControl.ReadOnly = True
End If
Return control
Return oControl
Catch ex As Exception
Logger.Error(ex)
Return Nothing
End Try
End Function
Public Shared Function CreateExistingLabel(row As DataRow, designMode As Boolean) As Label
Dim control As Label = CreateBaseControl(New Label(), row, designMode)
Public Function CreateExistingLabel(row As DataRow, designMode As Boolean) As Label
Dim oControl As Label = CreateBaseControl(New Label(), row, designMode)
Try
control.Text = row.Item("CTRL_CAPTION_LANG")
oControl.Text = row.Item("CTRL_CAPTION_LANG")
Catch ex As Exception
control.Text = row.Item("CTRL_TEXT")
Logger.Warn("Label [{0}] does not have a translation!", oControl.Name)
oControl.Text = row.Item("CTRL_TEXT")
End Try
Dim oAlignment = row.ItemEx("TEXT_ALIGNMENT", "Near")
If oAlignment = "Near" Then
oControl.TextAlign = ContentAlignment.MiddleLeft
ElseIf oAlignment = "Center" Then
oControl.TextAlign = ContentAlignment.MiddleCenter
ElseIf oAlignment = "Far" Then
oControl.TextAlign = ContentAlignment.MiddleRight
End If
oControl.AutoSize = True
control.AutoSize = True
Return control
Return oControl
End Function
Public Shared Function CreateExistingButton(row As DataRow, designMode As Boolean) As Button
Public Function CreateExistingButton(row As DataRow, designMode As Boolean) As Button
Dim oControl As Button = CreateBaseControl(New Button(), row, designMode)
Dim ctrl_image As Bitmap = Nothing
@ -342,24 +407,56 @@ Public Class ClassControlCreator
Return oControl
End Function
Public Shared Function CreateExistingCombobox(row As DataRow, designMode As Boolean) As Windows.Forms.ComboBox
Dim control As Windows.Forms.ComboBox = CreateBaseControl(New Windows.Forms.ComboBox(), row, designMode)
control.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
Public Function CreateExistingCombobox(pRow As DataRow, designMode As Boolean) As Windows.Forms.ComboBox
Dim oControl As Windows.Forms.ComboBox = CreateBaseControl(New Windows.Forms.ComboBox(), pRow, designMode)
oControl.Size = New Size(pRow.Item("WIDTH"), pRow.Item("HEIGHT"))
If Not designMode Then
control.Enabled = Not row.Item("READ_ONLY")
control.TabStop = Not row.Item("READ_ONLY")
control.BackColor = IIf(row.Item("READ_ONLY"), Color.LightGray, Color.White)
oControl.Enabled = Not pRow.Item("READ_ONLY")
oControl.TabStop = Not pRow.Item("READ_ONLY")
oControl.BackColor = IIf(pRow.Item("READ_ONLY"), Color.LightGray, Color.White)
control.AutoCompleteMode = AutoCompleteMode.SuggestAppend
control.AutoCompleteSource = AutoCompleteSource.ListItems
oControl.AutoCompleteMode = AutoCompleteMode.SuggestAppend
oControl.AutoCompleteSource = AutoCompleteSource.ListItems
End If
Return control
'' Apply text alignment by owner-drawing based on oAlignment
'Dim oAlignment = pRow.ItemEx("TEXT_ALIGNMENT", "Near")
'' Ensure owner-draw so we can control text alignment
'oControl.DrawMode = Global.System.Windows.Forms.DrawMode.OwnerDrawFixed
'' Attach handler with inline drawing logic respecting alignment
'AddHandler oControl.DrawItem,
'Sub(sender As Object, e As DrawItemEventArgs)
' Dim cmb = TryCast(sender, Windows.Forms.ComboBox)
' If cmb Is Nothing Then Return
' e.DrawBackground()
' If e.Index >= 0 AndAlso e.Index < cmb.Items.Count Then
' Dim text As String = cmb.GetItemText(cmb.Items(e.Index))
' Dim sf As New StringFormat(StringFormatFlags.NoWrap)
' Select Case oAlignment
' Case "Near"
' sf.Alignment = StringAlignment.Near
' Case "Center"
' sf.Alignment = StringAlignment.Center
' Case "Far"
' sf.Alignment = StringAlignment.Far
' Case Else
' sf.Alignment = StringAlignment.Near
' End Select
' sf.LineAlignment = StringAlignment.Center
' Using foreBrush As New SolidBrush(If((e.State And DrawItemState.Selected) = DrawItemState.Selected, SystemColors.HighlightText, cmb.ForeColor))
' e.Graphics.DrawString(text, e.Font, foreBrush, e.Bounds, sf)
' End Using
' End If
' e.DrawFocusRectangle()
'End Sub
Return oControl
End Function
Public Shared Function CreateExistingDatepicker(row As DataRow, designMode As Boolean) As DateTimePicker
Public Function CreateExistingDatepicker(row As DataRow, designMode As Boolean) As DateTimePicker
Dim control As DateTimePicker = CreateBaseControl(New DateTimePicker(), row, designMode)
control.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
@ -373,7 +470,7 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateExisingCheckbox(row As DataRow, designMode As Boolean) As CheckBox
Public Function CreateExisingCheckbox(row As DataRow, designMode As Boolean) As CheckBox
Dim oCheckBox As CheckBox = CreateBaseControl(New CheckBox(), row, designMode)
oCheckBox.AutoSize = True
@ -392,7 +489,7 @@ Public Class ClassControlCreator
Return oCheckBox
End Function
Public Shared Function CreateExistingDataGridView(row As DataRow, designMode As Boolean) As DataGridView
Public Function CreateExistingDataGridView(row As DataRow, designMode As Boolean) As DataGridView
Dim control As DataGridView = CreateBaseControl(New DataGridView(), row, designMode)
control.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
@ -416,25 +513,36 @@ Public Class ClassControlCreator
Return control
End Function
Public Shared Function CreateExistingLookupControl(row As DataRow, designMode As Boolean) As LookupControl3
Dim control As LookupControl3 = CreateBaseControl(New LookupControl3(), row, designMode)
control.Properties.Name = control.Name
control.Width = row.Item("WIDTH")
control.ReadOnly = row.Item("READ_ONLY")
Public Function CreateExistingLookupControl(pRow As DataRow, pDesignMode As Boolean) As LookupControl3
Dim oControl As LookupControl3 = CreateBaseControl(New LookupControl3(), pRow, pDesignMode)
oControl.Properties.Name = oControl.Name
oControl.Width = pRow.Item("WIDTH")
oControl.ReadOnly = pRow.Item("READ_ONLY")
oControl.Properties.AllowAddNewValues = pRow.Item("VKT_ADD_ITEM")
Dim oAlignment = pRow.ItemEx("TEXT_ALIGNMENT", "Near")
If designMode Then
control.Cursor = Cursors.Hand
If oAlignment = "Near" Then
oControl.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near
ElseIf oAlignment = "Center" Then
oControl.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center
ElseIf oAlignment = "Far" Then
oControl.Properties.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far
End If
Return control
If pDesignMode Then
oControl.Cursor = Cursors.Hand
End If
Return oControl
End Function
Public Shared Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean) As GridControl
Public Function CreateExistingGridControl(row As DataRow, DT_MY_COLUMNS As DataTable, designMode As Boolean, pcurrencySymbol As String) As GridControl
Dim oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables)
Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode)
Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid
Dim oDatatable As New DataTable
Dim oView As GridView
oControl.ForceInitialize()
oView = oControl.MainView
@ -448,7 +556,9 @@ Public Class ClassControlCreator
oView.OptionsBehavior.Editable = Not row.Item("READ_ONLY")
oView.OptionsBehavior.ReadOnly = row.Item("READ_ONLY")
'oView.OptionsBehavior.EditorShowMode = EditorShowMode.Click
If oView.OptionsBehavior.ReadOnly = True Then
oView.OptionsBehavior.Editable = False
End If
oControl.UseEmbeddedNavigator = Not row.Item("READ_ONLY")
oView.OptionsBehavior.EditorShowMode = EditorShowMode.MouseDown
@ -457,17 +567,18 @@ Public Class ClassControlCreator
oView.OptionsSelection.MultiSelectMode = GridMultiSelectMode.CellSelect
oView.OptionsSelection.MultiSelect = True
oView.OptionsClipboard.CopyColumnHeaders = DefaultBoolean.False
If row.Item("VKT_ADD_ITEM") = True Then
oView.OptionsBehavior.AllowAddRows = DefaultBoolean.True
oView.OptionsBehavior.AllowDeleteRows = DefaultBoolean.True
oView.OptionsView.NewItemRowPosition = NewItemRowPosition.Bottom
Else
oView.OptionsBehavior.AllowAddRows = DefaultBoolean.False
oView.OptionsBehavior.AllowDeleteRows = DefaultBoolean.False
oView.OptionsView.NewItemRowPosition = NewItemRowPosition.None
'oView.OptionsView.ColumnAutoWidth = True
If oView.OptionsBehavior.ReadOnly = False Then
If row.Item("VKT_ADD_ITEM") = True Then
oView.OptionsBehavior.AllowAddRows = DefaultBoolean.True
oView.OptionsBehavior.AllowDeleteRows = DefaultBoolean.True
oView.OptionsView.NewItemRowPosition = NewItemRowPosition.Bottom
Else
oView.OptionsBehavior.Editable = False
oView.OptionsView.NewItemRowPosition = NewItemRowPosition.None
End If
End If
End If
oControl.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
@ -499,64 +610,10 @@ Public Class ClassControlCreator
GridTables.Add(oControlId, New Dictionary(Of String, RepositoryItem)())
End If
For Each oRow As DataRow In DT_MY_COLUMNS.Rows
' Create Columns in Datatable
Dim oColumn = New DataColumn() With {
.ColumnName = oRow.Item("SPALTENNAME"),
.Caption = oRow.Item("SPALTEN_HEADER"),
.ReadOnly = False
}
Select Case oRow.Item("TYPE_COLUMN")
Case "TEXT"
oColumn.DataType = GetType(String)
Case "INTEGER"
oColumn.DataType = GetType(Integer)
Case "BOOLEAN"
oColumn.DataType = GetType(Boolean)
Case Else
oColumn.DataType = GetType(String)
End Select
oDatatable.Columns.Add(oColumn)
' Fetch and cache Combobox results
Dim oConnectionId As Integer = NotNull(oRow.Item("CONNECTION_ID"), 0)
Dim oSqlCommand As String = NotNull(oRow.Item("SQL_COMMAND"), "")
If oConnectionId > 0 And oSqlCommand <> "" Then
Try
Dim oComboboxDataTable As DataTable = Nothing
Dim oColumnName As String = oRow.Item("SPALTENNAME")
Logger.Debug("Working on SQL for Column[{0}]...", oColumnName)
If Not clsPatterns.HasComplexPatterns(oSqlCommand) Then
Logger.Debug("SQL has no complex patterns!")
'oComboboxDataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oConnectionId)
oComboboxDataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
.ConnectionId = oConnectionId
})
Else
Logger.Debug("...has complex patterns!!")
End If
Dim oRepositoryItem = GridTables_GetRepositoryItemForColumn(oColumnName, oComboboxDataTable, oRow.Item("ADVANCED_LOOKUP"))
If GridTables.Item(oControlId).ContainsKey(oColumnName) Then
GridTables.Item(oControlId).Item(oColumnName) = oRepositoryItem
Else
GridTables.Item(oControlId).Add(oColumnName, oRepositoryItem)
End If
Catch ex As Exception
Logger.Warn("Could not load data for column {0} in control {1}", oRow.Item("SPALTENNAME"), oControl.Name)
Logger.Error(ex)
End Try
End If
Next
oView.PopulateColumns(oDatatable)
oControl.DataSource = oDatatable
Dim oDataTable = oGridControlCreator.CreateGridColumns(DT_MY_COLUMNS)
GridTables = oGridControlCreator.FillGridTables(DT_MY_COLUMNS, oControlId, oControl.Name)
oView.PopulateColumns(oDataTable)
oControl.DataSource = oDataTable
oControl.RefreshDataSource()
oControl.ForceInitialize()
@ -583,135 +640,8 @@ Public Class ClassControlCreator
End Try
End If
Dim oShouldDisplayFooter As Boolean = False
For Each oCol As GridColumn In oView.Columns
Dim oColumnData As DataRow = DT_MY_COLUMNS.
Select($"SPALTENNAME = '{oCol.FieldName}'").
FirstOrDefault()
If oColumnData Is Nothing Then
Continue For
End If
Dim oSequence As Integer = oColumnData.Item("SEQUENCE")
oCol.VisibleIndex = oSequence
Dim oSummaryFunction As String = oColumnData.Item("SUMMARY_FUNCTION")
Select Case oSummaryFunction
Case AGGREGATE_TOTAL_INTEGER
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum
oCol.SummaryItem.DisplayFormat = "SUM: {0:0}"
oShouldDisplayFooter = True
Case AGGREGATE_TOTAL_FLOAT
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum
oCol.SummaryItem.DisplayFormat = "SUM: {0:n2}"
oShouldDisplayFooter = True
Case AGGREGATE_TOTAL_AVG
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Average
oCol.SummaryItem.DisplayFormat = "AVG: {0}"
oShouldDisplayFooter = True
Case AGGREGATE_TOTAL_MAX
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Max
oCol.SummaryItem.DisplayFormat = "MAX: {0}"
oShouldDisplayFooter = True
Case AGGREGATE_TOTAL_MIN
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Min
oCol.SummaryItem.DisplayFormat = "MIN: {0}"
oShouldDisplayFooter = True
Case AGGREGATE_TOTAL_COUNT
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count
oCol.SummaryItem.DisplayFormat = "NUM: {0}"
oShouldDisplayFooter = True
End Select
Next
oView.OptionsView.ShowFooter = oShouldDisplayFooter
AddHandler oView.InitNewRow, Sub(sender As Object, e As InitNewRowEventArgs)
Try
Logger.Debug("Initialzing new row")
For Each oColumnData As DataRow In DT_MY_COLUMNS.Rows
For Each oGridColumn As GridColumn In oView.Columns
If oGridColumn.FieldName <> oColumnData.Item("SPALTENNAME") Then
Continue For
End If
Dim oDefaultValue = NotNull(oColumnData.Item("DEFAULT_VALUE"), String.Empty)
If oDefaultValue <> String.Empty Then
Logger.Debug("Setting default value [{0}] for column [{1}]", oDefaultValue, oGridColumn.FieldName)
oView.SetRowCellValue(e.RowHandle, oGridColumn.FieldName, oDefaultValue)
End If
Next
Next
Catch ex As Exception
Logger.Error(ex)
Finally
newRowModified = False
End Try
End Sub
AddHandler oView.CustomRowCellEdit, Sub(sender As Object, e As CustomRowCellEditEventArgs)
Try
For Each oRow As DataRow In DT_MY_COLUMNS.Rows
Dim oColumnName = oRow.Item("SPALTENNAME")
Dim oEditorExists = GridTables_TestEditorExistsByControlAndColumn(oControlId, oColumnName)
If oColumnName <> e.Column.FieldName Then
Continue For
End If
If oEditorExists Then
Dim oEditor = GridTables.Item(oControlId).Item(oColumnName)
Logger.Debug("Assigning Editor to Column [{0}]", oColumnName)
e.RepositoryItem = oEditor
Else
Logger.Debug("Editor for Column [{0}] does not exist", oColumnName)
End If
Next
Catch ex As Exception
Logger.Warn("Error in CustomRowCellEdit for [{0}]", e.CellValue)
Logger.Error(ex)
End Try
End Sub
AddHandler oView.ValidatingEditor, Sub(sender As Object, e As BaseContainerValidateEditorEventArgs)
Dim oRow As DataRowView = oView.GetRow(oView.FocusedRowHandle)
Dim oColumnName = oView.FocusedColumn.FieldName
Logger.Debug("Validating Editor for Column [{0}]", oColumnName)
GridTables_ValidateColumn(oView, DT_MY_COLUMNS, oColumnName, e.Value, e.Valid, e.ErrorText)
End Sub
AddHandler oView.InvalidRowException, AddressOf View_InvalidRowException
AddHandler oView.ValidatingEditor, AddressOf View_ValidatingEditor
' These handlers are all used for the custom DefaultValue functionality, additionally some code in the 'InitNewRow' event.
' https://supportcenter.devexpress.com/ticket/details/t1035580/how-to-default-a-value-in-a-column-when-add-new-row-in-data-grid
AddHandler oView.ShowingEditor, AddressOf View_ShowingEditor
AddHandler oView.ShownEditor, AddressOf View_ShownEditor
AddHandler oView.ValidateRow, AddressOf View_ValidateRow
AddHandler oControl.LostFocus, Sub(sender As GridControl, e As EventArgs)
Dim oView2 As GridView = sender.FocusedView
' 19.08.2022:
' Calling UpdateCurrentRow when newRowModified Is true
' leads to some weird jumping of focus in the current cell.
' This seems to fix it.
If newRowModified = False Then
oView2.UpdateCurrentRow()
End If
End Sub
oGridControlCreator.ConfigureViewColumns(DT_MY_COLUMNS, oView, oControl, pcurrencySymbol)
oGridControlCreator.ConfigureViewEvents(DT_MY_COLUMNS, oView, oControl, oControlId)
' 08.11.2021: Fix editor being empty on first open
oView.FocusInvalidRow()
@ -719,58 +649,16 @@ Public Class ClassControlCreator
Return oControl
End Function
Private Shared newRowModified As Boolean = False
Private newRowModified As Boolean = False
Private Shared Sub View_ShowingEditor(sender As Object, e As CancelEventArgs)
Dim view As GridView = TryCast(sender, GridView)
Logger.Debug("Showing editor.")
If view.IsNewItemRow(view.FocusedRowHandle) AndAlso Not newRowModified Then
Logger.Debug("Adding new row.")
view.AddNewRow()
End If
End Sub
Private Shared Sub View_ShownEditor(sender As Object, e As EventArgs)
Dim view As GridView = TryCast(sender, GridView)
If view.IsNewItemRow(view.FocusedRowHandle) Then
Logger.Debug("Attaching Modified Handler.")
AddHandler view.ActiveEditor.Modified, Sub()
Logger.Debug("Row was modified.")
newRowModified = True
End Sub
End If
End Sub
Private Shared Sub View_ValidateRow(sender As Object, e As ValidateRowEventArgs)
Dim view As GridView = TryCast(sender, GridView)
If view.IsNewItemRow(e.RowHandle) AndAlso Not newRowModified Then
Logger.Debug("Deleting unused row")
view.DeleteRow(e.RowHandle)
End If
Logger.Debug("Validating row. Resetting Modified.")
newRowModified = False
End Sub
Private Shared Sub View_ValidatingEditor(sender As Object, e As BaseContainerValidateEditorEventArgs)
Dim oValue As String = NotNull(e.Value, "")
If oValue.Contains(" | ") Then
oValue = oValue.Split(" | ").ToList().First()
e.Value = oValue
End If
End Sub
Private Shared Sub View_InvalidRowException(sender As Object, e As InvalidRowExceptionEventArgs)
e.ExceptionMode = ExceptionMode.NoAction
End Sub
Public Shared Function CreateExistingLine(row As DataRow, designMode As Boolean) As LineLabel
Public Function CreateExistingLine(row As DataRow, designMode As Boolean) As LineLabel
Dim control As LineLabel = CreateBaseControl(New LineLabel(), row, designMode)
control.Text = "------------------------------"
control.BorderStyle = BorderStyle.None
control.AutoSize = False
control.BackColor = IntToColor(NotNull(row.Item("FONT_COLOR"), DEFAULT_COLOR))
control.BackColor = IntToColor(ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_COLOR"), DEFAULT_COLOR))
control.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
Return control
@ -793,7 +681,7 @@ Public Class ClassControlCreator
End Sub
End Class
Public Shared Function GET_CONTROL_PROPERTIES(DT_CONTROL As DataTable, ControlName As String)
Public Function GET_CONTROL_PROPERTIES(DT_CONTROL As DataTable, ControlName As String)
Try
CURRENT_CONTROL_ID = 0
CURR_CON_ID = 0
@ -827,7 +715,7 @@ Public Class ClassControlCreator
End Try
End Function
Public Shared Function GET_CONTROL_PROPERTY(DT_CONTROL As DataTable, ControlGUID As Integer, ColNAME As String)
Public Function GET_CONTROL_PROPERTY(DT_CONTROL As DataTable, ControlGUID As Integer, ColNAME As String)
Try
CURRENT_CONTROL_ID = 0
CURR_CON_ID = 0
@ -854,7 +742,8 @@ Public Class ClassControlCreator
End Try
End Function
Public Shared Function GET_DEPENDING_CONTROLS(DT_CONTROLS As DataTable, ControlName As String)
Public Function GetDependingControls(DT_CONTROLS As DataTable, ControlName As String) As Boolean
Try
Dim dt As New DataTable
dt = DT_CONTROLS
@ -870,13 +759,12 @@ Public Class ClassControlCreator
Catch ex As Exception
Logger.Error(ex)
Logger.Info("Unexpected Error in GET_DEPENDING_CONTROLS (" & ControlName & "):" & ex.Message)
Return 0
Return False
End Try
End Function
Public Shared Function GET_CONNECTION_INFO(CON_ID As Integer)
Public Function GET_CONNECTION_INFO(CON_ID As Integer) As DataRow()
Try
Dim dt As New DataTable
dt = BASEDATA_DT_TBDD_CONNECTION
' Define the filter
@ -893,10 +781,9 @@ Public Class ClassControlCreator
Logger.Info("Unexpected Error in GET_CONNECTION_INFO (" & CON_ID.ToString & "):" & ex.Message)
Return Nothing
End Try
End Function
Public Shared Sub GridTables_CacheDatatableForColumn(pControlId As Object, pColumnName As Object, pSqlStatement As Object, pConnectionId As Integer, pAdvancedLookup As Boolean)
Public Sub GridTables_CacheDatatableForColumn(pControlId As Object, pColumnName As Object, pSqlStatement As Object, pConnectionId As Integer, pAdvancedLookup As Boolean)
Try
'Dim oTable As DataTable = ClassDatabase.Return_Datatable_ConId(pSqlStatement, pConnectionId)
Dim oTable As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(pSqlStatement, DatabaseType.ECM) With {
@ -921,7 +808,7 @@ Public Class ClassControlCreator
End Try
End Sub
Public Shared Function GridTables_GetRepositoryItemForColumn(pColumnName As String, pDataTable As DataTable, pIsAdvancedLookup As Boolean) As RepositoryItem
Public Function GridTables_GetRepositoryItemForColumn(pColumnName As String, pDataTable As DataTable, pIsAdvancedLookup As Boolean) As RepositoryItem
If pIsAdvancedLookup Then
Dim oEditor = New RepositoryItemLookupControl3
@ -951,7 +838,9 @@ Public Class ClassControlCreator
Dim oValue = oRow2.Item(0)
Try
oValue &= $" | {oRow2.Item(1)}"
If oRow2.ItemArray.Length > 1 Then
oValue &= $" | {oRow2.Item(1)}"
End If
Catch ex As Exception
End Try
@ -964,7 +853,7 @@ Public Class ClassControlCreator
End If
End Function
Public Shared Sub GridTables_HandleControlValueChange(pControlPanel As Panel, pColumnsWithSqlAndControlPlaceholders As DataTable)
Public Sub GridTables_HandleControlValueChange(pControlPanel As XtraScrollableControl, pColumnsWithSqlAndControlPlaceholders As DataTable)
If Not IsNothing(pColumnsWithSqlAndControlPlaceholders) AndAlso pColumnsWithSqlAndControlPlaceholders.Rows.Count > 0 Then
For Each oRow As DataRow In pColumnsWithSqlAndControlPlaceholders.Rows
Try
@ -981,14 +870,14 @@ Public Class ClassControlCreator
' === Block to force setting the editor for GridColumns
Logger.Info("Force-setting Editor for all Gridcells..")
Logger.Debug("Force-setting Editor for all Gridcells..")
For Each oControl As Control In pControlPanel.Controls
Try
Dim oMeta = DirectCast(oControl.Tag, ClassControlCreator.ControlMetadata)
If oMeta.Guid = oControlId AndAlso TypeOf oControl Is GridControl Then
Dim oGrid As GridControl = DirectCast(oControl, GridControl)
DirectCast(oGrid.FocusedView, GridView).FocusInvalidRow()
Logger.Info("Force-setting Editor for Grid [{0}]", oGrid.Name)
Logger.Debug("Force-setting Editor for Grid [{0}]", oGrid.Name)
Exit For
End If
Catch ex As Exception
@ -1005,57 +894,4 @@ Public Class ClassControlCreator
Next
End If
End Sub
Private Shared Function GridTables_TestEditorExistsByControlAndColumn(oControlId As Integer, pColumn As String) As Boolean
If GridTables.ContainsKey(oControlId) Then
Dim oContainsKey = GridTables.Item(oControlId).ContainsKey(pColumn)
If oContainsKey AndAlso GridTables.Item(oControlId).Item(pColumn) IsNot Nothing Then
Return True
Else
Return False
End If
Else
Return False
End If
End Function
Private Shared Function GridTables_ValidateColumn(pView As GridView, pColumnDefinition As DataTable, ColumnName As String, pValue As Object, ByRef pIsValid As Boolean, ByRef pErrorText As String) As Boolean
Dim oColumn As DataRow = (From r As DataRow In pColumnDefinition.Rows
Where r.Item("SPALTENNAME") = ColumnName
Select r).FirstOrDefault()
Dim oGridColumn As GridColumn = (From c As GridColumn In pView.Columns
Where c.FieldName = ColumnName
Select c).FirstOrDefault()
Dim oIsRequired = oColumn.Item("VALIDATION")
Try
Dim oRegex = NotNull(oColumn.Item("REGEX_MATCH"), String.Empty)
Dim oRegexMessage = NotNull(oColumn.Item("REGEX_MESSAGE_DE"), String.Empty)
If oRegex <> String.Empty Then
Dim oMatch = New Regex(oRegex).IsMatch(pValue.ToString)
Dim oDefaultMessage = "Wert entspricht nicht dem gefordertem Format!"
Dim oMessage = IIf(oRegexMessage <> String.Empty, oRegexMessage, oDefaultMessage)
If oMatch = False Then
pErrorText = oMessage
pIsValid = False
Return False
End If
End If
Catch ex As Exception
Logger.Error(ex)
End Try
If oIsRequired And (pValue IsNot Nothing AndAlso pValue.ToString = "") Then
pErrorText = "Spalte muss ausgefüllt werden!"
pIsValid = False
Return False
End If
Return True
End Function
End Class

View File

@ -48,17 +48,17 @@ Public Class ClassEmail
'*Send the message */
emailClient.Send(message)
If test = True Then
MsgBox("Die Test-Email wurde erfolgreich versendet!", MsgBoxStyle.Information, "Erfolgsmeldung:")
MsgBox("TestMail sent successfully!", MsgBoxStyle.Information, "Success:")
End If
If Log = True Then
MsgBox("Die Support-Email wurde erfolgreich versendet!", MsgBoxStyle.Information, "Erfolgsmeldung:")
MsgBox("The Support-Email has been sent successfully!", MsgBoxStyle.Information, "Success:")
End If
'LOGGER.Info(">> Support/Log Email erfolgreich an " & _mailempfaenger & " versendet!", False)
Next
Return True
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("### Fehler im Mailversand: " & ex.Message)
LOGGER.Info("### Error in Mailversand: " & ex.Message)
Return False
End Try
End Function

View File

@ -114,12 +114,12 @@ Public Class ClassFinalIndex
props.VectorIndex = isVector
If type = INDEX_TYPE_STRING Or type = INDEX_TYPE_VECTOR_STRING Then
value = NotNull(value, "")
value = ClassAllgemeineFunktionen.NotNullString(value, "")
props.StringValue = value
ElseIf type = INDEX_TYPE_INTEGER Or type = INDEX_TYPE_INTEGER64 Or type = INDEX_TYPE_VECTOR_INTEGER_64 Then
Try
value = NotNull(Of Integer)(value, 0)
value = ClassAllgemeineFunktionen.NotNullString(value, 0)
If value = String.Empty Then
props.IntegerValue = 0
Else
@ -138,7 +138,7 @@ Public Class ClassFinalIndex
If value = "SQL-Command" Then
props.FloatValue = 0
Else
value = NotNull(Of Double)(value, 0)
value = ClassAllgemeineFunktionen.NotNullString(value, 0)
If value = String.Empty Then
props.FloatValue = 0
@ -148,7 +148,7 @@ Public Class ClassFinalIndex
End If
ElseIf type = INDEX_TYPE_BOOLEAN Or type = INDEX_TYPE_VECTOR_BOOLEAN Then
value = NotNull(value, "False")
value = ClassAllgemeineFunktionen.NotNullString(value, "False")
If value = "1" Or value.ToLower = "true" Then
props.BoolValue = True

View File

@ -1,4 +1,5 @@
Imports DigitalData.Modules.EDMI.API.Constants
Imports DevExpress.DataAccess.Native.Json
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Public Class ClassFinalizeDoc
@ -18,10 +19,11 @@ Public Class ClassFinalizeDoc
'Jetzt finale Indexe setzen
LOGGER.Debug("working final indices for doc: " & WMObject.aName)
For Each dr As DataRow In CURRENT_DT_FINAL_INDEXING.Rows
Dim value As String = dr.Item("VALUE").ToString
Dim ovalueString As String = dr.Item("VALUE").ToString
Dim INDEXNAME = dr.Item("INDEXNAME").ToString
Dim oContinueOnIndifferentState As Boolean = CBool(dr.Item("CONTINUE_INDETERMINED"))
If value.ToUpper = "SQL-Command".ToUpper Then '###### Indexierung mit variablen SQL ###
Dim VektorBeahaviour = dr.Item("IF_VEKTOR_BEHAVIOUR").ToString
If ovalueString.ToUpper = "SQL-Command".ToUpper Then '###### Indexierung mit variablen SQL ###
LOGGER.Debug("indexing with dynamic sql...")
'Dim SQL_COMMAND = dr.Item("SQL_COMMAND")
'' Regulären Ausdruck zum Auslesen der Indexe definieren
@ -52,32 +54,32 @@ Public Class ClassFinalizeDoc
LOGGER.Debug("sql after ReplaceAllValues: " & sql_Statement)
Dim oDynamic_value = DatabaseFallback.GetScalarValueECM(sql_Statement) ', CONNECTION_STRING_ECM, "Write_Final_Metadata/dynamic_value")
If Not IsNothing(oDynamic_value) Then
value = oDynamic_value
ovalueString = oDynamic_value
Else
Continue For
End If
Else
If value.StartsWith("v") Then
If ovalueString.StartsWith("v") Then
Select Case dr.Item("VALUE").ToString
Case "vDate"
value = Now.ToShortDateString
ovalueString = Now.ToShortDateString
Case "vUserName"
value = USER_USERNAME
ovalueString = USER_USERNAME
Case Else
value = dr.Item("VALUE")
ovalueString = dr.Item("VALUE")
End Select
End If
End If
Dim result() As String
ReDim Preserve result(0)
result(0) = value
result(0) = ovalueString
Dim oIndexType = WINDREAM.GetTypeOfIndex(INDEXNAME)
LOGGER.Debug($"oIndexType {oIndexType.ToString}")
If oIndexType > 4000 And oIndexType < 5000 Then
'Hier muss nun separat als Vektorfeld indexiert werden
If Indexiere_VektorfeldPM(value, INDEXNAME, WMObject) = True Then
If Indexiere_VektorfeldPM(ovalueString, INDEXNAME, WMObject) = True Then
LOGGER.Debug("FINALER INDEX '" & INDEXNAME.Replace("[%VKT", "") & "' WURDE ERFOLGREICH GESETZT")
Else
@ -87,12 +89,13 @@ Public Class ClassFinalizeDoc
End If
Else
LOGGER.Debug("now indexing..")
If Indexiere_File(INDEXNAME, result, WMObject) = True Then
If WINDREAM_MOD.SetFileIndex(CURRENT_DOC_PATH, INDEXNAME, ovalueString, CURRENT_WMObjecttype) = True Then 'Indexiere_File(INDEXNAME, result, WMObject) = True Then
LOGGER.Debug("FINALER INDEX '" & INDEXNAME & "' WURDE ERFOLGREICH GESETZT")
LOGGER.Debug("")
'Nun das Logging
If CURRENT_PROFILE_LOG_INDEX <> "" Then
Dim logstr = Return_LOGString(value, "DDFINALINDEX", INDEXNAME)
Dim logstr = Return_LOGString(ovalueString, "DDFINALINDEX", INDEXNAME)
Indexiere_VektorfeldPM(logstr, CURRENT_PROFILE_LOG_INDEX, WMObject)
End If
@ -120,39 +123,73 @@ Public Class ClassFinalizeDoc
End Try
End Function
Private Shared Function Indexiere_File(idxxname As String, idxvalue As Object, WMObject As WINDREAMLib.WMObject)
Dim File_indexiert As Boolean = False
Private Shared Function Indexiere_File(pIndexName As String, pIndexValues As Object, WMObject As WINDREAMLib.WMObject) As Boolean
LOGGER.Debug("### Indexiere_File Begin ###")
Dim indexierung_erfolgreich As Boolean = False
Try
Dim oIndexType As Integer = WINDREAM_MOD.GetIndexType(pIndexName)
If oIndexType > 4095 Then
LOGGER.Debug("Es Handelt sich um einen VektorIndex...")
Dim oExistingItems = WINDREAM_MOD.GetIndexValue(CURRENT_DOC_PATH, pIndexName)
Dim oListofString As New List(Of String)
If pIndexValues.Length = 0 Then
LOGGER.Debug("oSplitArray.Length = 0")
oListofString.Add(pIndexValues(0))
Else
LOGGER.Debug($"pIndexValues.Length is > 0 [{pIndexValues.length}] ...")
For Each oStr In pIndexValues
LOGGER.Debug("pIndexValues - oString : {0}", oStr)
oListofString.Add(oStr)
Next
End If
If oExistingItems.Count > 0 Then
LOGGER.Debug("oOverwrite = False and WMObject already contains [{0}] values in attribute,Values will be concatted", oExistingItems.Count)
oListofString = oExistingItems.Concat(oListofString).ToList()
End If
oListofString = oListofString.Distinct().ToList()
indexierung_erfolgreich = WINDREAM_MOD.SetFileIndexLoS(CURRENT_DOC_PATH, pIndexName, oListofString, CURRENT_WMObjecttype)
Else
Dim oStringValue As String = pIndexValues(0).ToString
indexierung_erfolgreich = WINDREAM_MOD.SetFileIndex(CURRENT_DOC_PATH, pIndexName, oStringValue, CURRENT_WMObjecttype)
End If
Return indexierung_erfolgreich
Catch ex As Exception
LOGGER.Warn("Unvorhergesehener Fehler bei Indexiere_File: " & ex.Message.ToString)
Return False
End Try
' Try
'Die Arrays vorbereiten
Dim arrIndex() As String = Nothing
Dim arrValue() As String = Nothing
arrIndex = Nothing
arrValue = Nothing
'Den Indexnamen übergeben
ReDim Preserve arrIndex(0)
arrIndex(0) = idxxname
'Das Array der Idnexwerte überprüfen
If idxvalue Is Nothing = False Then
If idxvalue.Length() > 1 Then
LOGGER.Debug("Indexing Index '" & idxxname & "' with Arrayvalue")
Dim anzahl As Integer = 0
For Each indexvalue As String In idxvalue
ReDim Preserve arrValue(anzahl)
arrValue(anzahl) = indexvalue
anzahl += 1
Next
Else
LOGGER.Debug("Indexing Index '" & idxxname & "' with value '" & idxvalue(0) & "'")
ReDim Preserve arrValue(0)
arrValue(0) = idxvalue(0).ToString
End If
'Dim _windreamPM As New ClassPMWindream
'Jetzt das eigentliche Indexieren der Datei
File_indexiert = WINDREAM.RunIndexing(WMObject, arrIndex, arrValue)
''Die Arrays vorbereiten
'Dim arrIndex() As String = Nothing
'Dim arrValue() As String = Nothing
'arrIndex = Nothing
'arrValue = Nothing
''Den Indexnamen übergeben
'ReDim Preserve arrIndex(0)
'arrIndex(0) = idxxname
''Das Array der Idnexwerte überprüfen
'If idxvalue Is Nothing = False Then
' If idxvalue.Length() > 1 Then
' LOGGER.Debug("Indexing Index '" & idxxname & "' with Arrayvalue")
' Dim anzahl As Integer = 0
' For Each indexvalue As String In idxvalue
' ReDim Preserve arrValue(anzahl)
' arrValue(anzahl) = indexvalue
' anzahl += 1
' Next
' Else
' LOGGER.Debug("Indexing Index '" & idxxname & "' with value '" & idxvalue(0) & "'")
' ReDim Preserve arrValue(0)
' arrValue(0) = idxvalue(0).ToString
' End If
' 'Dim _windreamPM As New ClassPMWindream
' 'Jetzt das eigentliche Indexieren der Datei
'File_indexiert = WINDREAM.RunIndexing(WMObject, arrIndex, arrValue)
Return File_indexiert
End If
'Return File_indexiert
' End If
'Catch ex As Exception
' LOGGER.Info("Unvorhergesehener Fehler bei Indexiere_File: " & ex.Message.ToString, True)

104
app/TaskFlow/ClassFormat.vb Normal file
View File

@ -0,0 +1,104 @@
Imports System.Globalization
Imports DevExpress.CodeParser
Imports DevExpress.Data.Controls
Imports DevExpress.XtraPrinting
Public Class ClassFormat
Public Const CURRENCY_FORMAT = "C2"
Public Const DECIMAL_FORMAT = "F"
Public Const DATE_FORMAT = "d"
Public Const DATETIME_FORMAT = "G"
Public Shared Function GetFormatString(pFormatString As String) As String
Select Case pFormatString
Case ClassControlCreator.CONTROL_TYPE_CURRENCY
Return CURRENCY_FORMAT
Case ClassControlCreator.CONTROL_TYPE_DOUBLE
Return DECIMAL_FORMAT
Case ClassControlCreator.CONTROL_TYPE_DATE
Return DATE_FORMAT
Case ClassControlCreator.CONTROL_TYPE_DATETIME
Return DATETIME_FORMAT
Case Else
Return String.Empty
End Select
End Function
''' <summary>
''' Converts a string according to the type information, using the invariant culture
''' </summary>
''' <param name="pValue"></param>
''' <param name="pType"></param>
''' <returns></returns>
Public Shared Function GetConvertedValue(pValue As Object, pType As String) As Object
Dim oConvertedValue
LOGGER.Debug($"GetConvertedValue: {pType}")
Select Case pType
Case ClassControlCreator.CONTROL_TYPE_DOUBLE
If Double.TryParse(pValue, NumberStyles.Float, CultureInfo.InvariantCulture, oConvertedValue) Then
Return oConvertedValue
End If
Case ClassControlCreator.CONTROL_TYPE_CURRENCY
Try
LOGGER.Debug($"GetConvertedValue: Converting {pValue.ToString} to Currency ")
If Double.TryParse(pValue, NumberStyles.Currency, CultureInfo.InvariantCulture, oConvertedValue) Then
Return oConvertedValue
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
Case ClassControlCreator.CONTROL_TYPE_INTEGER
If Integer.TryParse(pValue, NumberStyles.Integer, CultureInfo.InvariantCulture, oConvertedValue) Then
Return oConvertedValue
End If
Case Else
LOGGER.Debug($"GetConvertedValue - Case ELSE - pType is {pType}")
Try
oConvertedValue = pValue.ToString
Catch ex As Exception
LOGGER.Warn($"Error in GetConvertedValue: pType is {pType} - converting value to String")
oConvertedValue = ""
End Try
End Select
Return oConvertedValue
End Function
''' <summary>
''' Converts values to their respective data type and then back to string
''' according to the current culture
''' </summary>
''' <param name="pValue"></param>
''' <returns></returns>
Public Shared Function GetStringValue(pValue As Object) As String
Select Case pValue.GetType
Case GetType(Single)
Return DirectCast(pValue, Single).ToString(CultureInfo.CurrentCulture)
Case GetType(Double)
Return DirectCast(pValue, Double).ToString(CultureInfo.CurrentCulture)
Case GetType(Decimal)
Return DirectCast(pValue, Decimal).ToString(CultureInfo.CurrentCulture)
Case GetType(Date)
Return DirectCast(pValue, Date).ToString(CultureInfo.CurrentCulture)
Case GetType(DateTime)
Return DirectCast(pValue, DateTime).ToString(CultureInfo.CurrentCulture)
Case Else
Return pValue.ToString
End Select
End Function
End Class

View File

@ -92,7 +92,7 @@
oSingleAttribute = False
End Select
Dim oAttributeValue
LOGGER.Debug($"IDBData - GetVariableValue - oSingleAttribute [{oSingleAttribute.ToString}] - FromIDB [{FromIDB.ToString}]")
If oSingleAttribute = True And IDB_DT_DOC_DATA.Rows.Count = 1 And FromIDB = False Then
Try
If oAttributeName = "IDBCreatedWhen" Then
@ -104,7 +104,7 @@
ElseIf oAttributeName = "IDBChangedWho" Then
oAttributeName = "CHANGED_WHO"
End If
LOGGER.Debug($"IDBData - GetVariableValue - IDB_DT_DOC_DATA.Rows.Count = 1")
oAttributeValue = IDB_DT_DOC_DATA.Rows(0).Item(oAttributeName)
Catch ex As Exception
LOGGER.Debug($"Error getting Attribute from IDB_DT_DOC_DATA: {ex.Message}")
@ -112,11 +112,13 @@
End If
If Not IsNothing(oAttributeValue) Then
LOGGER.Debug($"IDBData - GetVariableValue - Returning value: [{oAttributeValue}]")
Return oAttributeValue
Else
LOGGER.Debug($"oAttributeValue for Attribute [{oAttributeName}] is so far nothing..Now trying FNIDB_PM_GET_VARIABLE_VALUE ")
End If
Dim oFNSQL = $"SELECT * FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({CURRENT_DOC_ID},'{oAttributeName}','{USER_LANGUAGE}',CONVERT(BIT,'{IDB_USES_WMFILESTORE}'))"
LOGGER.Debug($"GetVariableValue: {oFNSQL}")
oAttributeValue = DatabaseFallback.GetDatatableIDB(oFNSQL)
Dim odt As DataTable = oAttributeValue
If odt.Rows.Count = 1 Then
@ -131,12 +133,12 @@
End Function
Public Function Delete_Term_Object_From_Metadata(oAttributeName As String, oTerm2Delete As String) As Object
Try
Dim oAttributeValue
Dim oID_IS_FOREIGN As Integer
oID_IS_FOREIGN = 0
If IDB_USES_WMFILESTORE Then
oID_IS_FOREIGN = 1
End If
Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {CURRENT_DOC_ID},'{oAttributeName}','{oTerm2Delete}','{USER_USERNAME}','{USER_LANGUAGE}',{oID_IS_FOREIGN}"
DatabaseFallback.ExecuteNonQueryIDB(oDELSQL)
@ -230,15 +232,20 @@
For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
Dim oSuccess As Boolean = False
Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {CURRENT_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValueRow.Item(1).ToString}','{USER_LANGUAGE}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT"
oSuccess = DatabaseFallback.ExecuteNonQueryIDB(oFNSQL)
Dim oVALUE = oNewValueRow.Item(1).ToString
oVALUE = oVALUE.Replace("'", "''")
Dim oPRSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {CURRENT_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oVALUE}','{USER_LANGUAGE}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT"
LOGGER.Debug(oPRSQL)
oSuccess = DatabaseFallback.ExecuteNonQueryIDB(oPRSQL)
If oSuccess = False Then
Return False
End If
Next
Return True
Else
'oNewValue = oNewValue.Replace("'", "' + NCHAR(39) + '")
Dim oFNSQL = $"DECLARE @NEW_OBJ_MD_ID BIGINT " & vbNewLine & $"EXEC PRIDB_NEW_OBJ_DATA {CURRENT_DOC_ID},'{oAttributeName}','{USER_USERNAME}','{oNewValue}','{USER_LANGUAGE}',0,@OMD_ID = @NEW_OBJ_MD_ID OUTPUT"
LOGGER.Debug(oFNSQL)
Return DatabaseFallback.ExecuteNonQueryIDB(oFNSQL)
End If

View File

@ -1,6 +1,6 @@
Imports System.ComponentModel
Imports System.Drawing.Design
Imports DD_ProcessManager.InputProperties
Imports taskFLOW.InputProperties
Public Class ClassImageSelector
Inherits UITypeEditor

View File

@ -5,6 +5,7 @@ Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.Database
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Public Class ClassInit
Public _lizenzManager As ClassLicenseManager
@ -12,19 +13,17 @@ Public Class ClassInit
<STAThread()>
Public Sub InitLogger()
Dim oConfigPrefix As String = My.Settings.UserConfig_Prefix
Dim oLocalUserAppDataPath As String = Application.LocalUserAppDataPath
If oConfigPrefix.Length > 0 Then
oLocalUserAppDataPath = IO.Path.Combine(oLocalUserAppDataPath, oConfigPrefix)
End If
LOGCONFIG = New LogConfig(LogConfig.PathType.CustomPath,
oLocalUserAppDataPath & "\Log",
Nothing,
My.Settings.UserConfig_Prefix,
My.Application.Info.CompanyName,
My.Application.Info.ProductName)
LOGGER = LOGCONFIG.GetLogger("ProcessManager")
LOGGER.Info("## ProcessManager started - {0}", Now)
LOGGER = LOGCONFIG.GetLogger("taskFLOW")
LOGGER.Info("## taskFLOW started - {0}", Now)
Try
Dim directory As New IO.DirectoryInfo(Application.LocalUserAppDataPath & "\Log")
@ -46,23 +45,11 @@ Public Class ClassInit
Public Sub InitUserConfig()
Try
Dim oUserAppDataPath As String = Application.UserAppDataPath
Dim oLegacyAppDataPath As String = Application.UserAppDataPath
If My.Settings.UserConfig_Prefix <> String.Empty Then
oUserAppDataPath += "\" + My.Settings.UserConfig_Prefix
End If
Dim oCommonAppDataPath = Application.CommonAppDataPath
Dim oStartupPath = Application.StartupPath
Dim oConfigPrefix As String = My.Settings.UserConfig_Prefix
' If prefix is configured, use it to create a subfolder in app data and migrate existing data
If oConfigPrefix.Length > 0 Then
oUserAppDataPath = IO.Path.Combine(Application.UserAppDataPath, oConfigPrefix)
Dim oConfigUtils As New ConfigUtils(LOGCONFIG)
If oConfigUtils.TestMigrationNeeded(oUserAppDataPath) Then
LOGCONFIG.Debug = True
oConfigUtils.MigrateConfig(oLegacyAppDataPath, oUserAppDataPath)
LOGCONFIG.Debug = False
End If
End If
' If AppConfig from Startup Path should be forced, rewrite the common app data path
If My.Settings.UseAppConfigConString = True Then
@ -71,7 +58,7 @@ Public Class ClassInit
End If
CONFIG = New ConfigManager(Of ClassConfig)(LOGCONFIG, oUserAppDataPath, oCommonAppDataPath, oStartupPath)
LOGGER.Info("Config loaded")
LOGGER.Info("ConfigManager loaded")
Try
If CONFIG.Config.ConnectionStringTest <> String.Empty And CONFIG.Config.TestMode = True Then
LOGGER.Debug("Test Connection String loaded")
@ -106,7 +93,7 @@ Public Class ClassInit
End Try
Else
LOGGER.Debug("EDMI Server Address not found. Skipping.")
LOGGER.Debug("No EDMI Server Address. (String.empty).")
End If
Catch ex As Exception
LOGGER.Error(ex, "Unexpected Error Getting CONFIG.EDMIAppServer")
@ -122,6 +109,19 @@ Public Class ClassInit
DEBUG = True
LOGCONFIG.Debug = True
End If
USER_CONFIG_DIRECTORY = CONFIG.UserConfigPath.Replace("UserConfig.xml", "")
If USER_LANGUAGE <> String.Empty Then
USER_CONFIG_DIRECTORY = System.IO.Path.Combine(USER_CONFIG_DIRECTORY, USER_LANGUAGE)
End If
Try
If Not System.IO.Directory.Exists(USER_CONFIG_DIRECTORY) Then
System.IO.Directory.CreateDirectory(USER_CONFIG_DIRECTORY)
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
Catch ex As Exception
LOGGER.Error(ex)
End Try
@ -208,6 +208,7 @@ Public Class ClassInit
' We initialize the Class in anycase.
' If there is no client, it will fall back to the db by itself
DatabaseFallback = New DatabaseWithFallback(LOGCONFIG, _Client, Database_ECM, Database_IDB)
If dbECMInitialized = True And CONNECTION_STRING_IDB = String.Empty Then
Return True
ElseIf dbECMInitialized = True And CONNECTION_STRING_IDB <> String.Empty Then
@ -236,15 +237,46 @@ Public Class ClassInit
Else
LICENSE_COUNT = 0
End If
If split.Length >= 2 Then
LICENSE_VALID = True
End If
Dim oLICDATE As Date
Try
oLICDATE = CDate(split(1))
Catch ex As Exception
LOGGER.Warn($"Error Converting Value {split(1)} to DATE")
Try
Dim expenddt As Date = Date.ParseExact(split(1), "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
oLICDATE = expenddt
Catch ex1 As Exception
LOGGER.Warn($"Second Error Converting DATE with ParseExact - Setting Date = Today")
oLICDATE = Now.Date
End Try
If LICENSE_VALID = False Then
End Try
If oLICDATE < CDate(Now) Then
MsgBox("Your license has expired!" & vbNewLine & "Last valid date: " & split(1) & vbNewLine & "Please contact Your sysadmin", MsgBoxStyle.Exclamation)
LICENSE_EXPIRED = True
LICENSE_COUNT = 0
ElseIf LICENSE_VALID = False Then
MsgBox("Your license is invalid!" & vbNewLine & "Please contact Your sysadmin", MsgBoxStyle.Exclamation)
LICENSE_EXPIRED = True
LICENSE_COUNT = 0
End If
LOGGER.Debug("license initialized....")
LICENSE_PROFILES = split(2)
Try
Dim oMod = split(3)
If Not IsNothing(split(3)) Then
LIC_MODULES = split(3)
End If
Catch ex As Exception
End Try
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Unexpected error in Refresh license: " & ex.Message, True)
@ -253,23 +285,26 @@ Public Class ClassInit
oStopWatch.Done()
End Sub
<STAThread()>
Public Sub InitUserLogin(Optional pUSRNAME As String = "")
Public Sub InitUserLogin()
Dim oStopWatch As New RefreshHelper.SW("InitUserLogin")
Dim oSQL As String
Try
If pUSRNAME <> String.Empty Then
LOGGER.Info($"InitUserLogin with GhostUSer [{pUSRNAME}]")
USER_USERNAME = pUSRNAME
If USER_GHOST_MODE_USRNAME <> String.Empty Then
LOGGER.Info($"InitUserLogin with GhostUser [{USER_GHOST_MODE_USRNAME}]")
USER_USERNAME = USER_GHOST_MODE_USRNAME
Else
USER_USERNAME = Environment.UserName
End If
Try
oSQLLoginAttempt = String.Format($"INSERT INTO TBDD_USER_LOG_IN_ATTEMPT (USERNAME,MODULE,VERSION_CLIENT,MACHINE_NAME,OVERRIDE_LANGUAGE, APP_STARTUP_PATH) VALUES
('{USER_USERNAME}','{MODULE_PM}','{My.Application.Info.Version.ToString}','{Environment.MachineName}','','{Application.StartupPath}')")
Dim oSQLSW As New RefreshHelper.SW("VWDD_USER_CLIENT")
oSQL = $"SELECT * FROM VWDD_USER_CLIENT WHERE UPPER(USERNAME) = UPPER('{USER_USERNAME}')"
oSQL = $"SELECT * FROM VWDD_USER_CLIENT WHERE USERNAME = '{USER_USERNAME}'"
DT_CLIENT_USER = DatabaseFallback.GetDatatable("VWDD_USER_CLIENT", New GetDatatableOptions(oSQL, DatabaseType.ECM) With {
.FilterExpression = $"USERNAME like '{USER_USERNAME}'"
.FilterExpression = $"USERNAME = '{USER_USERNAME}'"
})
'DT_CLIENT_USER = DataASorDB.GetDatatable("DD_ECM", oSQL, "VWDD_USER_CLIENT", $"USERNAME like '{USER_USERNAME}'")
oSQLSW.Done()
@ -279,6 +314,7 @@ Public Class ClassInit
ElseIf DT_CLIENT_USER.Rows.Count = 1 Then
CLIENT_SELECTED = DT_CLIENT_USER.Rows(0).Item("CLIENT_ID")
Else
DatabaseECM.ExecuteNonQuery(oSQLLoginAttempt)
ERROR_STATE = "NO CLIENT"
Dim oDT As DataTable = ClassAllgemeineFunktionen.GUI_LANGUAGE_INFO("No Client relation")
MsgBox(oDT.Rows(0).Item("STRING1") & vbNewLine & oDT.Rows(0).Item("STRING2") & vbNewLine & vbNewLine & oSQL, MsgBoxStyle.Exclamation)
@ -291,19 +327,18 @@ Public Class ClassInit
End Try
LOGGER.Debug("Username: " & USER_USERNAME)
Dim oFnct As New RefreshHelper.SW("FNDD_CHECK_USER_MODULE")
oSQL = String.Format("SELECT * FROM [dbo].[FNDD_CHECK_USER_MODULE] ('{0}','PM',{1})", USER_USERNAME, CLIENT_SELECTED)
Dim oFnct As New RefreshHelper.SW("FNDD_LOGIN_USER_MODULE")
oSQL = String.Format("SELECT * FROM [dbo].[FNDD_LOGIN_USER_MODULE] ('{0}','PM',{1})", USER_USERNAME, CLIENT_SELECTED)
Dim DT_CHECKUSER_MODULE As DataTable
'DT_CHECKUSER_MODULE = Database.GetDatatableECM(oSQL)
'DT_CHECKUSER_MODULE = DataASorDB.GetDatatable("DD_ECM", oSQL, "TBDD_USER_MODULE", $"USERNAME = '{USER_USERNAME.ToLower}' AND MODULE_SHORT = 'PM'")
DT_CHECKUSER_MODULE = DatabaseFallback.GetDatatable("TBDD_USER_MODULE", New GetDatatableOptions(oSQL, DatabaseType.ECM) With {
.FilterExpression = $"USERNAME = '{USER_USERNAME.ToLower}' AND MODULE_SHORT = 'PM'"
})
DT_CHECKUSER_MODULE = DatabaseFallback.GetDatatable("TBDD_USER_MODULE", New GetDatatableOptions(oSQL, DatabaseType.ECM) With {
.FilterExpression = $"USERNAME = '{USER_USERNAME.ToLower}' AND MODULE_SHORT = 'PM'"
})
oFnct.Done()
If DT_CHECKUSER_MODULE.Rows.Count = 0 Then
DatabaseECM.ExecuteNonQuery(oSQLLoginAttempt)
LOGGER.Info("DT_CHECKUSER_MODULE.Rows.Count = 0", True)
ERROR_STATE = "NO USER"
MsgBox("Sorry - Something went wrong in getting Your rights." & vbNewLine & "Please contact the system administrator!", MsgBoxStyle.Exclamation)
@ -313,11 +348,7 @@ Public Class ClassInit
If DT_CHECKUSER_MODULE.Rows.Count = 1 Then
LOGGER.Info($"Got a CheckUserDefintion for User [{USER_USERNAME}]")
If DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID") <> 0 Then
USER_EXISTS = True
Else
USER_EXISTS = False
End If
USER_ID = DT_CHECKUSER_MODULE.Rows(0).Item("USER_ID")
USER_SURNAME = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_SURNAME"))
@ -326,7 +357,16 @@ Public Class ClassInit
USER_EMAIL = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL"))
USER_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE")
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS")
If USER_IN_MODULE = True Then
USER_EXISTS = True
Else
USER_EXISTS = False
End If
USER_IS_ADMIN = DT_CHECKUSER_MODULE.Rows(0).Item("IS_ADMIN")
User.IsAdmin = USER_IS_ADMIN
@ -337,6 +377,10 @@ Public Class ClassInit
User.UserId = USER_ID
User.Language = USER_LANGUAGE
LOGGER.Debug("User Info:")
LOGGER.Debug("Language: [{0}]", USER_LANGUAGE)
LOGGER.Debug("Username: [{0}]", USER_USERNAME)
Try
USER_RIGHT_FILE_DELETE = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT_FILE_DEL")), False, DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT_FILE_DEL"))
@ -352,9 +396,7 @@ Public Class ClassInit
FINALINDICES = New ClassFinalIndex()
FINALINDICES.init()
If IDB_ACTIVE = True Then
IDBData = New ClassIDBData()
End If
Try
USER_RIGHT_VIEW_ONLY = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT2")
@ -372,6 +414,7 @@ Public Class ClassInit
USER_RIGHT4 = False
End Try
LOGGER.Debug("User exists....")
'Am System anmelden
Refresh_Licence()
'Check_User_Exists_in_PMGroups()
@ -395,15 +438,18 @@ Public Class ClassInit
LOGGER.Info("Die Anzahl der aktuell angemeldeten User (" & USERCOUNT_LOGGED_IN.ToString & ") überschreitet die Anzahl der Lizenzen (" & LICENSE_COUNT & ") für Flow Task!")
If USER_IS_ADMIN = False Then
ClassAllgemeineFunktionen.LoginOut("LOGOUT")
DatabaseECM.ExecuteNonQuery(oSQLLoginAttempt)
ERROR_STATE = "START INCOMPLETE"
End If
End If
'Alles OK bis hierhin...nun die FolderwatchKonfig laden
LOGGER.Debug("Init Userlogin successfull completed....")
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Unexpected Error in InitUserLogin: " & ex.Message, True)
DatabaseECM.ExecuteNonQuery(oSQLLoginAttempt)
ERROR_STATE = "START INCOMPLETE"
End Try
oStopWatch.Done()
@ -418,11 +464,12 @@ Public Class ClassInit
Dim oStopWatch As New RefreshHelper.SW("InitBasics")
Dim oSql = String.Format("select * from TBPM_KONFIGURATION WHERE GUID = 1")
oStep = "TBPM_KONFIGURATION"
'BASEDATA_DT_CONFIG = DataASorDB.GetDatatable("DD_ECM", oSql, "TBPM_KONFIGURATION", $"GUID = 1")
BASEDATA_DT_CONFIG = DatabaseFallback.GetDatatable("TBPM_KONFIGURATION", New GetDatatableOptions(oSql, DatabaseType.ECM) With {
.FilterExpression = $"GUID = 1"
})
WMSUFFIX = BASEDATA_DT_CONFIG.Rows.Item(0).Item("WM_REL_PATH")
WMDRIVE_LETTER = BASEDATA_DT_CONFIG.Rows.Item(0).Item("WM_DRIVE_LETTER")
Settings_LoadBasicConfig()
oStep = "TBDD_CONNECTION"
@ -437,45 +484,52 @@ Public Class ClassInit
oTBDD_3RD_PARTY_MODULES = DatabaseFallback.GetDatatable("TBDD_3RD_PARTY_MODULES", New GetDatatableOptions(oSql, DatabaseType.ECM))
For Each oROW As DataRow In oTBDD_3RD_PARTY_MODULES.Rows
If oROW.Item("NAME") = "GDPICTURE" Then
If oROW.Item("NAME") = "GDPICTURE" And oROW.Item("VERSION") = My.Settings.GDPICTURE_VERSION Then
GDPICTURE_LICENSE = oROW.Item("LICENSE")
End If
Next
If GDPICTURE_LICENSE = String.Empty Then
LOGGER.Warn($"Keine GDPICTURE-Lizenz gefunden. Version Konfiguration: {My.Settings.GDPICTURE_VERSION} - Prüfe TBDD_3RD_PARTY_MODULES")
End If
oStep = "TBDD_SQL_COMMANDS"
oSql = "Select * FROM TBDD_SQL_COMMANDS"
BASEDATA_DT_TBDD_SQL_COMMANDS = DatabaseFallback.GetDatatable("TBDD_SQL_COMMANDS", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBDD_GUI_LANGUAGE_PHRASE"
oSql = "SELECT * FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE IN ('PM','All Modules')"
oSql = $"SELECT * FROM TBDD_GUI_LANGUAGE_PHRASE WHERE MODULE IN ('PM','All Modules')"
'BASEDATA_DT_GUI_LANGUAGE_PHRASES = DataASorDB.GetDatatable("DD_ECM", oSql, "TBDD_GUI_LANGUAGE_PHRASE", "")
BASEDATA_DT_GUI_LANGUAGE_PHRASES = DatabaseFallback.GetDatatable("TBDD_GUI_LANGUAGE_PHRASE", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBPM_PROFILE_SEARCH"
oSql = "select * from TBPM_PROFILE_SEARCH where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX"
'BASEDATA_DT_PROFILES_SEARCHES_DOC = DataASorDB.GetDatatable("DD_ECM", oSql, "TBPM_PROFILE_SEARCH", "TYPE = 'DOC'", "PROFILE_ID,TAB_INDEX")
BASEDATA_DT_PROFILES_SEARCHES_DOC = DatabaseFallback.GetDatatable("TBPM_PROFILE_SEARCH", New GetDatatableOptions(oSql, DatabaseType.ECM) With {
.FilterExpression = "TYPE = 'DOC'",
.SortByColumn = "PROFILE_ID,TAB_INDEX"
})
DT_FILTERED_PROFILE_SEARCHES_DOC = BASEDATA_DT_PROFILES_SEARCHES_DOC.Clone()
oStep = "TBPM_MAIN_VIEW_GROUPS"
oSql = "SELECT * FROM TBPM_MAIN_VIEW_GROUPS WHERE ACTIVE = 1"
'BASEDATA_DTGRID_GROUPS = DataASorDB.GetDatatable("DD_ECM", oSql, "TBPM_MAIN_VIEW_GROUPS", "")
BASEDATA_DTGRID_GROUPS = DatabaseFallback.GetDatatable("TBPM_MAIN_VIEW_GROUPS", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBPM_CHART"
oSql = "SELECT * FROM TBPM_CHART"
'BASEDATA_DT_CHARTS = DataASorDB.GetDatatable("DD_ECM", oSql, "TBPM_CHART", "")
BASEDATA_DT_CHARTS = DatabaseFallback.GetDatatable("TBPM_CHART", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBDD_GUI_LANGUAGE"
oSql = "SELECT LANG_CODE FROM TBDD_GUI_LANGUAGE WHERE ACTIVE = 1 ORDER BY LANG_CODE"
BASEDATA_DT_LANGUAGE = DatabaseFallback.GetDatatable("TBDD_GUI_LANGUAGE", New GetDatatableOptions(oSql, DatabaseType.ECM))
oSql = "SELECT * FROM TBDD_COLUMNS_FORMAT WHERE MODULE = 'taskFLOW' AND GRIDVIEW = 'GridViewWorkflows'"
BASEDATA_TBDD_COLUMNS_FORMAT = DatabaseFallback.GetDatatable("TBDD_COLUMNS_FORMAT", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStopWatch.Done()
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info($"Unexpected Error in InitBasics - last Step [{oStep}]: {ex.Message}", True)
DatabaseECM.ExecuteNonQuery(oSQLLoginAttempt)
ERROR_STATE = "Basics not initialized"
End Try
End Sub
@ -484,7 +538,6 @@ Public Class ClassInit
Try
Dim oStopWatch As New RefreshHelper.SW("InitBasics2")
Dim oSql = String.Format("SELECT * FROM VWPM_PROFILE_USER WHERE USER_ID = {0}", USER_ID)
'BASEDATA_DT_VW_PROFILE_USER = DataASorDB.GetDatatable("DD_ECM", oSql, "VWPM_PROFILE_USER", $"USER_ID = {USER_ID}")
BASEDATA_DT_VW_PROFILE_USER = DatabaseFallback.GetDatatable("VWPM_PROFILE_USER", New GetDatatableOptions(oSql, DatabaseType.ECM) With {
.FilterExpression = $"USER_ID = {USER_ID}"
})
@ -497,6 +550,7 @@ Public Class ClassInit
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("Unexpected Error in InitBasics2: " & ex.Message, True)
DatabaseECM.ExecuteNonQuery(oSQLLoginAttempt)
ERROR_STATE = "Basics2 not initialized"
End Try
End Sub

View File

@ -0,0 +1,482 @@
Imports WINDREAMLib
Imports WMOSRCHLib
Public Class ClassPMWindream
Inherits ClassWindream_allgemein
Dim clsWM As ClassWindream_allgemein
'Private email As New ClassNIEmail
Private allgFunk As New ClassAllgemeineFunktionen
#Region "+++++ Konstanten +++++"
Protected Const WMObjectEditModeObject = &H1F
Protected Const WMObjectStreamOpenModeReadWrite = 2
Protected Const WMEntityObjectType = 10
Protected Const WMEntityDocument = 1
Const WMObjectVariableValueTypeUndefined = 0
Const WMObjectVariableValueTypeString = 1
Const WMObjectVariableValueTypeInteger = 2
Const WMObjectVariableValueTypeInteger64bit = 11
Const WMObjectVariableValueTypeFloat = 3
Const WMObjectVariableValueTypeBoolean = 4
Const WMObjectVariableValueTypeDate = 5
Const WMObjectVariableValueTypeFixedPoint = 6
Const WMObjectVariableValueTypeTimeStamp = 7
Const WMObjectVariableValueTypeCurrency = 8
Const WMObjectVariableValueTypeTime = 9
Const WMObjectVariableValueTypeVariant = 10
Const WMObjectVariableValueTypeMask = &HFFF
Const WMObjectVariableValueFlagMask = &HFFFFF000
Const WMObjectVariableValueTypeVector = &H1000
Const WMObjectVariableValueTypeFulltext = &H2000
Const WMObjectVariableValueTypeDefaultValue = &H4000
Const WMObjectEditModeIndexEdit = &H3DA
#End Region
#Region "+++++ Variablen +++++"
Private oController As New WMOSearchController
#End Region
#Region "+++++ Allgemeine Methoden und Funktionen +++++"
Sub New()
MyBase.New()
End Sub
Private Function IsNotEmpty(ByVal aValue As Object)
If aValue IsNot Nothing Then
Return True
Else
Return False
End If
End Function
Public Function GetValuesfromAuswahlliste(ByVal listname As String)
Try
If listname = "" Then
Return ""
End If
Dim oChoiceList = oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityChoiceList, listname)
If Err.Number = 0 And TypeName(oChoiceList) <> "Nothing" Then
Dim Values = oChoiceList
Values = oChoiceList.GetVariableValue("vItems")
Dim anz As Integer = 0
For Each CLItem In Values
If oChoiceList.aName IsNot Nothing Then
anz += 1
End If
Next
Dim strListe(anz - 1)
Dim zahl As Integer = 0
For Each CLItem In Values
If oChoiceList.aName IsNot Nothing Then
strListe(zahl) = CLItem
zahl += 1
End If
Next
Return strListe
Else
MsgBox("Auswahlliste: " & listname & " nicht gefunden!", MsgBoxStyle.Critical, "Fehler:")
Return Nothing
End If
Catch ex As Exception
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Critical, $"Error in GetValuesfromAuswahlliste ({listname}):")
Return Nothing
End Try
End Function
Public Function RunIndexing(ByVal oDocument As WMObject, ByVal Indizes() As String, ByVal aValues() As Object)
Dim vType
Try
If Indizes IsNot Nothing And aValues IsNot Nothing Then
If Not oDocument.aLocked Then
' 02.07. Änderung der Lock Methode, um eine Validierung auch zuzulassen, wenn das Recht "Datei ändern"
' nicht gesetzt ist
'oDocument.lock()
Try
oDocument.LockFor(WMObjectEditModeIndexEdit)
Catch ex As Exception
LOGGER.Error(ex)
frmValidator.idxerr_message = "Could not lock WMFile - Check Your rights and inform the admin!"
Return False
End Try
If oDocument.aObjectType.aName <> CURRENT_WMObjecttype Then
' ihr den entsprechenden Dokumenttyp zuweisen
oDocument.aObjectType = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityObjectType, CURRENT_WMObjecttype)
' WMObject.aObjectType = Me.selectedProfile.Dokumenttyp
LOGGER.Debug("Objekttyp '" & oDocument.aObjectType.aName & "' was changed to '" & CURRENT_WMObjecttype & "'.")
Try
oDocument.Save()
Catch ex As Exception
' wenn es einen Fehler beim speichern gab, dann konnte auch kein Dokumenttyp gesetzt werden -> es kann also auch keine
' Indexierung stattfinden und die Indexierung muss nicht fortgesetzt werden
Return False
End Try
End If
Dim i As Integer = 0
Dim indexname As String
If aValues.Length = 1 And aValues(0) = "" Then
LOGGER.Debug("Indexwert ist leer/Nothing - Keine Indexierung")
Else
'Jetzt jeden Indexwert durchlaufen
For Each aName As String In Indizes
indexname = aName
' das entsprechende Attribut aus windream auslesen
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, Indizes(i))
' den Variablentyp (String, Integer, ...) auslesen
vType = oAttribute.getVariableValue("dwAttrType")
' wenn in aValues an Position i ein Wert steht
If IsNotEmpty(aValues(i)) Then
Dim _int As Boolean = False
Dim _date As Boolean = False
Dim _dbl As Boolean = False
Dim _bool As Boolean = False
'If indexname = "Tournr" Then
' MsgBox("Index: " & indexname & vbNewLine & "wert: " & aValues(i), MsgBoxStyle.Information, "Index: " & aName.ToString)
'End If
LOGGER.Debug(" ### Indexierung von Index: " & indexname & " ####")
'MsgBox(oDocument.aName & vbNewLine & aValues(i) & vbNewLine & vType, MsgBoxStyle.Exclamation, "Zeile 87")
Dim value = aValues(i)
Dim convertValue
Dim vektor As Boolean = False
'Den Typ des Index-Feldes auslesen
'MsgBox(value.GetType.ToString)
Select Case vType
Case WMObjectVariableValueTypeString
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString")
If value = "DeleteWMAttributeValue" Then
LOGGER.Debug("Indexing simpleAttribute with String.Empty")
convertValue = CStr(String.Empty)
Else
convertValue = CStr(value)
End If
Case WMObjectVariableValueTypeInteger
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
If IsNumeric(value) = False Then
If value = String.Empty Then
LOGGER.Debug("Indexing WMObjectVariableValueTypeInteger with vbEmpty")
convertValue = vbEmpty
Else
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
oDocument.Save()
oDocument.unlock()
Return False
End If
Else
convertValue = CInt(value)
End If
_int = True
Case WMObjectVariableValueTypeInteger64bit
LOGGER.Debug("Typ des windream-Indexes: Integer64bit")
If IsNumeric(value) = False Then
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
LOGGER.Debug("Achtung: Value " & value & " kann nicht in Zahl konvertiert werden!")
oDocument.Save()
oDocument.unlock()
Return False
End If
convertValue = CInt(value)
_int = True
Case WMObjectVariableValueTypeFloat
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
Try
value = Replace(value, ".", ",")
convertValue = Convert.ToDouble(value)
Catch ex As Exception
LOGGER.Error(ex)
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
oDocument.Save()
oDocument.unlock()
Return False
End Try
Case WMObjectVariableValueTypeFixedPoint
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFixedPoint")
Try
convertValue = CDbl(value)
Catch ex As Exception
LOGGER.Error(ex)
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
oDocument.Save()
oDocument.unlock()
Return False
End Try
_dbl = True
Case WMObjectVariableValueTypeBoolean
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeBoolean")
convertValue = CBool(value)
_bool = True
Case WMObjectVariableValueTypeDate
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeDate")
_date = True
'Dim _date As Date = value
convertValue = value
Case WMObjectVariableValueTypeTimeStamp
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTimeStamp")
convertValue = CInt(value)
Case WMObjectVariableValueTypeCurrency
LOGGER.Info(" >> Typ des windream-Indexes: WMObjectVariableValueTypeCurrency")
'Wegen currency muß ein eigenes Objekt vom typ Variant erzeugt werden
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(value))
convertValue = aValueWrapper
Case WMObjectVariableValueTypeTime
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeTime", False)
'If ((value)) Then
' convertValue = CDate(value)
'Else
' convertValue = ""
'End If
'Dim _date As Date = value
convertValue = convertValue '*_date.ToShortTimeString
Case WMObjectVariableValueTypeFloat
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat", False)
convertValue = CStr(value)
Case WMObjectVariableValueTypeVariant
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeVariant", False)
convertValue = CStr(value)
Case WMObjectVariableValueTypeFulltext
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFulltext", False)
convertValue = CStr(value)
Case 4100
LOGGER.Debug("Typ des windream-Indexes: 4100 Vektor Boolean", False)
vektor = True
Case 4101
LOGGER.Debug("Typ des windream-Indexes: 4101 Vektor Date", False)
vektor = True
Case 4104
LOGGER.Debug("Typ des windream-Indexes: 4104 Vektor Currency", False)
vektor = True
Case 4097
LOGGER.Debug("Typ des windream-Indexes: 4097 Vektor alphanumerisch", False)
vektor = True
Case 4098
LOGGER.Debug("Typ des windream-Indexes: 4098 Vektor Numerisch", False)
vektor = True
Case 4099
LOGGER.Debug("Typ des windream-Indexes: 4099 Vektor Kommazahl", False)
vektor = True
Case 36865
LOGGER.Debug("Typ des windream-Indexes: 36865 Vektor alphanumerisch", False)
vektor = True
Case Else
LOGGER.Debug("Typ des windream-Indexes konnte nicht bestimmt werden!", False)
LOGGER.Debug("Versuch des Auslesens (vType): " & vType)
'MsgBox(vType & vbNewLine & CStr(value), MsgBoxStyle.Exclamation, "Marlon-Case Else")
convertValue = ""
End Select
If vektor = False Then
If convertValue.ToString Is Nothing = False Then
LOGGER.Debug("Konvertierter Wert: '" & convertValue.ToString & "'", False)
End If
End If
'############################################################################################
'####################### Der eigentliche Indexierungsvorgang ################################
'############################################################################################
If vektor = False Then
If convertValue.ToString Is Nothing = False Then
Try
LOGGER.Debug("Jetzt indexieren: oDocument.SetVariableValue(" & aName & ", " & convertValue.ToString & ")", False)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info(" >> Unexpected Error in Logging SetVariableValue for " & aName & ": " & ex.Message, False)
End Try
If _int = True Then
oDocument.SetVariableValue(aName, CInt(convertValue))
ElseIf _date = True Then
oDocument.SetVariableValue(aName, CDate(convertValue))
ElseIf _bool Then
oDocument.SetVariableValue(aName, CBool(convertValue))
ElseIf _dbl Then
oDocument.SetVariableValue(aName, CDbl(convertValue))
Else
oDocument.SetVariableValue(aName, convertValue)
End If
LOGGER.Debug("Index '" & aName & "' wurde geschrieben", False)
Else
LOGGER.Info(" >> Kein Indexwert vorhanden", False)
End If
Else
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
LOGGER.Debug("VEKTORFELD: Vorbereiten des Arrays", False)
If aValues(0).ToString.Contains("DeleteWMAttributeValue") Then
'Variante um Vektorfeld zu leeren
Dim myArray()
ReDim myArray(aValues.Length - 1)
myArray(0) = String.Empty
LOGGER.Debug("Now Indexing vektor-attribute with String.Empty ...")
oDocument.SetVariableValue(aName, myArray)
Else
Dim myArray()
Select Case vType
Case 4100
'Vektortyp Boolean
'Umwandeln in Boolean
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
Select Case obj.ToString.ToLower
Case "falsch"
obj = False
Case "wahr"
obj = True
Case "nein"
obj = False
Case "ja"
obj = True
Case "0"
obj = False
Case "1"
obj = True
End Select
myArray(i1) = CBool(obj)
i1 = i1 + 1
Next
Case 4101
'Vektortyp Date
'Umwandeln in String
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CDate(obj)
i1 = i1 + 1
Next
Case 4104
'Vektortyp Currency
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
Dim aValueWrapper As System.Runtime.InteropServices.CurrencyWrapper = New System.Runtime.InteropServices.CurrencyWrapper(CDec(obj))
myArray(i1) = aValueWrapper
i1 = i1 + 1
Next
Case 4097
'Vektortyp ALPHANUMERISCH
'Umwandeln in String
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CStr(obj)
i1 = i1 + 1
Next
Case 4098
'Umwandeln in Integer
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CInt(obj)
i1 = i1 + 1
Next
Case 4099
'Umwandeln in Double
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
Dim Str As String = obj
myArray(i1) = CDbl(Str.Replace(".", ","))
i1 = i1 + 1
Next
Case 36865
'Umwandeln in String
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CStr(obj)
i1 = i1 + 1
Next
Case Else
'Umwandeln in String
'Die Größe des Arrays festlegen
ReDim myArray(aValues.Length - 1)
Dim i1 As Integer = 0
'Das Array durchlaufen und Werte für den Index in Array schreiben
For Each obj In aValues
myArray(i1) = CStr(obj)
i1 = i1 + 1
Next
End Select
'Jetzt die Nachindexierung für Vektor-Felder
LOGGER.Debug("Wert für Index vor Indexierung: [{0}]", myArray)
'If vType = 4097 Or vType = 36865 Then
' If myArray(0) = "DeleteWMAttributeValue" Then
' 'Variante um Vektorfeld zu leeren
' LOGGER.Debug("Now Indexing vektor-attribute with vbEmpty ...")
' oDocument.SetVariableValue(aName, vbEmpty)
' Else
' oDocument.SetVariableValue(aName, myArray)
' End If
'Else
oDocument.SetVariableValue(aName, myArray)
'End If
End If
LOGGER.Debug("'SetVariableValue' für VEKTOR erfolgreich", False)
End If
End If
i += 1
Next
End If
' oDocument.LockRights()
'SetRights(WMObject, User)
oDocument.Save()
oDocument.unlock()
LOGGER.Debug(" ### Indexierung erfolgreich beendet (Save und Unlock durchgeführt) ###", False)
Return True
Else
LOGGER.Info(" ### Dokument ist gesperrt, Indexierung nicht möglich! ###", False)
frmValidator.idxerr_message = "Dokument " & oDocument.aName & " ist gesperrt, Indexierung nicht möglich"
Return False
End If
End If
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Info("ClassSearchResult.RunIndexing - " & ex.Message, True)
frmValidator.idxerr_message = "Unvorhergesehener Fehler in Indexing: " & ex.Message & vbNewLine & "vType: " & vType.ToString
oDocument.Save()
oDocument.unlock()
Return False
End Try
End Function
#End Region
End Class

View File

@ -14,6 +14,15 @@ Public Class ClassParamRefresh
Dim oSQL = oRow.Item("SQL_COMMAND")
USERCOUNT_LOGGED_IN = DatabaseFallback.GetScalarValueECM(oSQL)
oLicenseoverSQL = True
ElseIf oRow.Item("TITLE") = "PM_PROFILES_USER" Then
SQL_PROFILES_USER = oRow.Item("SQL_COMMAND")
LOGGER.Debug($"SQL FROM SQLCommands DD: {SQL_PROFILES_USER}")
ElseIf oRow.Item("TITLE") = "PM_VALIDATOR_SEARCH_DEF" Then
SQL_VALIDATOR_SEARCHES = oRow.Item("SQL_COMMAND")
LOGGER.Debug($"VALIDATOR-SQL FROM SQLCommands DD: {SQL_VALIDATOR_SEARCHES}")
ElseIf oRow.Item("TITLE") = "TF_WORKFLOW_MESSAGE" Then
SQL_WF_MESSAGES = oRow.Item("SQL_COMMAND")
LOGGER.Debug($"WF_MESSAGES-SQL FROM SQLCommands DD: {SQL_WF_MESSAGES}")
End If
Next
End If
@ -53,7 +62,7 @@ Public Class ClassParamRefresh
LOGGER.Debug($"FORCE_LAYOUT_OVERVIEW [{FORCE_LAYOUT_OVERVIEW}]")
ElseIf oMode = "PM.NO_MASS_VALIDATOR" Then
SHOW_MASS_VALIDATOR = False
LOGGER.Debug($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
LOGGER.Info($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
ElseIf oMode = "PM.NO_CHARTS" Then
SHOW_CHARTS = False
LOGGER.Debug($"SHOW_CHARTS [{SHOW_CHARTS}]")
@ -65,11 +74,14 @@ Public Class ClassParamRefresh
If OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM Then
IDB_USES_WMFILESTORE = True
End If
LOGGER.Info("OPERATION_MODE_FS: " + OPERATION_MODE_FS)
ElseIf oMode = "PM.IDBWITHWMFS" Then
IDB_USES_WMFILESTORE = True
ElseIf oMode = "PM.NO_BASICCONF" Then
BASIC_CONF_VISIBLE = False
LOGGER.Debug($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]")
LOGGER.Info($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]")
ElseIf oMode = "PM.SYS_LOCKED_MAINTENANCE" Then
SYS_LOCKED_MAINTENANCE = True
ElseIf oMode.StartsWith("PM.IDB_CONID!") Then
If CONNECTION_STRING_IDB <> "" And dbIDBInitialized = True Then
IDB_ACTIVE = True
@ -90,22 +102,15 @@ Public Class ClassParamRefresh
IDB_ACTIVE = False
End If
End If
'ElseIf oMode.StartsWith("PM.IDB_APP_SERV_CONID!") Then
' Dim CON_ID = oMode.Replace("PM.IDB_APP_SERV_CONID!", "")
' Dim oConString = ClassDatabase.Get_ConnectionString(CON_ID)
' CONNECTION_STRING_IDB_APP_SERVER = oConString
' If ClassDatabase.Init(CONNECTION_STRING_IDB_APP_SERVER) = True Then
' LOGGER.Info($"Got an IDB APP-Server-Connection [{CON_ID}]!")
' End If
ElseIf oMode = "PM.EXCEL_OVERVIEW" Then
EXCEL_OVERVIEW = True
LOGGER.Info($"EXCEL_OVERVIEW [{EXCEL_OVERVIEW}]")
ElseIf oMode = "PM.MONITORING" Then
MONITORING_ACTIVE = True
LOGGER.Debug($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
LOGGER.Debug($"MONITORING_ACTIVE [{MONITORING_ACTIVE}]")
ElseIf oMode = "PM.GHOSTMODE" Then
GHOSTMODE_ACTIVE = True
LOGGER.Debug($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]")
LOGGER.Info($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]")
ElseIf oMode.StartsWith("PM.COLORSCHEME") Then
Dim oColorScheme = oMode.Replace("PM.COLORSCHEME=", "")
RIBBON_COLOR_SCHEME = oColorScheme.ToUpper
@ -116,6 +121,14 @@ Public Class ClassParamRefresh
ElseIf oMode = "PM.NO_POPUP" Then
POPUP_REMINDER_ACTIVE = False
LOGGER.Debug($"POPUP_REMINDER_ACTIVE [{POPUP_REMINDER_ACTIVE}]")
ElseIf oMode.StartsWith("PM.POPUP_TIMELAPS_OVERRIDE") Then
Dim oTimeLapse = oMode.Replace("PM.POPUP_TIMELAPS_OVERRIDE=", "")
LOGGER.Info($"CENTRAL POPUP_TIMELAPS_OVERRIDE [{oTimeLapse}]")
Try
CONFIG.Config.ReminderTimer = oTimeLapse
Catch ex As Exception
End Try
ElseIf oMode.StartsWith("PM.CONV_IDENTIFICATION") Then
Dim oIdent = oMode.Replace("PM.CONV_IDENTIFICATION=", "")
CONV_IDENTIFICATION = oIdent
@ -145,6 +158,24 @@ Public Class ClassParamRefresh
Catch ex As Exception
LAST_ADDED_COLUMN = ""
End Try
ElseIf oMode.StartsWith("PM.MON_COL_CHANGED_WHEN") Then
Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_CHANGED_WHEN=", "")
Try
MON_EDITED_COLUMN = oLEDITEDCOL
LOGGER.Debug($"MON_EDITED_COLUMN: {oLEDITEDCOL}")
Catch ex As Exception
End Try
ElseIf oMode.StartsWith("PM.MON_COL_ADDED_WHEN") Then
Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_ADDED_WHEN=", "")
Try
MON_ADDED_COLUMN = oLEDITEDCOL
LOGGER.Debug($"MON_COL_ADDED_WHEN: {oLEDITEDCOL}")
Catch ex As Exception
End Try
ElseIf oMode.StartsWith("PM.USE_APPSERVER") Then
Dim oUSE_APPSERVER = oMode.Replace("PM.USE_APPSERVER=", "")
@ -211,10 +242,14 @@ Public Class ClassParamRefresh
ElseIf oMode.StartsWith("PM.ButtonExport2FolderCaption") Then
Dim oAfterReplace = oMode.Replace("PM.ButtonExport2FolderCaption=", "")
ButtonExport2Folder_Caption = oAfterReplace
ElseIf oMode.StartsWith("PM.ButtonExport2Folder_Mode") Then
Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_Mode=", "")
ButtonExport2Folder_Mode = oAfterReplace
ElseIf oMode.StartsWith("PM.ButtonExport2Folder_RootFolder") Then
Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_RootFolder=", "")
ButtonExport2Folder_RootFolder = oAfterReplace
ElseIf oMode = "MAINFORM_ALLOW_LOGFILES" Then
MAINFORM_CREATE_LOG_FILES = True
Else
LOGGER.Info($"Wrong oMode: {oMode}")
End If

View File

@ -29,6 +29,8 @@ Public Class RefreshHelper
Private Property _VisibleRowIndex As Integer = -1
Private Property _CurrentFilter As String
Private ReadOnly Property ExpansionViewInfoList() As New List(Of RowInfo)
Private ReadOnly Property SelectionViewInfoList() As New List(Of RowInfo)
Private ReadOnly Property ExpandedMasterRowList() As New List(Of Object)
@ -45,6 +47,7 @@ Public Class RefreshHelper
SaveExpansionViewInfo()
SaveSelectionViewInfo()
SaveVisibleIndex()
SaveGridFilter()
Catch ex As Exception
_Logger.Error(ex)
End Try
@ -56,6 +59,7 @@ Public Class RefreshHelper
LoadExpansionViewInfo()
LoadSelectionViewInfo()
LoadVisibleIndex()
LoadGridFilter()
Catch ex As Exception
_Logger.Error(ex)
End Try
@ -181,6 +185,14 @@ Public Class RefreshHelper
Next
End Sub
Private Sub SaveGridFilter()
'_CurrentFilter = _View.ActiveFilterString
End Sub
Private Sub LoadGridFilter()
'_View.ActiveFilterString = _CurrentFilter
End Sub
Private Sub SaveVisibleIndex()
_VisibleRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _View.TopRowIndex
End Sub

View File

@ -12,7 +12,7 @@ Public Class ClassRegexEditor
Public Overrides Function EditValue(context As ITypeDescriptorContext, provider As IServiceProvider, value As Object) As Object
Dim oService As IWindowsFormsEditorService = TryCast(provider.GetService(GetType(IWindowsFormsEditorService)), IWindowsFormsEditorService)
Dim oRegexString As String = NotNull(value, String.Empty)
Dim oRegexString As String = ClassAllgemeineFunktionen.NotNullString(value, String.Empty)
If oService IsNot Nothing Then
Using oform As New frmRegexEditor()

View File

@ -1,7 +1,7 @@
Imports System.ComponentModel
Imports System.Drawing.Design
Imports System.Windows.Forms.Design
Imports DD_ProcessManager.InputProperties
Imports taskFLOW.InputProperties
Imports DigitalData.GUIs.Common
Public Class ClassSQLEditor
@ -16,26 +16,34 @@ Public Class ClassSQLEditor
Dim oValueObject = DirectCast(value, SQLValue)
Dim oSQLString As String = oValueObject.Value
Dim oSQLConnection As Integer = oValueObject.ConnectionId
'Dim oSQLConnection As Integer = oValueObject.ConnectionId
If oService IsNot Nothing AndAlso oSQLString IsNot Nothing Then
'CURRENT_DESIGN_TYPE = "INPUT_INDEX"
Using oForm As New frmSQLEditor(LOGCONFIG, DatabaseECM)
oForm.SQLCommand = oSQLString
oForm.SQLConnection = oSQLConnection
oForm.SQLConnection = 0 'oSQLConnection
oForm.PlaceholdersManualPrefix = "CTRL"
oForm.PlaceholdersManualTitle = "Controls"
oForm.PlaceholdersManual = CURRENT_CONTROL_NAME_LIST.
ToDictionary(Function(name) name, Function(name) name)
If IDB_ACTIVE = False Then
oForm.ATTRIBUTE_STORE = "WM"
oForm.PlaceholdersWindream = MVSource_AllIndicies
Else
oForm.ATTRIBUTE_STORE = "IDB"
End If
If oService.ShowDialog(oForm) = DialogResult.OK Then
Dim sql As New SQLValue(oForm.SQLCommand, oForm.SQLConnection)
Dim sql As New SQLValue(oForm.SQLCommand) ', oForm.SQLConnection
' CURRENT_CONN_ID_FINAL_INDEX = oForm.SQLConnection
' CURRENT_CONN_ID = oForm.SQLConnection
value = sql
End If
End Using
End If
Return value

View File

@ -7,18 +7,18 @@ Imports System.Drawing.Design
<TypeConverter(GetType(SQLTypeConverter))>
Public Class SQLValue
Public Property Value As String
Public Property ConnectionId As Integer
'Public Property ConnectionId As Integer
Public Sub New()
Value = ""
End Sub
Public Sub New(value As String)
Me.Value = value
End Sub
'Public Sub New(value As String)
' Me.Value = value
'End Sub
Public Sub New(pValue As String, pConnectionId As Integer)
Public Sub New(pValue As String) ', pConnectionId As Integer)
Value = pValue
ConnectionId = pConnectionId
' ConnectionId = pConnectionId
End Sub
End Class

View File

@ -0,0 +1,3 @@
Public Class ClassValidator
End Class

View File

@ -30,14 +30,7 @@ Public Class ClassWindream_allgemein
''' </summary>
''' <remarks></remarks>
Sub New()
' wenn ein Fehler bei der Initialisierung auftrat
'If Not Me.Init() Then
' ' Nachricht ausgeben
' MsgBox("Es trat ein Fehler bei der Initialisierung der Klasse windream auf. Bitte prüfen Sie ob der windream-Server aktiv ist und alle Dienste gestartet sind.", MsgBoxStyle.Exclamation, "Fehler bei Initialisierung")
' ' das Programm "abschießen"
' Process.GetCurrentProcess.Kill()
'End If
End Sub
@ -121,13 +114,9 @@ Public Class ClassWindream_allgemein
Return True
Catch ex As Exception
LOGGER.Error(ex)
If Err.Number = -2147220985 Then
MsgBox("Die installierte windream-Version ist nicht ausreichend für den Betrieb der Tool Collection für windream." & vbNewLine &
"Bitte kontaktieren Sie Digital Data." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & Err.Description, MsgBoxStyle.Exclamation, "Unzureichende windream-Version")
Else
MsgBox("Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler beim Login an windream")
End If
LOGGER.Error(ex)
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error Login on windream")
Return False
End Try
@ -236,16 +225,20 @@ LOGGER.Error(ex)
End Function
Public Function NormalizePath(Path As String)
Public Function NormalizePath(pPath As String)
Dim oNormalizedPath As String
If Path.StartsWith("\\windream") Then
oNormalizedPath = Path.Replace("\\windream\objects\", "")
ElseIf Path.StartsWith("\\") Then
oNormalizedPath = Path.Substring(1)
ElseIf Path.StartsWith("\") Then
Return Path
If pPath.StartsWith(WMSUFFIX) Then
oNormalizedPath = pPath.Replace(WMSUFFIX, "")
ElseIf pPath.StartsWith("\\") Then
oNormalizedPath = pPath.Substring(1)
ElseIf pPath.StartsWith("\") Then
Return pPath
ElseIf pPath.StartsWith(WMDRIVE_LETTER) Then
oNormalizedPath = pPath.Replace(WMDRIVE_LETTER & ":", "")
ElseIf pPath.StartsWith("\") = False Then
oNormalizedPath = "\" & pPath
Else
oNormalizedPath = "\" & Path
oNormalizedPath = pPath
End If
Return oNormalizedPath
@ -366,13 +359,14 @@ LOGGER.Error(ex)
Dim indexnamen() As String = Me.GetIndicesByObjecttype(objekttyp)
If indexnamen Is Nothing Then Return False
MVSource_AllIndicies = MyIndicies
For Each index As String In indexnamen
If index = indexname Then Return True
Next
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Error(ex)
MsgBox("Beim Prüfen ob ein Index für einen Objekttypen existiert, ist ein Fehler aufgetreten." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Critical, "Fehler beim Prüfen auf Existenz eines Index in einem Objekttyp")
End Try

View File

@ -0,0 +1,21 @@
Namespace ControlCreator
Public Class Constants
Public Const CONTROL_TYPE_TEXT = "TEXT"
Public Const CONTROL_TYPE_INTEGER = "INTEGER"
Public Const CONTROL_TYPE_BOOLEAN = "BOOLEAN"
Public Const CONTROL_TYPE_DOUBLE = "DOUBLE"
Public Const CONTROL_TYPE_CURRENCY = "CURRENCY"
Public Const CONTROL_TYPE_DATE = "DATE"
Public Const CONTROL_TYPE_DATETIME = "DATETIME"
Public Const AGGREGATE_NONE = "NONE"
Public Const AGGREGATE_TOTAL_INTEGER = "TOTAL_INTEGER"
Public Const AGGREGATE_TOTAL_FLOAT = "TOTAL_FLOAT"
Public Const AGGREGATE_TOTAL_CURRENCY = "TOTAL_CURRENCY"
Public Const AGGREGATE_TOTAL_MIN = "TOTAL_MIN"
Public Const AGGREGATE_TOTAL_MAX = "TOTAL_MAX"
Public Const AGGREGATE_TOTAL_AVG = "TOTAL_AVG"
Public Const AGGREGATE_TOTAL_COUNT = "TOTAL_COUNT"
End Class
End Namespace

View File

@ -0,0 +1,488 @@
Imports DevExpress.Utils
Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Repository
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Base
Imports System.ComponentModel
Imports DevExpress.XtraEditors.Controls
Imports DevExpress.XtraGrid.Views.Base
Imports System.Text.RegularExpressions
Imports System.Globalization
Imports DevExpress.Xpo.Helpers.AssociatedCollectionCriteriaHelper
Imports DevExpress.XtraEditors.Mask
Namespace ControlCreator
Public Class GridControl
Private ReadOnly _LogConfig As LogConfig
Private ReadOnly _Logger As Logger
Private ReadOnly _GridTables As Dictionary(Of Integer, Dictionary(Of String, RepositoryItem))
Private newRowModified As Boolean
Public Sub New(pLogConfig As LogConfig, pGridTables As Dictionary(Of Integer, Dictionary(Of String, RepositoryItem)))
_LogConfig = pLogConfig
_Logger = pLogConfig.GetLogger()
_GridTables = pGridTables
End Sub
Public Function CreateGridColumns(pColumnTable As DataTable) As DataTable
Dim oDataTable As New DataTable
For Each oRow As DataRow In pColumnTable.Rows
' Create Columns in Datatable
Dim oColumn = New DataColumn() With {
.ColumnName = oRow.Item("SPALTENNAME"),
.Caption = oRow.Item("SPALTEN_HEADER_LANG"),
.ReadOnly = False
}
Select Case oRow.Item("TYPE_COLUMN")
Case Constants.CONTROL_TYPE_TEXT
oColumn.DataType = GetType(String)
Case Constants.CONTROL_TYPE_INTEGER
oColumn.DataType = GetType(Integer)
Case Constants.CONTROL_TYPE_DOUBLE
oColumn.DataType = GetType(Double)
Case Constants.CONTROL_TYPE_CURRENCY
oColumn.DataType = GetType(Double)
Case Constants.CONTROL_TYPE_BOOLEAN
oColumn.DataType = GetType(Boolean)
Case Else
oColumn.DataType = GetType(String)
End Select
oDataTable.Columns.Add(oColumn)
Next
Return oDataTable
End Function
Public Function FillGridTables(pColumnTable As DataTable, pControlId As Integer, pControlName As String) As Dictionary(Of Integer, Dictionary(Of String, RepositoryItem))
For Each oRow As DataRow In pColumnTable.Rows
' Fetch and cache Combobox results
Dim oConnectionId As Integer = oRow.ItemEx("CONNECTION_ID", 0)
Dim oSqlCommand As String = oRow.ItemEx("SQL_COMMAND", "")
If oConnectionId > 0 And oSqlCommand <> "" Then
Try
Dim oComboboxDataTable As DataTable = Nothing
Dim oColumnName As String = oRow.Item("SPALTENNAME")
_Logger.Debug("Working on SQL for Column[{0}]...", oColumnName)
If Not clsPatterns.HasComplexPatterns(oSqlCommand) Then
_Logger.Debug("SQL has no complex patterns!")
'oComboboxDataTable = ClassDatabase.Return_Datatable_ConId(oSqlCommand, oConnectionId)
oComboboxDataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSqlCommand, DatabaseType.ECM) With {
.ConnectionId = oConnectionId
})
Else
_Logger.Debug("...has complex patterns!!")
End If
Dim oRepositoryItem = GridTables_GetRepositoryItemForColumn(oColumnName, oComboboxDataTable, oRow.Item("ADVANCED_LOOKUP"))
If _GridTables.Item(pControlId).ContainsKey(oColumnName) Then
_GridTables.Item(pControlId).Item(oColumnName) = oRepositoryItem
Else
_GridTables.Item(pControlId).Add(oColumnName, oRepositoryItem)
End If
Catch ex As Exception
_Logger.Warn("Could not load data for column {0} in control {1}", oRow.Item("SPALTENNAME"), pControlName)
_Logger.Error(ex)
End Try
End If
Next
Return _GridTables
End Function
Private Function GridTables_GetRepositoryItemForColumn(pColumnName As String, pDataTable As DataTable, pIsAdvancedLookup As Boolean) As RepositoryItem
If pIsAdvancedLookup Then
Dim oEditor = New RepositoryItemLookupControl3
If pDataTable IsNot Nothing Then
oEditor.DisplayMember = pDataTable.Columns.Item(0).ColumnName
oEditor.ValueMember = pDataTable.Columns.Item(0).ColumnName
oEditor.DataSource = pDataTable
End If
Return oEditor
Else
Dim oEditor = New RepositoryItemComboBox()
Dim oItems As New List(Of String)
AddHandler oEditor.Validating, Sub(_sender As ComboBoxEdit, _e As CancelEventArgs)
If oItems.Contains(_sender.EditValue) Then
_e.Cancel = False
Else
_e.Cancel = True
End If
End Sub
If pDataTable IsNot Nothing Then
For Each oRow2 As DataRow In pDataTable.Rows
Dim oValue = oRow2.Item(0)
Try
If oRow2.ItemArray.Length > 1 Then
oValue &= $" | {oRow2.Item(1)}"
End If
Catch ex As Exception
End Try
oEditor.Items.Add(oValue)
oItems.Add(oValue)
Next
End If
Return oEditor
End If
End Function
' Hilfsroutine: passt NUR das Summary-Item an (ohne FormatInfo)
Private Sub ApplyCurrencySummaryFormat(oCol As GridColumn, currencySymbol As String)
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum
' Variante A: Standard-Währungsformat aus aktueller Kultur
' oCol.SummaryItem.DisplayFormat = "SUM: {0:C2}"
' Variante B: Kulturunabhängig, Symbol explizit anhängen
oCol.SummaryItem.DisplayFormat = $"SUM: {{0:N2}} {currencySymbol}"
End Sub
Public Sub ConfigureViewColumns(pColumnTable As DataTable, pGridView As GridView, pGrid As DevExpress.XtraGrid.GridControl, pcurrencySymbol As String)
Dim oShouldDisplayFooter As Boolean = False
For Each oCol As GridColumn In pGridView.Columns
Dim oColumnData As DataRow = pColumnTable.
Select($"SPALTENNAME = '{oCol.FieldName}'").
FirstOrDefault()
If oColumnData Is Nothing Then
Continue For
End If
Dim oSequence As Integer = oColumnData.Item("SEQUENCE")
oCol.VisibleIndex = oSequence
Dim oColumnType As String = oColumnData.Item("TYPE_COLUMN")
Select Case oColumnType
Case "INTEGER"
oCol.DisplayFormat.FormatType = FormatType.Custom
oCol.DisplayFormat.FormatString = "N0"
Case "DOUBLE"
oCol.DisplayFormat.FormatType = FormatType.Custom
oCol.DisplayFormat.FormatString = "N2"
Case "CURRENCY"
oCol.DisplayFormat.FormatType = FormatType.Custom
oCol.DisplayFormat.FormatString = "C2"
End Select
Dim oSummaryFunction As String = oColumnData.Item("SUMMARY_FUNCTION")
Select Case oSummaryFunction
Case Constants.AGGREGATE_TOTAL_INTEGER
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum
oCol.SummaryItem.DisplayFormat = "SUM: {0:N0}"
oShouldDisplayFooter = True
Case Constants.AGGREGATE_TOTAL_FLOAT
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Sum
oCol.SummaryItem.DisplayFormat = "SUM: {0:N2}"
oShouldDisplayFooter = True
Case Constants.AGGREGATE_TOTAL_CURRENCY
ApplyCurrencySummaryFormat(oCol, pcurrencySymbol)
oShouldDisplayFooter = True
Case Constants.AGGREGATE_TOTAL_AVG
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Average
oCol.SummaryItem.DisplayFormat = "AVG: {0}"
oShouldDisplayFooter = True
Case Constants.AGGREGATE_TOTAL_MAX
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Max
oCol.SummaryItem.DisplayFormat = "MAX: {0}"
oShouldDisplayFooter = True
Case Constants.AGGREGATE_TOTAL_MIN
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Min
oCol.SummaryItem.DisplayFormat = "MIN: {0}"
oShouldDisplayFooter = True
Case Constants.AGGREGATE_TOTAL_COUNT
oCol.SummaryItem.SummaryType = DevExpress.Data.SummaryItemType.Count
oCol.SummaryItem.DisplayFormat = "NUM: {0}"
oShouldDisplayFooter = True
End Select
Next
pGridView.OptionsView.ShowFooter = oShouldDisplayFooter
End Sub
Public Sub ConfigureViewColumnsCurrency(pColumnTable As DataTable, pGridView As GridView, pGrid As DevExpress.XtraGrid.GridControl, pCurrency As String)
Dim oCultureInfo As CultureInfo = New CultureInfo("de-DE")
oCultureInfo.NumberFormat.CurrencySymbol = pCurrency
Dim riTextEdit As RepositoryItemTextEdit = New RepositoryItemTextEdit()
riTextEdit.MaskSettings.Configure(Of MaskSettings.Numeric)(Sub(settings)
settings.MaskExpression = "c"
settings.Culture = oCultureInfo
End Sub)
riTextEdit.UseMaskAsDisplayFormat = True 'Optional
pGrid.RepositoryItems.Add(riTextEdit)
For Each oCol As GridColumn In pGridView.Columns
Dim oColumnData As DataRow = pColumnTable.
Select($"SPALTENNAME = '{oCol.FieldName}'").
FirstOrDefault()
If oColumnData Is Nothing Then
Continue For
End If
Dim oColumnType As String = oColumnData.Item("TYPE_COLUMN")
Select Case oColumnType
Case "CURRENCY"
oCol.DisplayFormat.FormatType = FormatType.Custom
oCol.ColumnEdit = riTextEdit
End Select
Next
End Sub
Public Sub ConfigureViewEvents(pColumnTable As DataTable, pGridView As GridView, pControl As Windows.Forms.Control, pControlId As Integer)
AddHandler pGridView.InitNewRow, Sub(sender As Object, e As InitNewRowEventArgs)
Try
_Logger.Debug("Initialzing new row")
For Each oColumnData As DataRow In pColumnTable.Rows
For Each oGridColumn As GridColumn In pGridView.Columns
If oGridColumn.FieldName <> oColumnData.Item("SPALTENNAME") Then
Continue For
End If
Dim oDefaultValue = ObjectEx.NotNull(oColumnData.Item("DEFAULT_VALUE"), String.Empty)
If oDefaultValue <> String.Empty Then
_Logger.Debug("Setting default value [{0}] for column [{1}]", oDefaultValue, oGridColumn.FieldName)
pGridView.SetRowCellValue(e.RowHandle, oGridColumn.FieldName, oDefaultValue)
End If
Next
Next
Catch ex As Exception
_Logger.Error(ex)
Finally
newRowModified = False
End Try
End Sub
AddHandler pGridView.CustomRowCellEdit, Sub(sender As Object, e As CustomRowCellEditEventArgs)
Try
For Each oRow As DataRow In pColumnTable.Rows
Dim oColumnName = oRow.Item("SPALTENNAME")
Dim oEditorExists = GridTables_TestEditorExistsByControlAndColumn(pControlId, oColumnName)
If oColumnName <> e.Column.FieldName Then
Continue For
End If
If oEditorExists Then
Dim oEditor = _GridTables.Item(pControlId).Item(oColumnName)
_Logger.Debug("Assigning Editor to Column [{0}]", oColumnName)
e.RepositoryItem = oEditor
Else
_Logger.Debug("Editor for Column [{0}] does not exist", oColumnName)
End If
Next
Catch ex As Exception
_Logger.Warn("Error in CustomRowCellEdit for [{0}]", e.CellValue)
_Logger.Error(ex)
End Try
End Sub
AddHandler pGridView.ValidatingEditor, Sub(sender As Object, e As BaseContainerValidateEditorEventArgs)
Dim oRow As DataRowView = pGridView.GetRow(pGridView.FocusedRowHandle)
Dim oColumnName = pGridView.FocusedColumn.FieldName
_Logger.Debug("Validating Editor for Column [{0}]", oColumnName)
GridTables_ValidateColumn(pGridView, pColumnTable, oColumnName, e.Value, e.Valid, e.ErrorText)
End Sub
AddHandler pGridView.PopupMenuShowing, AddressOf View_PopupMenuShowing
AddHandler pGridView.InvalidRowException, AddressOf View_InvalidRowException
AddHandler pGridView.ValidatingEditor, AddressOf View_ValidatingEditor
' AddHandler pGridView.CustomColumnDisplayText, AddressOf View_CustomColumnDisplayText
' These handlers are all used for the custom DefaultValue functionality, additionally some code in the 'InitNewRow' event.
' https://supportcenter.devexpress.com/ticket/details/t1035580/how-to-default-a-value-in-a-column-when-add-new-row-in-data-grid
AddHandler pGridView.ShowingEditor, AddressOf View_ShowingEditor
AddHandler pGridView.ShownEditor, AddressOf View_ShownEditor
AddHandler pGridView.ValidateRow, AddressOf View_ValidateRow
AddHandler pControl.LostFocus, AddressOf Control_LostFocus
End Sub
Private Sub View_CustomColumnDisplayText(ByVal eSender As Object, ByVal e As CustomColumnDisplayTextEventArgs)
If IsNothing(e.Value) Then
Exit Sub
End If
Dim view As GridView = eSender
'Dim view As GridView = TryCast(GridView1, GridView)
If e.Column.FieldName = "SpalteCurrency" Then
' e.DisplayText = e.Value.ToString().Replace("", "CHF")
End If
End Sub
Private Sub View_PopupMenuShowing(sender As Object, e As PopupMenuShowingEventArgs)
Dim view As GridView = TryCast(sender, GridView)
Dim oFocusedColumn As GridColumn = view.FocusedColumn
Dim oColumnType As Type = oFocusedColumn.ColumnType
Dim oColumnName As String = oFocusedColumn.FieldName
If e.MenuType = GridMenuType.Column AndAlso oColumnType Is GetType(Boolean) Then
e.Menu.Items.Add(New Menu.DXMenuItem(
"Alle Zeilen anhaken",
Sub(_sender As Object, _e As EventArgs)
SetCellValuesForBooleanColumn(view, oColumnName, True)
End Sub,
My.Resources.itemtypechecked,
Menu.DXMenuItemPriority.Normal))
e.Menu.Items.Add(New Menu.DXMenuItem(
"Alle Zeilen abhaken",
Sub(_sender As Object, _e As EventArgs)
SetCellValuesForBooleanColumn(view, oColumnName, False)
End Sub,
My.Resources.itemtypechecked,
Menu.DXMenuItemPriority.Normal))
End If
End Sub
Private Sub SetCellValuesForBooleanColumn(pView As GridView, pColumnName As String, pValue As Boolean)
Dim oRowHandle = 0
While (pView.IsValidRowHandle(oRowHandle))
Dim oRow = pView.GetDataRow(oRowHandle)
Dim oValue = oRow.ItemEx(pColumnName, False)
oRow.Item(pColumnName) = pValue
oRowHandle += 1
End While
End Sub
Private Sub Control_LostFocus(sender As DevExpress.XtraGrid.GridControl, e As EventArgs)
Dim oView2 As GridView = sender.FocusedView
' 19.08.2022:
' Calling UpdateCurrentRow when newRowModified Is true
' leads to some weird jumping of focus in the current cell.
' This seems to fix it.
If newRowModified = False Then
oView2.UpdateCurrentRow()
End If
End Sub
Private Sub View_ShowingEditor(sender As Object, e As CancelEventArgs)
Dim view As GridView = TryCast(sender, GridView)
_Logger.Debug("Showing editor.")
If view.IsNewItemRow(view.FocusedRowHandle) AndAlso Not newRowModified Then
_Logger.Debug("Adding new row.")
view.AddNewRow()
End If
End Sub
Private Sub View_ShownEditor(sender As Object, e As EventArgs)
Dim view As GridView = TryCast(sender, GridView)
If view.IsNewItemRow(view.FocusedRowHandle) Then
_Logger.Debug("Attaching Modified Handler.")
AddHandler view.ActiveEditor.Modified, Sub()
_Logger.Debug("Row was modified.")
newRowModified = True
End Sub
End If
End Sub
Private Sub View_ValidateRow(sender As Object, e As ValidateRowEventArgs)
Dim view As GridView = TryCast(sender, GridView)
If view.IsNewItemRow(e.RowHandle) AndAlso Not newRowModified Then
_Logger.Debug("Deleting unused row")
view.DeleteRow(e.RowHandle)
End If
_Logger.Debug("Validating row. Resetting Modified.")
newRowModified = False
End Sub
Private Sub View_ValidatingEditor(sender As Object, e As BaseContainerValidateEditorEventArgs)
Dim oValue As String = ObjectEx.NotNull(e.Value, "")
If oValue.Contains(" | ") Then
oValue = oValue.Split(" | ").ToList().First()
e.Value = oValue
End If
End Sub
Private Sub View_InvalidRowException(sender As Object, e As InvalidRowExceptionEventArgs)
e.ExceptionMode = ExceptionMode.NoAction
End Sub
Private Function GridTables_TestEditorExistsByControlAndColumn(oControlId As Integer, pColumn As String) As Boolean
If _GridTables.ContainsKey(oControlId) Then
Dim oContainsKey = _GridTables.Item(oControlId).ContainsKey(pColumn)
If oContainsKey AndAlso _GridTables.Item(oControlId).Item(pColumn) IsNot Nothing Then
Return True
Else
Return False
End If
Else
Return False
End If
End Function
Private Function GridTables_ValidateColumn(pView As GridView, pColumnDefinition As DataTable, ColumnName As String, pValue As Object, ByRef pIsValid As Boolean, ByRef pErrorText As String) As Boolean
Dim oColumn As DataRow = (From r As DataRow In pColumnDefinition.Rows
Where r.Item("SPALTENNAME") = ColumnName
Select r).FirstOrDefault()
Dim oGridColumn As GridColumn = (From c As GridColumn In pView.Columns
Where c.FieldName = ColumnName
Select c).FirstOrDefault()
Dim oIsRequired = oColumn.Item("VALIDATION")
Try
Dim oRegex = ObjectEx.NotNull(oColumn.Item("REGEX_MATCH"), String.Empty)
Dim oRegexMessage = ObjectEx.NotNull(oColumn.Item("REGEX_MESSAGE_DE"), String.Empty)
If oRegex <> String.Empty Then
Dim oMatch = New Regex(oRegex).IsMatch(pValue.ToString)
Dim oDefaultMessage = "Wert entspricht nicht dem gefordertem Format!"
Dim oMessage = IIf(oRegexMessage <> String.Empty, oRegexMessage, oDefaultMessage)
If oMatch = False Then
pErrorText = oMessage
pIsValid = False
Return False
End If
End If
Catch ex As Exception
_Logger.Error(ex)
End Try
If oIsRequired And (pValue IsNot Nothing AndAlso pValue.ToString = "") Then
pErrorText = "Spalte muss ausgefüllt werden!"
pIsValid = False
Return False
End If
Return True
End Function
End Class
End Namespace

View File

@ -120,5 +120,14 @@
</ColumnUISetting>
</ColumnUISettings>
</TableUISetting>
<TableUISetting Name="TBPM_PROFILE">
<ColumnUISettings>
<ColumnUISetting Name="TYPE">
<ControlSettings><ControlSetting ArtifactName="Microsoft:System.Windows.Forms:Form" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<BindableControlInfo Name="ComboBox" Type="System.Windows.Forms.ComboBox" AssemblyName="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</ControlSetting></ControlSettings>
</ColumnUISetting>
</ColumnUISettings>
</TableUISetting>
</TableUISettings>
</DataSetUISetting>

View File

@ -4,7 +4,7 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="801" ViewPortY="47" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-27" ViewPortY="91" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="14" X="1688" Y="-74" Height="324" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="2" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />
@ -25,7 +25,7 @@
<Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR" ZOrder="10" X="1828" Y="457" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:VWPM_CHART_INVOICE_MONITOR_SERIES" ZOrder="9" X="1903" Y="311" Height="153" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:VWPM_CHART_TOP5" ZOrder="8" X="1302" Y="15" Height="153" Width="267" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:TBPM_PROFILE" ZOrder="6" X="858" Y="-68" Height="305" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBPM_PROFILE" ZOrder="6" X="862" Y="-66" Height="305" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBWH_CONNECTION" ZOrder="24" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
</Shapes>
<Connectors>
@ -60,11 +60,11 @@
<Connector ID="DesignRelation:FK_TBPM_PROFILE_CONTROLS_PROFILE" ZOrder="5" LineWidth="11">
<RoutePoints>
<Point>
<X>961</X>
<Y>237</Y>
<X>965</X>
<Y>239</Y>
</Point>
<Point>
<X>961</X>
<X>965</X>
<Y>400</Y>
</Point>
</RoutePoints>

View File

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -30,7 +30,7 @@ Partial Public Class FinalIndexDataSet
Private _schemaSerializationMode As Global.System.Data.SchemaSerializationMode = Global.System.Data.SchemaSerializationMode.IncludeSchema
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New()
MyBase.New
Me.BeginInit
@ -42,7 +42,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext)
MyBase.New(info, context, false)
If (Me.IsBinarySerialized(info, context) = true) Then
@ -77,7 +77,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false), _
Global.System.ComponentModel.DesignerSerializationVisibility(Global.System.ComponentModel.DesignerSerializationVisibility.Content)> _
Public ReadOnly Property TBPM_PROFILE_FINAL_INDEXING() As TBPM_PROFILE_FINAL_INDEXINGDataTable
@ -87,7 +87,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.BrowsableAttribute(true), _
Global.System.ComponentModel.DesignerSerializationVisibilityAttribute(Global.System.ComponentModel.DesignerSerializationVisibility.Visible)> _
Public Overrides Property SchemaSerializationMode() As Global.System.Data.SchemaSerializationMode
@ -100,7 +100,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.DesignerSerializationVisibilityAttribute(Global.System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
Public Shadows ReadOnly Property Tables() As Global.System.Data.DataTableCollection
Get
@ -109,7 +109,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.DesignerSerializationVisibilityAttribute(Global.System.ComponentModel.DesignerSerializationVisibility.Hidden)> _
Public Shadows ReadOnly Property Relations() As Global.System.Data.DataRelationCollection
Get
@ -118,7 +118,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub InitializeDerivedDataSet()
Me.BeginInit
Me.InitClass
@ -126,7 +126,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Overrides Function Clone() As Global.System.Data.DataSet
Dim cln As FinalIndexDataSet = CType(MyBase.Clone,FinalIndexDataSet)
cln.InitVars
@ -135,19 +135,19 @@ Partial Public Class FinalIndexDataSet
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function ShouldSerializeTables() As Boolean
Return false
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function ShouldSerializeRelations() As Boolean
Return false
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub ReadXmlSerializable(ByVal reader As Global.System.Xml.XmlReader)
If (Me.DetermineSchemaSerializationMode(reader) = Global.System.Data.SchemaSerializationMode.IncludeSchema) Then
Me.Reset
@ -171,7 +171,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function GetSchemaSerializable() As Global.System.Xml.Schema.XmlSchema
Dim stream As Global.System.IO.MemoryStream = New Global.System.IO.MemoryStream()
Me.WriteXmlSchema(New Global.System.Xml.XmlTextWriter(stream, Nothing))
@ -180,13 +180,13 @@ Partial Public Class FinalIndexDataSet
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Overloads Sub InitVars()
Me.InitVars(true)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Overloads Sub InitVars(ByVal initTable As Boolean)
Me.tableTBPM_PROFILE_FINAL_INDEXING = CType(MyBase.Tables("TBPM_PROFILE_FINAL_INDEXING"),TBPM_PROFILE_FINAL_INDEXINGDataTable)
If (initTable = true) Then
@ -197,7 +197,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitClass()
Me.DataSetName = "FinalIndexDataSet"
Me.Prefix = ""
@ -209,13 +209,13 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Function ShouldSerializeTBPM_PROFILE_FINAL_INDEXING() As Boolean
Return false
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub SchemaChanged(ByVal sender As Object, ByVal e As Global.System.ComponentModel.CollectionChangeEventArgs)
If (e.Action = Global.System.ComponentModel.CollectionChangeAction.Remove) Then
Me.InitVars
@ -223,7 +223,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Shared Function GetTypedDataSetSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType
Dim ds As FinalIndexDataSet = New FinalIndexDataSet()
Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType()
@ -272,7 +272,7 @@ Partial Public Class FinalIndexDataSet
Return type
End Function
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Delegate Sub TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler(ByVal sender As Object, ByVal e As TBPM_PROFILE_FINAL_INDEXINGRowChangeEvent)
'''<summary>
@ -318,7 +318,7 @@ Partial Public Class FinalIndexDataSet
Private columnCONTINUE_INDETERMINED As Global.System.Data.DataColumn
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New()
MyBase.New
Me.TableName = "TBPM_PROFILE_FINAL_INDEXING"
@ -328,7 +328,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Sub New(ByVal table As Global.System.Data.DataTable)
MyBase.New
Me.TableName = table.TableName
@ -346,14 +346,14 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Sub New(ByVal info As Global.System.Runtime.Serialization.SerializationInfo, ByVal context As Global.System.Runtime.Serialization.StreamingContext)
MyBase.New(info, context)
Me.InitVars
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property GUIDColumn() As Global.System.Data.DataColumn
Get
Return Me.columnGUID
@ -361,7 +361,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property PROFIL_IDColumn() As Global.System.Data.DataColumn
Get
Return Me.columnPROFIL_ID
@ -369,7 +369,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property CONNECTION_IDColumn() As Global.System.Data.DataColumn
Get
Return Me.columnCONNECTION_ID
@ -377,7 +377,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property SQL_COMMANDColumn() As Global.System.Data.DataColumn
Get
Return Me.columnSQL_COMMAND
@ -385,7 +385,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property INDEXNAMEColumn() As Global.System.Data.DataColumn
Get
Return Me.columnINDEXNAME
@ -393,7 +393,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property VALUEColumn() As Global.System.Data.DataColumn
Get
Return Me.columnVALUE
@ -401,7 +401,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property ADDED_WHOColumn() As Global.System.Data.DataColumn
Get
Return Me.columnADDED_WHO
@ -409,7 +409,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property ADDED_WHENColumn() As Global.System.Data.DataColumn
Get
Return Me.columnADDED_WHEN
@ -417,7 +417,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property CHANGED_WHOColumn() As Global.System.Data.DataColumn
Get
Return Me.columnCHANGED_WHO
@ -425,7 +425,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property CHANGED_WHENColumn() As Global.System.Data.DataColumn
Get
Return Me.columnCHANGED_WHEN
@ -433,7 +433,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property DESCRIPTIONColumn() As Global.System.Data.DataColumn
Get
Return Me.columnDESCRIPTION
@ -441,7 +441,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property ACTIVEColumn() As Global.System.Data.DataColumn
Get
Return Me.columnACTIVE
@ -449,7 +449,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property PREVENT_DUPLICATESColumn() As Global.System.Data.DataColumn
Get
Return Me.columnPREVENT_DUPLICATES
@ -457,7 +457,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property ALLOW_NEW_VALUESColumn() As Global.System.Data.DataColumn
Get
Return Me.columnALLOW_NEW_VALUES
@ -465,7 +465,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property IF_VEKTOR_BEHAVIOURColumn() As Global.System.Data.DataColumn
Get
Return Me.columnIF_VEKTOR_BEHAVIOUR
@ -473,7 +473,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property SEQUENCEColumn() As Global.System.Data.DataColumn
Get
Return Me.columnSEQUENCE
@ -481,7 +481,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property CONTINUE_INDETERMINEDColumn() As Global.System.Data.DataColumn
Get
Return Me.columnCONTINUE_INDETERMINED
@ -489,7 +489,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false)> _
Public ReadOnly Property Count() As Integer
Get
@ -498,33 +498,33 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Default ReadOnly Property Item(ByVal index As Integer) As TBPM_PROFILE_FINAL_INDEXINGRow
Get
Return CType(Me.Rows(index),TBPM_PROFILE_FINAL_INDEXINGRow)
End Get
End Property
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Event TBPM_PROFILE_FINAL_INDEXINGRowChanging As TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Event TBPM_PROFILE_FINAL_INDEXINGRowChanged As TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Event TBPM_PROFILE_FINAL_INDEXINGRowDeleting As TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Event TBPM_PROFILE_FINAL_INDEXINGRowDeleted As TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Overloads Sub AddTBPM_PROFILE_FINAL_INDEXINGRow(ByVal row As TBPM_PROFILE_FINAL_INDEXINGRow)
Me.Rows.Add(row)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Overloads Function AddTBPM_PROFILE_FINAL_INDEXINGRow( _
ByVal PROFIL_ID As Integer, _
ByVal CONNECTION_ID As Short, _
@ -550,13 +550,13 @@ Partial Public Class FinalIndexDataSet
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function FindByGUID(ByVal GUID As Integer) As TBPM_PROFILE_FINAL_INDEXINGRow
Return CType(Me.Rows.Find(New Object() {GUID}),TBPM_PROFILE_FINAL_INDEXINGRow)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Overrides Function Clone() As Global.System.Data.DataTable
Dim cln As TBPM_PROFILE_FINAL_INDEXINGDataTable = CType(MyBase.Clone,TBPM_PROFILE_FINAL_INDEXINGDataTable)
cln.InitVars
@ -564,13 +564,13 @@ Partial Public Class FinalIndexDataSet
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function CreateInstance() As Global.System.Data.DataTable
Return New TBPM_PROFILE_FINAL_INDEXINGDataTable()
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Sub InitVars()
Me.columnGUID = MyBase.Columns("GUID")
Me.columnPROFIL_ID = MyBase.Columns("PROFIL_ID")
@ -592,7 +592,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitClass()
Me.columnGUID = New Global.System.Data.DataColumn("GUID", GetType(Integer), Nothing, Global.System.Data.MappingType.Element)
MyBase.Columns.Add(Me.columnGUID)
@ -660,25 +660,25 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function NewTBPM_PROFILE_FINAL_INDEXINGRow() As TBPM_PROFILE_FINAL_INDEXINGRow
Return CType(Me.NewRow,TBPM_PROFILE_FINAL_INDEXINGRow)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function NewRowFromBuilder(ByVal builder As Global.System.Data.DataRowBuilder) As Global.System.Data.DataRow
Return New TBPM_PROFILE_FINAL_INDEXINGRow(builder)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Function GetRowType() As Global.System.Type
Return GetType(TBPM_PROFILE_FINAL_INDEXINGRow)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub OnRowChanged(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowChanged(e)
If (Not (Me.TBPM_PROFILE_FINAL_INDEXINGRowChangedEvent) Is Nothing) Then
@ -687,7 +687,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub OnRowChanging(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowChanging(e)
If (Not (Me.TBPM_PROFILE_FINAL_INDEXINGRowChangingEvent) Is Nothing) Then
@ -696,7 +696,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub OnRowDeleted(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowDeleted(e)
If (Not (Me.TBPM_PROFILE_FINAL_INDEXINGRowDeletedEvent) Is Nothing) Then
@ -705,7 +705,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overrides Sub OnRowDeleting(ByVal e As Global.System.Data.DataRowChangeEventArgs)
MyBase.OnRowDeleting(e)
If (Not (Me.TBPM_PROFILE_FINAL_INDEXINGRowDeletingEvent) Is Nothing) Then
@ -714,13 +714,13 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub RemoveTBPM_PROFILE_FINAL_INDEXINGRow(ByVal row As TBPM_PROFILE_FINAL_INDEXINGRow)
Me.Rows.Remove(row)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Shared Function GetTypedTableSchema(ByVal xs As Global.System.Xml.Schema.XmlSchemaSet) As Global.System.Xml.Schema.XmlSchemaComplexType
Dim type As Global.System.Xml.Schema.XmlSchemaComplexType = New Global.System.Xml.Schema.XmlSchemaComplexType()
Dim sequence As Global.System.Xml.Schema.XmlSchemaSequence = New Global.System.Xml.Schema.XmlSchemaSequence()
@ -795,14 +795,14 @@ Partial Public Class FinalIndexDataSet
Private tableTBPM_PROFILE_FINAL_INDEXING As TBPM_PROFILE_FINAL_INDEXINGDataTable
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Sub New(ByVal rb As Global.System.Data.DataRowBuilder)
MyBase.New(rb)
Me.tableTBPM_PROFILE_FINAL_INDEXING = CType(Me.Table,TBPM_PROFILE_FINAL_INDEXINGDataTable)
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property GUID() As Integer
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.GUIDColumn),Integer)
@ -813,7 +813,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property PROFIL_ID() As Integer
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.PROFIL_IDColumn),Integer)
@ -824,7 +824,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property CONNECTION_ID() As Short
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.CONNECTION_IDColumn),Short)
@ -835,7 +835,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property SQL_COMMAND() As String
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.SQL_COMMANDColumn),String)
@ -846,7 +846,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property INDEXNAME() As String
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.INDEXNAMEColumn),String)
@ -857,7 +857,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property VALUE() As String
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.VALUEColumn),String)
@ -868,7 +868,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property ADDED_WHO() As String
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.ADDED_WHOColumn),String)
@ -879,7 +879,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property ADDED_WHEN() As Date
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.ADDED_WHENColumn),Date)
@ -890,7 +890,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property CHANGED_WHO() As String
Get
Try
@ -906,7 +906,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property CHANGED_WHEN() As Date
Get
Try
@ -922,7 +922,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property DESCRIPTION() As String
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.DESCRIPTIONColumn),String)
@ -933,7 +933,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property ACTIVE() As Boolean
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.ACTIVEColumn),Boolean)
@ -944,7 +944,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property PREVENT_DUPLICATES() As Boolean
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.PREVENT_DUPLICATESColumn),Boolean)
@ -955,7 +955,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property ALLOW_NEW_VALUES() As Boolean
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.ALLOW_NEW_VALUESColumn),Boolean)
@ -966,7 +966,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property IF_VEKTOR_BEHAVIOUR() As String
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.IF_VEKTOR_BEHAVIOURColumn),String)
@ -977,7 +977,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property SEQUENCE() As Byte
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.SEQUENCEColumn),Byte)
@ -988,7 +988,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property CONTINUE_INDETERMINED() As Boolean
Get
Return CType(Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.CONTINUE_INDETERMINEDColumn),Boolean)
@ -999,25 +999,25 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function IsCHANGED_WHONull() As Boolean
Return Me.IsNull(Me.tableTBPM_PROFILE_FINAL_INDEXING.CHANGED_WHOColumn)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub SetCHANGED_WHONull()
Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.CHANGED_WHOColumn) = Global.System.Convert.DBNull
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function IsCHANGED_WHENNull() As Boolean
Return Me.IsNull(Me.tableTBPM_PROFILE_FINAL_INDEXING.CHANGED_WHENColumn)
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub SetCHANGED_WHENNull()
Me(Me.tableTBPM_PROFILE_FINAL_INDEXING.CHANGED_WHENColumn) = Global.System.Convert.DBNull
End Sub
@ -1026,7 +1026,7 @@ Partial Public Class FinalIndexDataSet
'''<summary>
'''Row event argument class
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Class TBPM_PROFILE_FINAL_INDEXINGRowChangeEvent
Inherits Global.System.EventArgs
@ -1035,7 +1035,7 @@ Partial Public Class FinalIndexDataSet
Private eventAction As Global.System.Data.DataRowAction
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New(ByVal row As TBPM_PROFILE_FINAL_INDEXINGRow, ByVal action As Global.System.Data.DataRowAction)
MyBase.New
Me.eventRow = row
@ -1043,7 +1043,7 @@ Partial Public Class FinalIndexDataSet
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property Row() As TBPM_PROFILE_FINAL_INDEXINGRow
Get
Return Me.eventRow
@ -1051,7 +1051,7 @@ Partial Public Class FinalIndexDataSet
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public ReadOnly Property Action() As Global.System.Data.DataRowAction
Get
Return Me.eventAction
@ -1085,14 +1085,14 @@ Namespace FinalIndexDataSetTableAdapters
Private _clearBeforeFill As Boolean
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Sub New()
MyBase.New
Me.ClearBeforeFill = true
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Friend ReadOnly Property Adapter() As Global.System.Data.SqlClient.SqlDataAdapter
Get
If (Me._adapter Is Nothing) Then
@ -1103,7 +1103,7 @@ Namespace FinalIndexDataSetTableAdapters
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Property Connection() As Global.System.Data.SqlClient.SqlConnection
Get
If (Me._connection Is Nothing) Then
@ -1133,7 +1133,7 @@ Namespace FinalIndexDataSetTableAdapters
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Property Transaction() As Global.System.Data.SqlClient.SqlTransaction
Get
Return Me._transaction
@ -1161,7 +1161,7 @@ Namespace FinalIndexDataSetTableAdapters
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected ReadOnly Property CommandCollection() As Global.System.Data.SqlClient.SqlCommand()
Get
If (Me._commandCollection Is Nothing) Then
@ -1172,7 +1172,7 @@ Namespace FinalIndexDataSetTableAdapters
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property ClearBeforeFill() As Boolean
Get
Return Me._clearBeforeFill
@ -1183,7 +1183,7 @@ Namespace FinalIndexDataSetTableAdapters
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitAdapter()
Me._adapter = New Global.System.Data.SqlClient.SqlDataAdapter()
Dim tableMapping As Global.System.Data.Common.DataTableMapping = New Global.System.Data.Common.DataTableMapping()
@ -1210,14 +1210,14 @@ Namespace FinalIndexDataSetTableAdapters
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitConnection()
Me._connection = New Global.System.Data.SqlClient.SqlConnection()
Me._connection.ConnectionString = Global.DD_ProcessManager.My.MySettings.Default.ConnectionString
Me._connection.ConnectionString = Global.taskFLOW.My.MySettings.Default.ConnectionString
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitCommandCollection()
Me._commandCollection = New Global.System.Data.SqlClient.SqlCommand(1) {}
Me._commandCollection(0) = New Global.System.Data.SqlClient.SqlCommand()
@ -1246,7 +1246,7 @@ Namespace FinalIndexDataSetTableAdapters
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Fill, true)> _
Public Overloads Overridable Function Fill(ByVal dataTable As FinalIndexDataSet.TBPM_PROFILE_FINAL_INDEXINGDataTable, ByVal NAME As String) As Integer
@ -1264,7 +1264,7 @@ Namespace FinalIndexDataSetTableAdapters
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.[Select], true)> _
Public Overloads Overridable Function GetData(ByVal NAME As String) As FinalIndexDataSet.TBPM_PROFILE_FINAL_INDEXINGDataTable
@ -1280,7 +1280,7 @@ Namespace FinalIndexDataSetTableAdapters
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter"), _
Global.System.ComponentModel.DataObjectMethodAttribute(Global.System.ComponentModel.DataObjectMethodType.Delete, false)> _
Public Overloads Overridable Function DeleteFinalIndex(ByVal guid As Integer) As Integer
@ -1321,7 +1321,7 @@ Namespace FinalIndexDataSetTableAdapters
Private _connection As Global.System.Data.IDbConnection
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property UpdateOrder() As UpdateOrderOption
Get
Return Me._updateOrder
@ -1332,7 +1332,7 @@ Namespace FinalIndexDataSetTableAdapters
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Property BackupDataSetBeforeUpdate() As Boolean
Get
Return Me._backupDataSetBeforeUpdate
@ -1343,7 +1343,7 @@ Namespace FinalIndexDataSetTableAdapters
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false)> _
Public Property Connection() As Global.System.Data.IDbConnection
Get
@ -1358,7 +1358,7 @@ Namespace FinalIndexDataSetTableAdapters
End Property
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0"), _
Global.System.ComponentModel.Browsable(false)> _
Public ReadOnly Property TableAdapterInstanceCount() As Integer
Get
@ -1371,7 +1371,7 @@ Namespace FinalIndexDataSetTableAdapters
'''Update rows in top-down order.
'''</summary>
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Function UpdateUpdatedRows(ByVal dataSet As FinalIndexDataSet, ByVal allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow), ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
Dim result As Integer = 0
Return result
@ -1381,7 +1381,7 @@ Namespace FinalIndexDataSetTableAdapters
'''Insert rows in top-down order.
'''</summary>
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Function UpdateInsertedRows(ByVal dataSet As FinalIndexDataSet, ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
Dim result As Integer = 0
Return result
@ -1391,7 +1391,7 @@ Namespace FinalIndexDataSetTableAdapters
'''Delete rows in bottom-up order.
'''</summary>
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Function UpdateDeletedRows(ByVal dataSet As FinalIndexDataSet, ByVal allChangedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Integer
Dim result As Integer = 0
Return result
@ -1401,7 +1401,7 @@ Namespace FinalIndexDataSetTableAdapters
'''Remove inserted rows that become updated rows after calling TableAdapter.Update(inserted rows) first
'''</summary>
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Function GetRealUpdatedRows(ByVal updatedRows() As Global.System.Data.DataRow, ByVal allAddedRows As Global.System.Collections.Generic.List(Of Global.System.Data.DataRow)) As Global.System.Data.DataRow()
If ((updatedRows Is Nothing) _
OrElse (updatedRows.Length < 1)) Then
@ -1427,7 +1427,7 @@ Namespace FinalIndexDataSetTableAdapters
'''Update all changes to the dataset.
'''</summary>
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Overridable Function UpdateAll(ByVal dataSet As FinalIndexDataSet) As Integer
If (dataSet Is Nothing) Then
Throw New Global.System.ArgumentNullException("dataSet")
@ -1544,13 +1544,13 @@ Namespace FinalIndexDataSetTableAdapters
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overridable Sub SortSelfReferenceRows(ByVal rows() As Global.System.Data.DataRow, ByVal relation As Global.System.Data.DataRelation, ByVal childFirst As Boolean)
Global.System.Array.Sort(Of Global.System.Data.DataRow)(rows, New SelfReferenceComparer(relation, childFirst))
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Protected Overridable Function MatchTableAdapterConnection(ByVal inputConnection As Global.System.Data.IDbConnection) As Boolean
If (Not (Me._connection) Is Nothing) Then
Return true
@ -1568,7 +1568,7 @@ Namespace FinalIndexDataSetTableAdapters
'''<summary>
'''Update Order Option
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Enum UpdateOrderOption
InsertUpdateDelete = 0
@ -1579,7 +1579,7 @@ Namespace FinalIndexDataSetTableAdapters
'''<summary>
'''Used to sort self-referenced table's rows
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Class SelfReferenceComparer
Inherits Object
Implements Global.System.Collections.Generic.IComparer(Of Global.System.Data.DataRow)
@ -1589,7 +1589,7 @@ Namespace FinalIndexDataSetTableAdapters
Private _childFirst As Integer
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Friend Sub New(ByVal relation As Global.System.Data.DataRelation, ByVal childFirst As Boolean)
MyBase.New
Me._relation = relation
@ -1601,7 +1601,7 @@ Namespace FinalIndexDataSetTableAdapters
End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Function GetRoot(ByVal row As Global.System.Data.DataRow, ByRef distance As Integer) As Global.System.Data.DataRow
Global.System.Diagnostics.Debug.Assert((Not (row) Is Nothing))
Dim root As Global.System.Data.DataRow = row
@ -1640,7 +1640,7 @@ Namespace FinalIndexDataSetTableAdapters
End Function
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")> _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Public Function Compare(ByVal row1 As Global.System.Data.DataRow, ByVal row2 As Global.System.Data.DataRow) As Integer Implements Global.System.Collections.Generic.IComparer(Of Global.System.Data.DataRow).Compare
If Object.ReferenceEquals(row1, row2) Then
Return 0

View File

@ -4,7 +4,7 @@
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource">
<DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections>
<Connection AppSettingsObjectName="MySettings" AppSettingsPropertyName="ConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="ConnectionString (MySettings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.DD_ProcessManager.My.MySettings.GlobalReference.Default.ConnectionString" Provider="System.Data.SqlClient" />
<Connection AppSettingsObjectName="MySettings" AppSettingsPropertyName="ConnectionString" ConnectionStringObject="" IsAppSettingsProperty="true" Modifier="Assembly" Name="ConnectionString (MySettings)" ParameterPrefix="@" PropertyReference="ApplicationSettings.taskFLOW.My.MySettings.GlobalReference.Default.ConnectionString" Provider="System.Data.SqlClient" />
</Connections>
<Tables>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBPM_PROFILE_FINAL_INDEXINGTableAdapter" GeneratorDataComponentClassName="TBPM_PROFILE_FINAL_INDEXINGTableAdapter" Name="TBPM_PROFILE_FINAL_INDEXING" UserDataComponentName="TBPM_PROFILE_FINAL_INDEXINGTableAdapter">
@ -66,71 +66,71 @@ WHERE (GUID = @guid)</CommandText>
</DataSource>
</xs:appinfo>
</xs:annotation>
<xs:element name="FinalIndexDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="FinalIndexDataSet" msprop:Generator_UserDSName="FinalIndexDataSet">
<xs:element name="FinalIndexDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_UserDSName="FinalIndexDataSet" msprop:Generator_DataSetName="FinalIndexDataSet">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_TableClassName="TBPM_PROFILE_FINAL_INDEXINGDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowChangedName="TBPM_PROFILE_FINAL_INDEXINGRowChanged" msprop:Generator_TablePropName="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowDeletingName="TBPM_PROFILE_FINAL_INDEXINGRowDeleting" msprop:Generator_RowChangingName="TBPM_PROFILE_FINAL_INDEXINGRowChanging" msprop:Generator_RowEvHandlerName="TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILE_FINAL_INDEXINGRowDeleted" msprop:Generator_RowClassName="TBPM_PROFILE_FINAL_INDEXINGRow" msprop:Generator_UserTableName="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowEvArgName="TBPM_PROFILE_FINAL_INDEXINGRowChangeEvent">
<xs:element name="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowEvHandlerName="TBPM_PROFILE_FINAL_INDEXINGRowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILE_FINAL_INDEXINGRowDeleted" msprop:Generator_RowDeletingName="TBPM_PROFILE_FINAL_INDEXINGRowDeleting" msprop:Generator_RowEvArgName="TBPM_PROFILE_FINAL_INDEXINGRowChangeEvent" msprop:Generator_TablePropName="TBPM_PROFILE_FINAL_INDEXING" msprop:Generator_RowChangedName="TBPM_PROFILE_FINAL_INDEXINGRowChanged" msprop:Generator_RowChangingName="TBPM_PROFILE_FINAL_INDEXINGRowChanging" msprop:Generator_TableClassName="TBPM_PROFILE_FINAL_INDEXINGDataTable" msprop:Generator_RowClassName="TBPM_PROFILE_FINAL_INDEXINGRow" msprop:Generator_TableVarName="tableTBPM_PROFILE_FINAL_INDEXING" msprop:Generator_UserTableName="TBPM_PROFILE_FINAL_INDEXING">
<xs:complexType>
<xs:sequence>
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_UserColumnName="GUID" type="xs:int" />
<xs:element name="PROFIL_ID" msprop:Generator_ColumnVarNameInTable="columnPROFIL_ID" msprop:Generator_ColumnPropNameInRow="PROFIL_ID" msprop:Generator_ColumnPropNameInTable="PROFIL_IDColumn" msprop:Generator_UserColumnName="PROFIL_ID" type="xs:int" />
<xs:element name="CONNECTION_ID" msprop:Generator_ColumnVarNameInTable="columnCONNECTION_ID" msprop:Generator_ColumnPropNameInRow="CONNECTION_ID" msprop:Generator_ColumnPropNameInTable="CONNECTION_IDColumn" msprop:Generator_UserColumnName="CONNECTION_ID" type="xs:short" />
<xs:element name="SQL_COMMAND" msprop:Generator_ColumnVarNameInTable="columnSQL_COMMAND" msprop:Generator_ColumnPropNameInRow="SQL_COMMAND" msprop:Generator_ColumnPropNameInTable="SQL_COMMANDColumn" msprop:Generator_UserColumnName="SQL_COMMAND">
<xs:element name="GUID" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnPropNameInRow="GUID" msprop:Generator_ColumnPropNameInTable="GUIDColumn" msprop:Generator_ColumnVarNameInTable="columnGUID" msprop:Generator_UserColumnName="GUID" type="xs:int" />
<xs:element name="PROFIL_ID" msprop:Generator_ColumnPropNameInRow="PROFIL_ID" msprop:Generator_ColumnPropNameInTable="PROFIL_IDColumn" msprop:Generator_ColumnVarNameInTable="columnPROFIL_ID" msprop:Generator_UserColumnName="PROFIL_ID" type="xs:int" />
<xs:element name="CONNECTION_ID" msprop:Generator_ColumnPropNameInRow="CONNECTION_ID" msprop:Generator_ColumnPropNameInTable="CONNECTION_IDColumn" msprop:Generator_ColumnVarNameInTable="columnCONNECTION_ID" msprop:Generator_UserColumnName="CONNECTION_ID" type="xs:short" />
<xs:element name="SQL_COMMAND" msprop:Generator_ColumnPropNameInRow="SQL_COMMAND" msprop:Generator_ColumnPropNameInTable="SQL_COMMANDColumn" msprop:Generator_ColumnVarNameInTable="columnSQL_COMMAND" msprop:Generator_UserColumnName="SQL_COMMAND">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INDEXNAME" msprop:Generator_ColumnVarNameInTable="columnINDEXNAME" msprop:Generator_ColumnPropNameInRow="INDEXNAME" msprop:Generator_ColumnPropNameInTable="INDEXNAMEColumn" msprop:Generator_UserColumnName="INDEXNAME">
<xs:element name="INDEXNAME" msprop:Generator_ColumnPropNameInRow="INDEXNAME" msprop:Generator_ColumnPropNameInTable="INDEXNAMEColumn" msprop:Generator_ColumnVarNameInTable="columnINDEXNAME" msprop:Generator_UserColumnName="INDEXNAME">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" msprop:Generator_ColumnVarNameInTable="columnVALUE" msprop:Generator_ColumnPropNameInRow="VALUE" msprop:Generator_ColumnPropNameInTable="VALUEColumn" msprop:Generator_UserColumnName="VALUE">
<xs:element name="VALUE" msprop:Generator_ColumnPropNameInRow="VALUE" msprop:Generator_ColumnPropNameInTable="VALUEColumn" msprop:Generator_ColumnVarNameInTable="columnVALUE" msprop:Generator_UserColumnName="VALUE">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ADDED_WHO" msprop:Generator_ColumnVarNameInTable="columnADDED_WHO" msprop:Generator_ColumnPropNameInRow="ADDED_WHO" msprop:Generator_ColumnPropNameInTable="ADDED_WHOColumn" msprop:Generator_UserColumnName="ADDED_WHO">
<xs:element name="ADDED_WHO" msprop:Generator_ColumnPropNameInRow="ADDED_WHO" msprop:Generator_ColumnPropNameInTable="ADDED_WHOColumn" msprop:Generator_ColumnVarNameInTable="columnADDED_WHO" msprop:Generator_UserColumnName="ADDED_WHO">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ADDED_WHEN" msprop:Generator_ColumnVarNameInTable="columnADDED_WHEN" msprop:Generator_ColumnPropNameInRow="ADDED_WHEN" msprop:Generator_ColumnPropNameInTable="ADDED_WHENColumn" msprop:Generator_UserColumnName="ADDED_WHEN" type="xs:dateTime" />
<xs:element name="CHANGED_WHO" msprop:Generator_ColumnVarNameInTable="columnCHANGED_WHO" msprop:Generator_ColumnPropNameInRow="CHANGED_WHO" msprop:Generator_ColumnPropNameInTable="CHANGED_WHOColumn" msprop:Generator_UserColumnName="CHANGED_WHO" minOccurs="0">
<xs:element name="ADDED_WHEN" msprop:Generator_ColumnPropNameInRow="ADDED_WHEN" msprop:Generator_ColumnPropNameInTable="ADDED_WHENColumn" msprop:Generator_ColumnVarNameInTable="columnADDED_WHEN" msprop:Generator_UserColumnName="ADDED_WHEN" type="xs:dateTime" />
<xs:element name="CHANGED_WHO" msprop:Generator_ColumnPropNameInRow="CHANGED_WHO" msprop:Generator_ColumnPropNameInTable="CHANGED_WHOColumn" msprop:Generator_ColumnVarNameInTable="columnCHANGED_WHO" msprop:Generator_UserColumnName="CHANGED_WHO" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CHANGED_WHEN" msprop:Generator_ColumnVarNameInTable="columnCHANGED_WHEN" msprop:Generator_ColumnPropNameInRow="CHANGED_WHEN" msprop:Generator_ColumnPropNameInTable="CHANGED_WHENColumn" msprop:Generator_UserColumnName="CHANGED_WHEN" type="xs:dateTime" minOccurs="0" />
<xs:element name="DESCRIPTION" msprop:Generator_ColumnVarNameInTable="columnDESCRIPTION" msprop:Generator_ColumnPropNameInRow="DESCRIPTION" msprop:Generator_ColumnPropNameInTable="DESCRIPTIONColumn" msprop:Generator_UserColumnName="DESCRIPTION">
<xs:element name="CHANGED_WHEN" msprop:Generator_ColumnPropNameInRow="CHANGED_WHEN" msprop:Generator_ColumnPropNameInTable="CHANGED_WHENColumn" msprop:Generator_ColumnVarNameInTable="columnCHANGED_WHEN" msprop:Generator_UserColumnName="CHANGED_WHEN" type="xs:dateTime" minOccurs="0" />
<xs:element name="DESCRIPTION" msprop:Generator_ColumnPropNameInRow="DESCRIPTION" msprop:Generator_ColumnPropNameInTable="DESCRIPTIONColumn" msprop:Generator_ColumnVarNameInTable="columnDESCRIPTION" msprop:Generator_UserColumnName="DESCRIPTION">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2147483647" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVE" msprop:Generator_ColumnVarNameInTable="columnACTIVE" msprop:Generator_ColumnPropNameInRow="ACTIVE" msprop:Generator_ColumnPropNameInTable="ACTIVEColumn" msprop:Generator_UserColumnName="ACTIVE" type="xs:boolean" />
<xs:element name="PREVENT_DUPLICATES" msprop:Generator_ColumnVarNameInTable="columnPREVENT_DUPLICATES" msprop:Generator_ColumnPropNameInRow="PREVENT_DUPLICATES" msprop:Generator_ColumnPropNameInTable="PREVENT_DUPLICATESColumn" msprop:Generator_UserColumnName="PREVENT_DUPLICATES" type="xs:boolean" />
<xs:element name="ALLOW_NEW_VALUES" msprop:Generator_ColumnVarNameInTable="columnALLOW_NEW_VALUES" msprop:Generator_ColumnPropNameInRow="ALLOW_NEW_VALUES" msprop:Generator_ColumnPropNameInTable="ALLOW_NEW_VALUESColumn" msprop:Generator_UserColumnName="ALLOW_NEW_VALUES" type="xs:boolean" />
<xs:element name="IF_VEKTOR_BEHAVIOUR" msprop:Generator_ColumnVarNameInTable="columnIF_VEKTOR_BEHAVIOUR" msprop:Generator_ColumnPropNameInRow="IF_VEKTOR_BEHAVIOUR" msprop:Generator_ColumnPropNameInTable="IF_VEKTOR_BEHAVIOURColumn" msprop:Generator_UserColumnName="IF_VEKTOR_BEHAVIOUR">
<xs:element name="ACTIVE" msprop:Generator_ColumnPropNameInRow="ACTIVE" msprop:Generator_ColumnPropNameInTable="ACTIVEColumn" msprop:Generator_ColumnVarNameInTable="columnACTIVE" msprop:Generator_UserColumnName="ACTIVE" type="xs:boolean" />
<xs:element name="PREVENT_DUPLICATES" msprop:Generator_ColumnPropNameInRow="PREVENT_DUPLICATES" msprop:Generator_ColumnPropNameInTable="PREVENT_DUPLICATESColumn" msprop:Generator_ColumnVarNameInTable="columnPREVENT_DUPLICATES" msprop:Generator_UserColumnName="PREVENT_DUPLICATES" type="xs:boolean" />
<xs:element name="ALLOW_NEW_VALUES" msprop:Generator_ColumnPropNameInRow="ALLOW_NEW_VALUES" msprop:Generator_ColumnPropNameInTable="ALLOW_NEW_VALUESColumn" msprop:Generator_ColumnVarNameInTable="columnALLOW_NEW_VALUES" msprop:Generator_UserColumnName="ALLOW_NEW_VALUES" type="xs:boolean" />
<xs:element name="IF_VEKTOR_BEHAVIOUR" msprop:Generator_ColumnPropNameInRow="IF_VEKTOR_BEHAVIOUR" msprop:Generator_ColumnPropNameInTable="IF_VEKTOR_BEHAVIOURColumn" msprop:Generator_ColumnVarNameInTable="columnIF_VEKTOR_BEHAVIOUR" msprop:Generator_UserColumnName="IF_VEKTOR_BEHAVIOUR">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="25" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SEQUENCE" msprop:Generator_ColumnVarNameInTable="columnSEQUENCE" msprop:Generator_ColumnPropNameInRow="SEQUENCE" msprop:Generator_ColumnPropNameInTable="SEQUENCEColumn" msprop:Generator_UserColumnName="SEQUENCE" type="xs:unsignedByte" default="0" />
<xs:element name="CONTINUE_INDETERMINED" msprop:Generator_ColumnVarNameInTable="columnCONTINUE_INDETERMINED" msprop:Generator_ColumnPropNameInRow="CONTINUE_INDETERMINED" msprop:Generator_ColumnPropNameInTable="CONTINUE_INDETERMINEDColumn" msprop:Generator_UserColumnName="CONTINUE_INDETERMINED" type="xs:boolean" />
<xs:element name="SEQUENCE" msprop:Generator_ColumnPropNameInRow="SEQUENCE" msprop:Generator_ColumnPropNameInTable="SEQUENCEColumn" msprop:Generator_ColumnVarNameInTable="columnSEQUENCE" msprop:Generator_UserColumnName="SEQUENCE" type="xs:unsignedByte" default="0" />
<xs:element name="CONTINUE_INDETERMINED" msprop:Generator_ColumnPropNameInRow="CONTINUE_INDETERMINED" msprop:Generator_ColumnPropNameInTable="CONTINUE_INDETERMINEDColumn" msprop:Generator_ColumnVarNameInTable="columnCONTINUE_INDETERMINED" msprop:Generator_UserColumnName="CONTINUE_INDETERMINED" type="xs:boolean" />
</xs:sequence>
</xs:complexType>
</xs:element>

View File

@ -4,7 +4,7 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="0" ViewPortY="0" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:TBPM_PROFILE_FINAL_INDEXING" ZOrder="1" X="93" Y="35" Height="362" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="292" />
</Shapes>

View File

@ -2,6 +2,7 @@
Imports System.ComponentModel.Design
Imports System.Drawing.Design
Imports System.Globalization
Imports DevExpress.XtraPrinting.Native
Imports DigitalData.Modules.Language.Utils
Public Module ModuleControlProperties
@ -69,6 +70,35 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_DISPLAY)>
Public Property TextColor As Color
<DisplayName("Text Alignement")>
<Category(ClassConstants.CAT_DISPLAY)>
<TypeConverter(GetType(TextAlignmentConverter))>
Public Property TextAlignment As String
' Converter für Dropdown-Werte Near/Center/Far
Public Class TextAlignmentConverter
Inherits TypeConverter
Public Overrides Function GetStandardValuesSupported(context As ITypeDescriptorContext) As Boolean
Return True
End Function
' Optional: True, damit nur die vorgegebenen Werte erlaubt sind
Public Overrides Function GetStandardValuesExclusive(context As ITypeDescriptorContext) As Boolean
Return True
End Function
Public Overrides Function GetStandardValues(context As ITypeDescriptorContext) As StandardValuesCollection
Dim values = New List(Of String) From {"Near", "Center", "Far"}
Return New StandardValuesCollection(values)
End Function
Public Overrides Function ConvertTo(context As ITypeDescriptorContext, culture As CultureInfo, value As Object, destinationType As Type) As Object
If destinationType Is GetType(String) Then
Return If(value Is Nothing, "", value.ToString())
End If
Return MyBase.ConvertTo(context, culture, value, destinationType)
End Function
End Class
Class FontConverter
Inherits TypeConverter
@ -84,7 +114,7 @@ Public Module ModuleControlProperties
Private _index_type As String
Private _sql_command As String
Friend _sql_connection As Integer = 0
'Friend _sql_connection As Integer = 0
Private _Enable_SQL As String
Private _Enable_SQL_ONLOAD As String
Private _default_value
@ -124,36 +154,37 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_DATA)>
Public Property SQLCommand() As SQLValue
Get
Return New SQLValue(NotNull(_sql_command, ""), _sql_connection)
Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_sql_command, "")) ', _sql_connection
End Get
Set(ByVal value As SQLValue)
_sql_command = value.Value
SQLConnection = value.ConnectionId
'SQLConnection = value.ConnectionId
End Set
End Property
<DisplayName("SQL Connection")>
<Category(ClassConstants.CAT_INFORMATION)>
<[ReadOnly](True)>
Public Property SQLConnection() As Integer
Get
Return _sql_connection
End Get
Set(value As Integer)
_sql_connection = value
End Set
End Property
'<DisplayName("SQL Connection")>
'<Category(ClassConstants.CAT_INFORMATION)>
'<[ReadOnly](True)>
'Public Property SQLConnection() As Integer
' Get
' Return _sql_connection
' End Get
' Set(value As Integer)
' _sql_connection = value
' End Set
'End Property
<DisplayName("Enable On Change SQL")>
<Description("SQL Command that determines if a control should be enabled/disabled when another, referenced control changes. Should return 0 or 1. Can include a Control-Placeholder.")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property Enable_SQL() As SQLValue
Get
Return New SQLValue(NotNull(_Enable_SQL, ""), _sql_connection)
Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Enable_SQL, "")) ', _sql_connection
End Get
Set(ByVal value As SQLValue)
_Enable_SQL = value.Value
SQLConnection = value.ConnectionId
'SQLConnection = value.ConnectionId
End Set
End Property
@ -162,11 +193,11 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property Enable_SQL_OnLoad() As SQLValue
Get
Return New SQLValue(NotNull(_Enable_SQL_ONLOAD, ""), _sql_connection)
Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Enable_SQL_ONLOAD, "")) ', _sql_connection
End Get
Set(ByVal value As SQLValue)
_Enable_SQL_ONLOAD = value.Value
SQLConnection = value.ConnectionId
'SQLConnection = value.ConnectionId
End Set
End Property
@ -189,11 +220,11 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property SetControlData As SQLValue
Get
Return New SQLValue(_set_control_data, _sql_connection)
Return New SQLValue(_set_control_data) ', _sql_connection
End Get
Set(value As SQLValue)
_set_control_data = value.Value
SQLConnection = value.ConnectionId
'SQLConnection = value.ConnectionId
End Set
End Property
End Class
@ -210,6 +241,39 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_VALIDATION)>
<Editor(GetType(MultilineStringEditor), GetType(UITypeEditor))>
Public Property RegexMessage As String
<DisplayName("Display Format")>
<Category(ClassConstants.CAT_DISPLAY)>
<TypeConverter(GetType(DisplayFormatConverter))>
Public Property DisplayFormat As String
Public Class DisplayFormatConverter
Inherits TypeConverter
Public Overrides Function GetStandardValuesSupported(context As ITypeDescriptorContext) As Boolean
Return True
End Function
Public Overrides Function GetStandardValues(context As ITypeDescriptorContext) As StandardValuesCollection
Dim displayFormatList = New List(Of String) From {
ClassControlCreator.CONTROL_TYPE_TEXT,
ClassControlCreator.CONTROL_TYPE_DOUBLE,
ClassControlCreator.CONTROL_TYPE_CURRENCY,
ClassControlCreator.CONTROL_TYPE_DATE,
ClassControlCreator.CONTROL_TYPE_DATETIME
}
Dim values As New StandardValuesCollection(displayFormatList)
Return values
End Function
Public Overrides Function ConvertTo(context As ITypeDescriptorContext, culture As CultureInfo, value As Object, destinationType As Type) As Object
If IsNothing(value) Then
Return ""
Else
Return value.ToString()
End If
End Function
End Class
End Class
Public Class LabelProperties
@ -245,6 +309,10 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property DisplayAsLookUpControl As Boolean
<DisplayName("Add new values")>
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property AddNewValues As Boolean
Public Class ChoiceListConverter
Inherits TypeConverter
@ -297,7 +365,7 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_DISPLAY)>
Public Property CtrlImage() As ImageValue
Get
Return New ImageValue(NotNull(_image_Value, ""))
Return New ImageValue(ClassAllgemeineFunktionen.NotNullString(_image_Value, ""))
End Get
Set(ByVal value As ImageValue)
_image_Value = value.Value
@ -308,11 +376,11 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_VALIDATION)>
Public Property Override_SQL() As SQLValue
Get
Return New SQLValue(NotNull(_Override_SQL, ""), _sql_connection)
Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Override_SQL, "")) ', _sql_connection
End Get
Set(ByVal value As SQLValue)
_Override_SQL = value.Value
SQLConnection = value.ConnectionId
'SQLConnection = value.ConnectionId
End Set
End Property
End Class

View File

@ -11,10 +11,10 @@ Module ModuleFinalIndexProperties
<[ReadOnly](True)>
Public Property GUID As Integer
<DisplayName("Connection ID")>
<Category(ClassConstants.CAT_INFORMATION)>
<[ReadOnly](True)>
Public Property ConnectionId As Integer
'<DisplayName("Connection ID")>
'<Category(ClassConstants.CAT_INFORMATION)>
'<[ReadOnly](True)>
'Public Property ConnectionId As Integer
<Category(ClassConstants.CAT_GENERAL)>
Public Property Description As String
@ -97,6 +97,7 @@ Module ModuleFinalIndexProperties
Public Property VectorBehaviourType As List(Of String)
Public Sub VectorIndexBooleanProvider(attrs As PropertyAttributes)
'Sd
MaybeSetReadOnlyIfNotVectorIndex(attrs)
End Sub
@ -182,7 +183,12 @@ Module ModuleFinalIndexProperties
If indexType.Contains(type) Then
attrs.IsBrowsable = True
Else
attrs.IsBrowsable = False
If attrs.DisplayName = "Index Behaviour" Then
attrs.IsBrowsable = True
Else
attrs.IsBrowsable = False
End If
End If
End Sub

View File

@ -1,5 +1,5 @@
Module ModuleMySettings
' Connection String
Public Property MODULE_PM As String = "Process-Manager"
Public Property SOURCE_INIT As Boolean = False
Public Property CONNECTION_STRING_ECM As String = ""
Public Property CONNECTION_STRING_IDB As String = ""
@ -22,4 +22,7 @@
Public Property VERSION_DELIMITER As String = "~"
Public Property FILE_DELIMITER As String = "_"
Public Property WMSESSION_STARTSTOP_STARTUP As Boolean = False
Public Property SYS_LOCKED_MAINTENANCE As Boolean = False
Public Property MAINFORM_CREATE_LOG_FILES As Boolean = False
End Module

View File

@ -4,19 +4,26 @@ Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.ZooFlow
Imports DigitalData.Modules.Windream
Module ModuleRuntimeVariables
Public Const ConstAHWorkflow_BlindFile = 2
Public Const ConstAHWorkflow_IDB = 22
Public Const ConstWorkflowTypeRegular = 99
Public Property DatabaseECM As MSSQLServer
Public Property DatabaseIDB As MSSQLServer
Public Property EDMIService As New State.ServiceState
Public Property User As New State.UserState
' Diese Werte müssen später zur Laufzeit geladen werden
Public Property ActiveWorkflowType As Integer
Public Property BASEDATA_DT_TBDD_CONNECTION As DataTable
Public Property BASEDATA_DT_TBDD_SQL_COMMANDS As DataTable
Public Property BASEDATA_DT_CONFIG As DataTable
Public Property BASEDATA_DTGRID_GROUPS As DataTable
Public Property BASEDATA_DT_CHARTS As DataTable
Public Property BASEDATA_DT_LANGUAGE As DataTable
Public Property BASEDATA_DT_GUI_LANGUAGE_PHRASES As DataTable
Public Property BASEDATA_DT_PROFILES_SEARCHES_DOC As DataTable
Public Property DT_FILTERED_PROFILE_SEARCHES_DOC As DataTable
@ -25,18 +32,25 @@ Module ModuleRuntimeVariables
Public Property BASEDATA_DT_PROFILE_SEARCHES_SQL As DataTable
Public Property BASEDATA_DT_VW_PROFILE_USER As DataTable
Public Property BASEDATA_TBDD_COLUMNS_FORMAT As DataTable
Public Property CURRENT_ProfilGUID As Integer
Public Property CURRENT_ProfilName As String
Public Property CURRENT_PROFILE_LOG_INDEX As String
Public Property PROFILE_SHOW_DOCUMENT As Boolean = True
Public Property PROFILE_NOT_RESP_COMMENT As Boolean = True
Public Property CURRENT_DOC_GUID As Integer
Public Property CURRENT_DOC_ID As Integer
Public Property CURRENT_DOC_GUID As Int64
Public Property CURRENT_DOC_ID As Int64
Public Property CURRENT_DOC_CURRENCY As String = ""
Public Property CURRENT_DOC_CREATION_DATE As String
Public Property CURRENT_DOC_CREATION_TIME As String
Public Property CURRENT_CONVERSATION_NEW As Long
Public Property CURRENT_JUMP_DOC_GUID As Integer
Public Property CURRENT_JUMP_DOC_GUID As Int64
Public Property CURRENT_WMFILE As WMObject
Public Property CURRENT_DOC_PATH As String
@ -62,7 +76,8 @@ Module ModuleRuntimeVariables
Public Property USER_RIGHT3 As Boolean = False
Public Property USER_RIGHT4 As Boolean = False
Public Property USER_CONFIG_DEBUG As Boolean = False
Public Property USER_CONFIG_DIRECTORY As String = ""
Public Property USER_USERNAME_ORG As String = ""
Public Property USER_GHOST_MODE_ACTIVE As Boolean = False
Public Property USER_GHOST_MODE_USRNAME As String = ""
@ -71,6 +86,7 @@ Module ModuleRuntimeVariables
Public Property SHOW_MASS_VALIDATOR As Boolean = True
Public Property WORKING_MODE As String = ""
Public Property MONITORING_ACTIVE As Boolean = False
Public Property EXCEL_OVERVIEW As Boolean = False
Public Property GHOSTMODE_ACTIVE As Boolean = False
Public Property RIBBON_COLOR_SCHEME As String = ""
Public Property ADDITIONAL_TITLE As String = ""
@ -80,6 +96,8 @@ Module ModuleRuntimeVariables
Public Property INACTIVITYRecognized As Boolean = False
Public Property LAST_EDITED_COLUMN As String = "NONE"
Public Property LAST_ADDED_COLUMN As String = "NONE"
Public Property MON_EDITED_COLUMN As String = "NONE"
Public Property MON_ADDED_COLUMN As String = "NONE"
Public Property USE_APPSERVER As Boolean = False
Public Property SEARCH1 As String = ""
Public Property SEARCH2 As String = ""
@ -91,6 +109,7 @@ Module ModuleRuntimeVariables
Public Property RibbonPageCustTitle As String = ""
Public Property RibbonPageCustItm1 As String = ""
Public Property ButtonExport2Folder_Caption As String = ""
Public Property ButtonExport2Folder_Mode As String = ""
Public Property ButtonExport2Folder_RootFolder As String = ""
@ -105,6 +124,7 @@ Module ModuleRuntimeVariables
Public Property CURRENT_CLICKED_PROFILE_ID As Integer = 0
Public Property CURRENT_CLICKED_PROFILE_TITLE As String
Public Property CURRENT_WMObjecttype As String
Public Property DT_CLIENT_USER As DataTable
Public Property CLIENT_SELECTED As Integer = 0
@ -120,6 +140,7 @@ Module ModuleRuntimeVariables
Public Property CURRENT_DT_FINAL_INDEXING As DataTable
Public Property CURRENT_DT_PROFILES As DataTable
Public Property CURRENT_DT_PROFILE_LANGUAGE As DataTable
Public Property CURRENT_DT_PROFILE As DataTable
Public Property CURRENT_CONTROL_NAME_LIST As New List(Of String)
@ -135,6 +156,7 @@ Module ModuleRuntimeVariables
Public Property errormessage As String
Public Property WINDREAM As ClassPMWindream
Public Property WINDREAM_MOD As Windream
Public Property WINDREAM_ALLG As ClassWindream_allgemein
Public Property FINALINDICES As ClassFinalIndex
Public Property IDBData As ClassIDBData
@ -149,7 +171,8 @@ Module ModuleRuntimeVariables
Public Property _Client As Client
Public Property WMSUFFIX As String
Public Property WMDRIVE_LETTER As String
Public Property DatabaseFallback As DatabaseWithFallback
Public Property dbECMInitialized As Boolean = False
@ -157,4 +180,14 @@ Module ModuleRuntimeVariables
Public Property Timer5Mins_running As Boolean = False
Public Property TimerRefresh_running As Boolean = False
Public Property SQL_PROFILES_USER As String = ""
Public Property SQL_VALIDATOR_SEARCHES As String = ""
Public Property SQL_WF_MESSAGES As String = ""
Public WM_AHWF_docPath As String
Public LIC_MODULES As String = "NONE"
Public oSQLLoginAttempt As String
Public MVSource_AllIndicies As List(Of String)
End Module

View File

@ -32,7 +32,13 @@ Namespace My
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.DD_ProcessManager.frmMain
Me.MainForm = Global.taskFLOW.frmMain
End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection(Of String)) As Boolean
Me.MinimumSplashScreenDisplayTime = 0
Return MyBase.OnInitialize(commandLineArgs)
End Function
End Class
End Namespace

View File

@ -1,10 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MyApplicationData xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MySubMain>true</MySubMain>
<MainForm>frmMain</MainForm>
<SingleInstance>false</SingleInstance>
<ShutdownMode>0</ShutdownMode>
<EnableVisualStyles>true</EnableVisualStyles>
<AuthenticationMode>0</AuthenticationMode>
<MinimumSplashScreenDisplayTime>0</MinimumSplashScreenDisplayTime>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
<HighDpiMode>0</HighDpiMode>
</MyApplicationData>

View File

@ -1,4 +1,5 @@
Imports System
Imports System.Resources
Imports System
Imports System.Reflection
Imports System.Runtime.InteropServices
@ -8,12 +9,12 @@ Imports System.Runtime.InteropServices
' Die Werte der Assemblyattribute überprüfen
<Assembly: AssemblyTitle("TaskFlow")>
<Assembly: AssemblyTitle("taskFLOW")>
<Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("TaskFlow")>
<Assembly: AssemblyCopyright("Copyright © Digital Data 2022")>
<Assembly: AssemblyTrademark("2.3.8.5")>
<Assembly: AssemblyProduct("taskFLOW")>
<Assembly: AssemblyCopyright("Copyright © Digital Data 2025")>
<Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)>
@ -31,5 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.3.8.5")>
<Assembly: AssemblyVersion("2.7.4.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguage("")>

View File

@ -22,7 +22,7 @@ Namespace My.Resources
'''<summary>
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
'''</summary>
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0"), _
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
@ -39,7 +39,7 @@ Namespace My.Resources
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get
If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DD_ProcessManager.Resources", GetType(Resources).Assembly)
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("taskFLOW.Resources", GetType(Resources).Assembly)
resourceMan = temp
End If
Return resourceMan
@ -190,6 +190,16 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property AttachFileHS() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("AttachFileHS", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>
@ -480,6 +490,26 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property DD_taskFLOW_BOOT() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("DD_taskFLOW_BOOT", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>
Friend ReadOnly Property DD_taskFLOW_ICON() As System.Drawing.Bitmap
Get
Dim obj As Object = ResourceManager.GetObject("DD_taskFLOW_ICON", resourceCulture)
Return CType(obj,System.Drawing.Bitmap)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ DevExpress.Utils.Svg.SvgImage.
'''</summary>

View File

@ -118,18 +118,15 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="actions_user" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_user.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="lbl" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\lbl.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="refresh_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\refresh_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Hammer_Builder_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Hammer_Builder_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="arrow_refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\arrow_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="asterisk_yellow" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\asterisk_yellow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="taskFlow_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\taskFlow_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -148,8 +145,11 @@
<data name="key" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\key.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Image_File" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Image_File.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="DateOrTimePicker_675" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DateOrTimePicker_675.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="DeleteFilter_5563" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DeleteFilter_5563.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save.bmp;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -160,6 +160,9 @@
<data name="seach_typo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\seach_typo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="doc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\doc.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="group_key" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\group_key.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -172,6 +175,9 @@
<data name="Symbols_Information_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Symbols_Information_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="zoom_out1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zoom_out1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="computer_edit" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\computer_edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -193,8 +199,8 @@
<data name="Settings" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Settings.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Search(Go)_5718" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Search(Go)_5718.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="security_key" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\security_key.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="bo_unknown" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bo_unknown.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
@ -208,9 +214,6 @@
<data name="Label_684" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Label_684.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="delete_12x12" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\delete_12x12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="table_add" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\table_add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -220,9 +223,6 @@
<data name="txt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\txt.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="properties_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\properties_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="checkbox_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\checkbox_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -235,23 +235,20 @@
<data name="pencolor" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\pencolor.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="DD_Icons_ICO_CBWATCHER_48px" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DD_Icons_ICO_CBWATCHER_48px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="markcomplete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\markcomplete.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="adateoccuring" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\adateoccuring.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="actions_user" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_user.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="information" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="puzzle2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\puzzle2.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bullet_orange1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bullet_orange1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="key_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\key_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="magifier_zoom_out1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\magifier_zoom_out1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -265,14 +262,11 @@
<data name="save1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="Open_6296" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Open_6296.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dxf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dxf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="conversation" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\conversation.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="pdf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ppt" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ppt.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -289,20 +283,26 @@
<data name="insertcombobox" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\insertcombobox.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="cancel1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cancel.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="page_copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\page_copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="flag_pink" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\flag_pink.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="DD_Icons_ICO_CBWATCHER_48px" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DD_Icons_ICO_CBWATCHER_48px.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="ExcelWorksheetView_11748" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelWorksheetView_11748.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="magifier_zoom_out" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\magifier_zoom_out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="DD_taskFLOW_ICON" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DD_taskFLOW_ICON.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="page_copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\page_copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Hammer_Builder_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Hammer_Builder_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="action_add_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\action_add_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bullet_orange1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bullet_orange1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="publicfix_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\publicfix_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -322,8 +322,8 @@
<data name="itemtypechecked" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\itemtypechecked.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="DeleteFilter_5563" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DeleteFilter_5563.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="properties_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\properties_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="database_refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\database_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -331,14 +331,17 @@
<data name="Security_Unlock" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Security_Unlock.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="resultset_last" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\resultset_last.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="chartdesigner2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\chartdesigner2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="bullet_red" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bullet_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="add" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\add.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="color" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\color.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="book_open" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\book_open.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="refresh_16xMD" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\refresh_16xMD.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -349,29 +352,32 @@
<data name="ampel-gruen" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ampel-gruen.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="email_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\email_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="A_1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\A_1.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="doc_pdf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\doc_pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="book_open" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\book_open.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Search(Go)_5718" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Search(Go)_5718.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Checkboxbmp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Checkbox.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="DD_taskFLOW_BOOT" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DD_taskFLOW_BOOT.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cancel" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cancel.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="DateOrTimePicker_675" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DateOrTimePicker_675.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="puzzle2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\puzzle2.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="dtp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dtp.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="key_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\key_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="delete_12x12" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\delete_12x12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Nextrequest_10302" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Nextrequest_10302.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -379,8 +385,8 @@
<data name="TextBox" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TextBox.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="doc" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\doc.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="resultset_last" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\resultset_last.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bullet_green1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bullet_green1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -388,9 +394,6 @@
<data name="bullet_green" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bullet_green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="groupby" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\groupby.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="dwg" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\dwg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -409,8 +412,8 @@
<data name="show_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\show_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="lbl" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\lbl.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="cancel1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cancel.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="ComboBox_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ComboBox_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -418,9 +421,6 @@
<data name="show_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\show_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cmb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cmb.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ID_FILE_PAGE_SETUP" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ID_FILE_PAGE_SETUP.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -430,14 +430,17 @@
<data name="flag_orange" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\flag_orange.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bullet_red" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bullet_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="taskflow_boot" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\taskflow_boot.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="arrow_refresh" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\arrow_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="resultset_previous" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\resultset_previous.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="email_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\email_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Image_File" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Image_File.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="textthatcontains" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\textthatcontains.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
@ -451,8 +454,8 @@
<data name="flag_green" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\flag_green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ExcelWorksheetView_11748" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ExcelWorksheetView_11748.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="groupby" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\groupby.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="Monitor_Screen_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Monitor_Screen_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -466,17 +469,17 @@
<data name="doc_text_image" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\doc_text_image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Einstellungen6" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Einstellungen6.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="shape_square_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\shape_square_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="task" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\task.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Checkboxbmp" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Checkbox.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="pdf" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="taskflow_boot" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\taskflow_boot.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="conversation" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\conversation.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Link_5762" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Link_5762.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@ -487,17 +490,23 @@
<data name="WorkItem_16xMD" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\WorkItem_16xMD.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="action_add_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\action_add_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Open_6296" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Open_6296.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="resultset_first" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\resultset_first.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="zoom_out1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zoom_out1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="key1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\key1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chartdesigner2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\chartdesigner2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="asterisk_yellow" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\asterisk_yellow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="task" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\task.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cmb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cmb.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="formatastable" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\formatastable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
@ -511,19 +520,19 @@
<data name="bullet_orange" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bullet_orange.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Einstellungen6" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Einstellungen6.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="magifier_zoom_out" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\magifier_zoom_out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bullet_red1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bullet_red1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="key1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\key1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="color" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\color.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="user_red" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\user_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="security_key" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\security_key.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
<data name="AttachFileHS" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\AttachFileHS.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -15,7 +15,7 @@ Option Explicit On
Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0"), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0"), _
Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase
@ -54,69 +54,6 @@ Namespace My
End Get
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security "& _
"Info=True;User ID=sa;Password=dd")> _
Public ReadOnly Property ConnectionString() As String
Get
Return CType(Me("ConnectionString"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property frmTableColumns_Position() As Global.System.Drawing.Point
Get
Return CType(Me("frmTableColumns_Position"),Global.System.Drawing.Point)
End Get
Set
Me("frmTableColumns_Position") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property frmValidator_Splitter() As Global.System.Drawing.Point
Get
Return CType(Me("frmValidator_Splitter"),Global.System.Drawing.Point)
End Get
Set
Me("frmValidator_Splitter") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("890, 790"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property frmValidation_Size_PDFViewer() As Global.System.Drawing.Size
Get
Return CType(Me("frmValidation_Size_PDFViewer"),Global.System.Drawing.Size)
End Get
Set
Me("frmValidation_Size_PDFViewer") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("890, 790"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property frmValidation_Size_Email() As Global.System.Drawing.Size
Get
Return CType(Me("frmValidation_Size_Email"),Global.System.Drawing.Size)
End Get
Set
Me("frmValidation_Size_Email") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("5")> _
@ -205,18 +142,6 @@ Namespace My
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0")> _
Public Property frmValidatorSearchSize() As Global.System.Drawing.Size
Get
Return CType(Me("frmValidatorSearchSize"),Global.System.Drawing.Size)
End Get
Set
Me("frmValidatorSearchSize") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0")> _
@ -231,7 +156,7 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("563")> _
Global.System.Configuration.DefaultSettingValueAttribute("513")> _
Public Property frmValSearchSplitterDistance() As Integer
Get
Return CType(Me("frmValSearchSplitterDistance"),Integer)
@ -253,42 +178,6 @@ Namespace My
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0")> _
Public Property frmDocViewSize() As Global.System.Drawing.Size
Get
Return CType(Me("frmDocViewSize"),Global.System.Drawing.Size)
End Get
Set
Me("frmDocViewSize") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0")> _
Public Property frmDocViewPosition() As Global.System.Drawing.Point
Get
Return CType(Me("frmDocViewPosition"),Global.System.Drawing.Point)
End Get
Set
Me("frmDocViewPosition") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Normal")> _
Public Property frmValidatorWindowState() As String
Get
Return CType(Me("frmValidatorWindowState"),String)
End Get
Set
Me("frmValidatorWindowState") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("False")> _
@ -306,6 +195,63 @@ Namespace My
Return CType(Me("UserConfig_Prefix"),String)
End Get
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _
Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security "& _
"Info=True;User ID=sa;Password=dd;Encrypt=False")> _
Public ReadOnly Property ConnectionString() As String
Get
Return CType(Me("ConnectionString"),String)
End Get
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0"), _
Global.System.Configuration.SettingsManageabilityAttribute(Global.System.Configuration.SettingsManageability.Roaming)> _
Public Property frmTableColumns_Position() As Global.System.Drawing.Point
Get
Return CType(Me("frmTableColumns_Position"),Global.System.Drawing.Point)
End Get
Set
Me("frmTableColumns_Position") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("0, 0")> _
Public Property frmValidatorSearchSize() As Global.System.Drawing.Size
Get
Return CType(Me("frmValidatorSearchSize"),Global.System.Drawing.Size)
End Get
Set
Me("frmValidatorSearchSize") = value
End Set
End Property
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("Normal")> _
Public Property frmValidatorWindowState() As String
Get
Return CType(Me("frmValidatorWindowState"),String)
End Get
Set
Me("frmValidatorWindowState") = value
End Set
End Property
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("11.2024")> _
Public ReadOnly Property GDPICTURE_VERSION() As String
Get
Return CType(Me("GDPICTURE_VERSION"),String)
End Get
End Property
End Class
End Namespace
@ -317,9 +263,9 @@ Namespace My
Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _
Friend ReadOnly Property Settings() As Global.DD_ProcessManager.My.MySettings
Friend ReadOnly Property Settings() As Global.taskFLOW.My.MySettings
Get
Return Global.DD_ProcessManager.My.MySettings.Default
Return Global.taskFLOW.My.MySettings.Default
End Get
End Property
End Module

View File

@ -2,26 +2,6 @@
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="My" GeneratedClassName="MySettings" UseMySettingsClassName="true">
<Profiles />
<Settings>
<Setting Name="ConnectionString" 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=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd</Value>
</Setting>
<Setting Name="frmTableColumns_Position" Roaming="true" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmValidator_Splitter" Roaming="true" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmValidation_Size_PDFViewer" Roaming="true" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">890, 790</Value>
</Setting>
<Setting Name="frmValidation_Size_Email" Roaming="true" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">890, 790</Value>
</Setting>
<Setting Name="IntervallReminder" Type="System.String" Scope="User">
<Value Profile="(Default)">5</Value>
</Setting>
@ -43,32 +23,40 @@
<Setting Name="frmMassValidatorposition" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmValidatorSearchSize" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmValidatorSearchPosition" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmValSearchSplitterDistance" Type="System.Int32" Scope="User">
<Value Profile="(Default)">563</Value>
<Value Profile="(Default)">513</Value>
</Setting>
<Setting Name="frmMainWindowState" Type="System.String" Scope="User">
<Value Profile="(Default)">Normal</Value>
</Setting>
<Setting Name="frmDocViewSize" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmDocViewPosition" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmValidatorWindowState" Type="System.String" Scope="User">
<Value Profile="(Default)">Normal</Value>
</Setting>
<Setting Name="UseAppConfigConString" Type="System.Boolean" Scope="Application">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="UserConfig_Prefix" Type="System.String" Scope="Application">
<Value Profile="(Default)">TEST</Value>
</Setting>
<Setting Name="ConnectionString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt;
&lt;SerializableConnectionString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
&lt;ConnectionString&gt;Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd;Encrypt=False&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue>
<Value Profile="(Default)">Data Source=SDD-VMP04-SQL17\DD_DEVELOP01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=dd;Encrypt=False</Value>
</Setting>
<Setting Name="frmTableColumns_Position" Roaming="true" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmValidatorSearchSize" Type="System.Drawing.Size" Scope="User">
<Value Profile="(Default)">0, 0</Value>
</Setting>
<Setting Name="frmValidatorWindowState" Type="System.String" Scope="User">
<Value Profile="(Default)">Normal</Value>
</Setting>
<Setting Name="GDPICTURE_VERSION" Type="System.String" Scope="Application">
<Value Profile="(Default)">11.2024</Value>
</Setting>
</Settings>
</SettingsFile>

View File

@ -1,13 +1,15 @@
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemComboBox, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.Repository.RepositoryItemProgressBar, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraCharts.ChartControl, DevExpress.XtraCharts.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraVerticalGrid.PropertyGridControl, DevExpress.XtraVerticalGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.PictureEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.LookUpEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.ComboBoxEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.Ribbon.RibbonControl, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraBars.BarManager, DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraDataLayout.DataLayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.CheckEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraLayout.LayoutControl, DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
DevExpress.XtraEditors.TextEdit, DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 B

View File

Before

Width:  |  Height:  |  Size: 584 B

After

Width:  |  Height:  |  Size: 584 B

View File

Before

Width:  |  Height:  |  Size: 216 B

After

Width:  |  Height:  |  Size: 216 B

View File

Before

Width:  |  Height:  |  Size: 215 B

After

Width:  |  Height:  |  Size: 215 B

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 229 B

After

Width:  |  Height:  |  Size: 229 B

View File

Before

Width:  |  Height:  |  Size: 450 B

After

Width:  |  Height:  |  Size: 450 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 232 B

After

Width:  |  Height:  |  Size: 232 B

View File

Before

Width:  |  Height:  |  Size: 256 B

After

Width:  |  Height:  |  Size: 256 B

View File

Before

Width:  |  Height:  |  Size: 227 B

After

Width:  |  Height:  |  Size: 227 B

View File

Before

Width:  |  Height:  |  Size: 293 B

After

Width:  |  Height:  |  Size: 293 B

View File

Before

Width:  |  Height:  |  Size: 269 B

After

Width:  |  Height:  |  Size: 269 B

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 296 B

After

Width:  |  Height:  |  Size: 296 B

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