138 Commits

Author SHA1 Message Date
Developer01
3fa4b8f231 Bibliotheks- und UI-Updates, SQL-Platzhalter
In dieser Commit wurden mehrere wichtige Änderungen vorgenommen:
- Aktualisierung der Bibliotheksreferenzen von `DocumentViewer` zu `DocumentViewerDD` in mehreren Dateien.
- DevExpress-Bibliotheken wurden von Version 21.2 auf 25.2 aktualisiert.
- Neue Codeblöcke zur Ersetzung von Platzhaltern in SQL-Anweisungen in `ClassControlCreator.vb` und `GridControl.vb` hinzugefügt.
- Anpassungen an der Benutzeroberfläche in `frmAdministration.Designer.vb` und `frmAdministration.resx`, einschließlich neuer Labels und Textboxen sowie Änderungen an der Spaltenreihenfolge.
- Methode zum Anzeigen des Overlay-Formulars in `frmMain.vb` geändert.
- Aktualisierung der Paketversionen und Hinzufügen neuer Analysetools in `taskFLOW.vbproj`.
2026-10-26 17:01:01 +01:00
Developer01
bb152cc300 UI-Verbesserungen und Abhängigkeitsaktualisierungen
In `Product.wxs` wurden neue DLLs hinzugefügt. `App.config` erhielt aktualisierte `bindingRedirects` und neue `dependentAssembly`-Einträge. Der Code für das Exception-Handling in `ApplicationEvents.vb` wurde entfernt. Eine neue Funktion `ToPhysicalPixels` wurde in `ClassControlCreator.vb` hinzugefügt. Nicht benötigte `Imports`-Anweisungen wurden aus mehreren Dateien entfernt.  In `frmAdministration` wurden neue Export- und Importfunktionen hinzugefügt. `frmFormDesigner.vb` erhielt Verbesserungen der Benutzeroberfläche und Protokollierungsfunktionen. Bildressourcen in `frmMain.resx` wurden aktualisiert. `frmValidator.resx` erhielt Version- und Bilddatenaktualisierungen. Paketversionen in `packages.config` wurden aktualisiert. Eine neue Datei `ApplicationEvents.vb` wurde hinzugefügt, um nicht behandelte Ausnahmen zu protokollieren.
2026-10-26 11:26:02 +01:00
Developer01
29540a3d6c Aktualisiere DevExpress und füge Lokalisierungen hinzu
Die DevExpress-Bibliotheken wurden von Version 21.2 auf 25.2 aktualisiert, was Änderungen in mehreren `.resx`- und `.Designer.vb`-Dateien erforderlich machte. Neue Ressourcen-Dateien für die Lokalisierung in Englisch und Französisch wurden hinzugefügt, um die Benutzeroberfläche in diesen Sprachen zu unterstützen. Die Projektdatei `taskFLOW.vbproj.bak` wurde hinzugefügt, um die Projektkonfiguration zu beschreiben, einschließlich der .NET-Version und der eingebundenen Bibliotheken. Die `Resources.resx.bak`-Datei enthält nun verschiedene Ressourcen wie Bilder und Icons, die in der Benutzeroberfläche verwendet werden.
2026-10-22 18:23:15 +02:00
Developer01
8acc9e2cff Erweiterungen in frmAdmin_AppserviceTest
Die Methode `frmAdmin_AppserviceTest` wurde erweitert, um
Scheduler-Metriken und Warnungen anzuzeigen. Eine neue Liste
von SQL-Queries (`_ecmQueries`) wurde für Lasttests ergänzt.

Der Timer-Intervall für zyklische Lastoperationen wurde auf
5 Sekunden erhöht. Zwei neue Lastoperationen wurden hinzugefügt,
darunter direkter ECM-Datenbankzugriff. Logs wurden verbessert,
um detaillierte Ergebnisse und Ausführungszeiten zu erfassen.

Kommentare wurden angepasst, und die Code-Struktur wurde
allgemein verbessert.
2026-10-13 12:03:24 +02:00
Developer01
4f09e678d2 Neue Projekte & Optimierungen in TaskFlow
Es wurden zwei neue Projekte (`EDMI.API` und `EDMIService`) zur Solution hinzugefügt und in die Build-Konfiguration integriert.
Die Benutzeroberfläche (`frmAdmin_AppserviceTest.Designer.vb`) wurde angepasst, einschließlich Änderungen an Button-Größen, Positionen und `NumericUpDown1`-Werten.

Die Logik für Benutzer- und Sitzungsinformationen wurde verbessert, um Null-Checks und die Anzeige kürzlich aktiver Benutzer zu unterstützen.
Der Lasttest wurde optimiert: Verwendung von `ConcurrentBag`, Einführung von `IProgress` für UI-Feedback und Begrenzung der Parallelität.

Beim Schließen des Validators (`frmMain.vb`) wurde ein DevExpress-Overlay hinzugefügt, um den Ladezustand anzuzeigen, und die Performance beim Neuaufbau des Grids verbessert.

Allgemeine Verbesserungen umfassen explizite Typkonvertierungen, bessere Fehlerbehandlung und Logging.
2026-10-12 15:50:31 +02:00
Developer01
e425835d28 Version 3.5.4.0: Verbesserungen und Refactoring
Die Assembly-Version wurde auf 3.5.4.0 aktualisiert.
In `clsPatterns.vb` wurden neue Ersetzungen (`INT_VALUE_WMDocID`, `INT_VALUE_IDBID`) hinzugefügt.
Die Methode `ReplacePattern` unterstützt nun einen optionalen Parameter `value`, um gezielte Ersetzungen zu ermöglichen.
Die Logik der Methode wurde entsprechend erweitert.

In `taskFLOW.vbproj` wurde die Referenz auf `DigitalData.Controls.DocumentViewer` aktualisiert und der Pfad auf das neue Verzeichnis `DDMonorepo` geändert.
Ein `<SubType>`-Eintrag wurde für `frmMain.aa.resx` hinzugefügt.
2026-10-02 18:27:46 +02:00
Developer01
8063a893d3 Verbesserungen an UI, Logging und Sprachressourcen
Neue Sprachressourcen für `en` und `fr` hinzugefügt, einschließlich Tooltips und Bildoptionen. Fehlerbehandlung und Logging in `frmMain` und `frmSplash` verbessert. Verbindungszeichenketten aktualisiert und neue Ressourcen in `taskFLOW.vbproj` eingebunden. UI-Optimierungen und neue Komponenten wie `bbtnitm_Appservice` hinzugefügt. Stabilität und Benutzerfreundlichkeit der Anwendung erhöht.
2026-10-02 18:22:59 +02:00
Developer01
79166a582c ?? 2026-09-22 16:40:36 +02:00
Developer01
89bef56773 Neues Formular für App-Service-Monitor hinzugefügt
Ein neues Formular `frmAdmin_AppserviceTest` wurde hinzugefügt, das als Monitor für den EDMI-App-Service dient. Es ermöglicht die Überprüfung des Service-Status, das Starten/Stoppen von Lasttests und die Protokollierung von Verbindungs- und Datenbankoperationen.

Weitere Änderungen:
- Sichtbarkeitslogik für `bbtnitm_Appservice` in `frmMain` implementiert.
- Logging-Schwellenwerte in `frmMain` angepasst (5000ms/5500ms).
- Datenbankabfragen in `frmValidator` optimiert und Debug-Logs hinzugefügt.
- Ressourcen-Referenzen in mehreren UI-Komponenten entfernt oder optimiert.
- Projektdatei `taskFLOW.vbproj` aktualisiert, um neue Ressourcen und Abhängigkeiten einzubinden.
2026-09-22 16:40:25 +02:00
Developer01
703df0adc3 Neue Funktionen und Optimierungen hinzugefügt
- Zwei neue DLL-Dateien in `Product.wxs` hinzugefügt und eine aktualisiert.
- Neues Feld `CFG_SEQUENCE` für Cockpit-Definitionen eingeführt.
- Verbesserte SQL-Statements und Logging-Nachrichten in mehreren Dateien.
- GUI-Elemente in `frmAdministration` und `frmCockpitConfig` angepasst.
- Neue Referenz für `GdPicture.NET.14.WinForms` in `taskFLOW.vbproj` hinzugefügt.
- Assembly-Version auf `3.5.1.0` aktualisiert.
- Verbesserte Handhabung von Benutzern und Gruppen in der Cockpit-Konfiguration.
- Inaktivitäts-Logout-Logik für offene Cockpit-Konfiguration deaktiviert.
2026-09-21 11:56:54 +02:00
Developer01
4ba29ce57b Verbesserung der Datenvalidierung und Fehlerbehandlung
In `ClassCockpit.vb` wurden mehrere Sicherheitsprüfungen und
Normalisierungen in der Methode `CreateCockpit` hinzugefügt,
einschließlich der Überprüfung auf leere Tabellen, fehlende
Spalten und ungültige Primärschlüssel. Duplikate und ungültige
`PARENT_ID`-Referenzen werden nun entfernt oder korrigiert.

In `frmMonitor.vb` wurde die Fehlerbehandlung beim Laden von
Dokumenten verbessert, einschließlich Validierung des Dateipfads
und lokalisierter Fehlermeldungen.

Ein neues Feld `CFG_SEQUENCE` wurde in `frmCockpitConfig.vb`
hinzugefügt, und ein Aufruf zu `AppendCountsToTreeAsync()` wurde
in `frmMain.vb` integriert.

Neue Ressourcen- und Projektdateien (`ClassCockpit.vb`,
`frmMain.aa.resx`) wurden in `taskFLOW.vbproj` hinzugefügt.
2026-09-04 09:28:11 +02:00
Developer01
c638ab71a0 Version 3.5.0.0: UI-Verbesserungen und neue Funktionen
Die Änderungen umfassen:
- Aktualisierung der Assembly-Version auf 3.5.0.0.
- SQL-Abfrage in `ClassInit.vb` verallgemeinert.
- Neue Steuerelemente und Methoden in `frmAdministration` und `frmCockpitConfig` hinzugefügt.
- Veraltete Elemente wie `PRIORITYNumericUpDown` entfernt.
- Einführung der Klasse `ClassCockpit` und Refactoring von `Load_TreeView_CONFIG`.
- Neue Ressourcen und Lokalisierungseinträge für Labels und Steuerelemente.
- Layout-Optimierungen und Unterstützung neuer DevExpress-Komponenten.
- Neue Funktion "Speichern und Schließen" in `frmColumn_Detail` implementiert.

Die Änderungen verbessern die Benutzerfreundlichkeit, erweitern die Funktionalität und optimieren die Codebasis.
2026-09-03 09:43:12 +02:00
Developer01
2f4b55ea18 UI-Verbesserungen und neue Reload-Methode hinzugefügt
Die Benutzeroberfläche wurde durch Anpassungen der Größen von UI-Elementen (z. B. Ribbon, Grids, Labels) und Textänderungen optimiert. Eine neue RibbonPageGroup (`RbmPgGrp_Cockpit`) wurde hinzugefügt, um Cockpit-Aktionen zu gruppieren.

Eine neue Methode `Reload_CurrentCockpitDefinition` wurde implementiert, um die aktuelle Cockpit-Definition aus der Datenbank neu zu laden. Die SQL-Bearbeitungslogik wurde verbessert, sodass Änderungen nur im Objekt gespeichert werden. TreeView-Knoten aktualisieren jetzt SQL-Felder direkt.

Debug-Logs und Fehlermeldungen wurden erweitert, um die Nachverfolgbarkeit und Benutzerführung zu verbessern. Die AutoScaleDimensions wurden angepasst, um die Skalierung der UI zu verbessern.
2026-08-28 12:21:34 +02:00
Developer01
83021b905e Optimierung der UI und neue Funktionen hinzugefügt
- Verbesserte Logging-Mechanismen in GridControl.vb.
- UI-Restrukturierung in frmCockpitConfig: Einführung von SplitContainerControl1, Anpassung von Steuerelement-Positionen und -Größen.
- Neue Methoden zur dynamischen Steuerung der UI in frmCockpitConfig.
- Verbesserte TreeView-Knotenaktualisierung ohne Neuladen.
- Neuer Button "Aktualisieren" in frmMonitor hinzugefügt.
- Asynchrone Initialisierung in frmMonitor implementiert.
- Projektstruktur optimiert: Anpassung von logtaskflow.txt.
2026-08-27 17:41:02 +02:00
Developer01
eafd42d302 Verbesserungen an Cockpit- und Benutzerverwaltung
- Neue Imports hinzugefügt für erweiterte Funktionalitäten.
- `LoadInAction` durch `Load_CP_InAction` ersetzt.
- `Load_CFG_COCKPIT` überarbeitet: Sortierung, Validierung, Logging.
- `LookUpEdit1` durch `LookUpEditCockpit` ersetzt.
- Neue Methode `Display_Added_Changed` für Änderungsinfos.
- Methoden für Cockpit-Management hinzugefügt (Hinzufügen, Löschen, Speichern).
- Verbesserte Fehlerbehandlung und Benutzerfreundlichkeit in `Add_Node`.
- `bsitm_info_Display` erweitert für farbliche Statusanzeigen.
- `SelectUser` hinzugefügt für vereinfachte Benutzerauswahl.
- Anpassungen in `frmUserSelect`: Layout, Schriftart, Titel.
- Verbesserte Logik für `ComboBox`- und `GridControl`-Updates in `frmValidator`.
- Änderungen an `taskFLOW.vbproj`, um mögliche Build-Probleme zu beheben.
2026-08-26 14:50:04 +02:00
Developer01
15295ba3f5 Erweitere CockpitConfig um Benutzer- und Gruppenverwaltung
Füge ein neues `XtraTabControl` mit zwei Tabs hinzu:
- Tab 1: Verwaltung von Benutzern (zugeordnet/nicht zugeordnet)
- Tab 2: Verwaltung von Gruppen (zugeordnet/nicht zugeordnet)

Implementiere Drag-and-Drop-Funktionalität für Benutzer- und
Gruppenzuweisungen, einschließlich Validierung und Datenbank-
operationen (Einfügen/Löschen).

Ergänze Methoden zum Laden von Benutzern und Gruppen:
- `Load_Assigned_User_2_Cockpit`, `Load_Free_User_2_Cockpit`
- `Load_Assigned_Groups_2_Cockpit`, `Load_Free_Groups_2_Cockpit`

Füge ein Dropdown für die Reihenfolge-Spalte hinzu und validiere
deren Werte. Zeige Statusmeldungen über ein neues `BarStaticItem`
(`bsitm_info`) an.

Passe die Benutzeroberfläche an (Größe, Layout) und aktualisiere
SQL-Abfragen für korrekte Sortierung. Integriere neue Ressourcen
(SVG-Bilder) für die Statusanzeige.
2026-08-18 17:03:38 +02:00
Developer01
bea7ccebf8 MS 2026-08-14 14:40:16 +02:00
Developer01
9d73dfcc5d Neue Cockpit-Formulare und Verbesserungen hinzugefügt
Neue Formulare (`crmCockpit_UserTest`, `frmCockpitConfig`,
`frmUserSelect`) zur Verwaltung und Konfiguration von
Cockpit-Daten hinzugefügt. Die Benutzerführung wurde durch
moderne UI-Elemente (z. B. Ribbon-Leisten, Baumansichten)
und spezifische Fehlermeldungen verbessert.

Die Datei `licenses.licx` wurde aktualisiert, um neue
DevExpress-Komponenten zu unterstützen. Änderungen in
`frmMain` umfassen einen neuen Button zur Konfiguration
des Cockpits.

SQL-Integration und Logging wurden erweitert, um die
Nachverfolgbarkeit und Fehlerbehandlung zu verbessern.
Neue Ressourcen und strukturierte Datenmodelle wurden
hinzugefügt, um die Code-Qualität und Wiederverwendbarkeit
zu erhöhen.
2026-08-14 14:40:08 +02:00
Developer01
974a6ac2e2 Überarbeitung von Indexprüfungsfunktionen
Die Funktionen `IsNotBooleanIndex`, `IsNotDateIndex`, `IsNotVectorBooleanIndex` und `IsNotVectorDateIndex` in `frmFormDesigner` wurden angepasst:
- Die auskommentierte Initialisierung der Variablen `oType` wurde entfernt und durch eine neue Deklaration ersetzt.
- Ein neuer Codeblock wurde hinzugefügt, der bei `IndexName = "@@DISPLAY_ONLY"` direkt `0` zurückgibt.
- Die bestehende Logik zur Bestimmung des Index-Typs bleibt unverändert.
- Die Rückgabewerte der Funktionen wurden nicht verändert.
2026-08-13 11:48:17 +02:00
Developer01
cde1511b75 Refactoring und Bugfixes in mehreren Modulen
Hinzufügen der `Active`-Eigenschaft in `ModuleControlProperties`,
um doppelte Definitionen zu vermeiden. Aktualisierung der
Assembly-Version auf `3.3.0.0`.

Refactoring in `frmMain`:
- Einführung der Methoden `Clean_Up_Workload` und `Add_Workload`
  zur Verbesserung der Wiederverwendbarkeit und Lesbarkeit.
- Entfernen direkter SQL-Logik.

Optimierung in `frmValidator`:
- Bugfix: Alte Werte in LookupControls werden nicht mehr
  beibehalten, wenn keine neuen Werte vorhanden sind.
- Hinzufügen der Methode `ResetAllLookupSelections`, um
  LookupControl-Selektionen beim Dokumentwechsel zurückzusetzen.

Allgemeine Verbesserungen:
- Erweiterung des Loggings für besseres Debugging.
- Verbesserte Fehlerbehandlung für robusteren Code.
2026-08-13 11:12:58 +02:00
Developer01
08e5c65b45 .gitignore aktualisiert und Logdatei entfernt 2026-08-13 11:12:16 +02:00
Developer01
90e500333a Fix: Reset_Current() leerte das Grid vor dem Hit-Test in Item_Scope
Root Cause des ursprünglich gemeldeten Bugs gefunden: Reset_Current()
wurde als allererste Aktion in Item_Scope aufgerufen, NOCH BEVOR die
angeklickte Zeile ermittelt wird. Reset_Current() ruft
DT_CURR_WF_ITEMS.Clear() auf - und DT_CURR_WF_ITEMS ist über
bindsourcegrid direkt die Datenquelle von
GridControlWorkflows/GridViewWorkflows (siehe Bindings z.B.
frmMain.vb:1445-1446). Das Clear() leert also synchron genau das Grid,
in dem gerade doppelgeklickt wurde, bevor CalcHitInfo/FocusedRowHandle
überhaupt ausgewertet werden - beide sind danach zwangsläufig
InvalidRowHandle, da schlicht keine Zeilen mehr existieren. Das
erklärt auch die im Log beobachteten doppelten SaveGridLayout-Aufrufe
(Grid reagiert auf die Leerung) und das spätere "has no children"
beim Rendern der Gruppenzeilen.

Der zuvor implementierte FocusedRowHandle-Fallback in Item_Scope war
dadurch wirkungslos, da auch FocusedRowHandle zu diesem Zeitpunkt
ungültig ist.

Fix: Den verfrühten Reset_Current()-Aufruf entfernt. Die davon
zurückgesetzten Felder werden im weiteren Verlauf ohnehin frisch
gesetzt (CURRENT_JUMP_DOC_GUID erneut bei Zeile ~2735,
CURRENT_ProfilGUID durch Load_Profil_from_Grid selbst). Der zweite,
bestehende Reset_Current()-Aufruf im GRUPPE-Zweig (nach erfolgreicher
Zeilenauflösung, vor Load_Profil_from_Grid) bleibt unverändert
bestehen und deckt den eigentlich benötigten Reset weiterhin ab.

Enthält zusätzlich eine Diagnose-Logzeile in
GridViewWorkflows_MouseDown, die beim Testen ergänzt wurde.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 15:32:11 +02:00
Developer01
d086590eed Fix: Toten Pseudo-Fallback in GridViewWorkflows_MouseDown entfernt
Der InvalidRowHandle-Check in GridViewWorkflows_MouseDown (aus einem
vorherigen Commit) las GridViewWorkflows.FocusedRowHandle in eine
lokale Variable ein, verwendete sie aber nirgends - hi.RowHandle blieb
unverändert ungültig, sodass der Code ohnehin sofort in der nächsten
Prüfung (Not hi.InRow) abbrach. Zusätzlich trug die Debug-Zeile
fälschlich das Präfix "Item_Scope:" statt "MouseDown:" - offensichtlich
ein Kopier-Rest.

Anders als in Item_Scope (siehe vorheriger Commit) ist ein
FocusedRowHandle-Fallback hier bewusst NICHT sinnvoll: e.Location ist
in MouseDown immer die aktuelle Klick-Position (kein Caching-Problem),
und InvalidRowHandle ist der normale, erwartete Fall für legitime
Nicht-Zeilen-Klicks (Spaltenkopf, leerer Bereich, insb.
FilterPanelCloseButton). Ein Fallback auf FocusedRowHandle würde solche
Klicks fälschlich der aktuell fokussierten Zeile zuordnen (z.B. Klick
auf "Filter schließen" würde plötzlich CURRENT_CLICKED_PROFILE_ID
setzen) - neuer Bug statt Fix. Der ursprünglich gemeldete Fehler
(Doppelklick auf Gruppenkopf reagiert nicht) ist bereits durch den
Fallback in Item_Scope abgedeckt, unabhängig vom Ausgang dieses
MouseDown-Aufrufs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 15:25:34 +02:00
Developer01
d8eb019d01 Fix: InvalidRowHandle bei Doppelklick auf GroupRow in Item_Scope
Item_Scope() hat den RowHandle über CalcHitInfo(GridCursorLocation)
neu berechnet - basierend auf einer zwischengespeicherten Klick-
Position. Klappt sich eine Gruppe zwischen Klick und Verarbeitung
auf/zu (automatisch durch den DoubleClick-Handler oder manuell durch
den User), verschiebt sich die RowHandle-Nummerierung und die
gecachte Position zeigt ins Leere -> InvalidRowHandle -> Doppelklick
auf Gruppenkopf verpuffte wirkungslos.

- Fallback auf GridViewWorkflows.FocusedRowHandle, wenn der aus
  GridCursorLocation berechnete RowHandle ungültig ist.
- Group-/DataRow-Erkennung erfolgt jetzt einheitlich per
  IsGroupRow/IsDataRow(effectiveRowHandle) statt über die
  potenziell unzuverlässigen hitInfo.InGroupRow/InDataRow-Flags;
  dieser Pfad war zuvor bereits als Bug-Workaround vorhanden und
  wird nun durchgängig genutzt (Schritt-1/Schritt-2-Duplizierung
  entfernt).
- Doppelten "STARTEDROM NORMALISIEREN"-Codeblock (Copy-Paste-Rest)
  bereinigt.

Betrifft sowohl den Doppelklick-Pfad als auch die manuellen Aufrufe
über die Kontextmenü-Buttons (CMROW/CMGROUP), da beide denselben
Codepfad in Item_Scope durchlaufen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-11 15:19:12 +02:00
Developer01
de4f348be5 Verbesserung von Validierungen und State-Management
Die Änderungen umfassen:
- Hinzufügen der Methode `Reset_Current` in `frmMain` zur zentralisierten Rücksetzung von Zuständen.
- Erweiterung von `Item_Scope` mit Validierungen für ungültige Klicks und Fallback-Logik bei DevExpress-Bugs.
- Verbesserte Fehlerbehandlung und Validierungen im `DoubleClick`- und `MouseDown`-Handler.
- Einführung der Methode `ParseColorString` zur sicheren Verarbeitung von Farbwerten.
- Optimierung von `TreeList_Cockpit_DoubleClick` mit Debugging-Logs und State-Reset.
- Hinzufügen von State-Reset-Logik in `frmValidator` (`previousLUSelectedValues`, `hadPreviousLUSelection`).
- Verbesserte Sicherung und Wiederherstellung von Lookup-Werten in `FillIndexValues`.
- SQL-Optimierung: Löschen von Einträgen in `TBTF_PROFILE_FILES_WORK`.
- Erweiterte Debugging-Informationen und Fehlerbehandlung in mehreren Methoden.
2026-08-11 14:53:26 +02:00
Developer01
4609ea8ad7 Verbesserung: Caching und Thread-Sicherheit hinzugefügt
Neue private Felder `_separateGridDataCache` und
`_separateGridControlCache` für das Caching von Daten und
Steuerelementen eingeführt, um die Performance zu verbessern.

Die neuen Caches werden beim Laden eines neuen Dokuments
explizit geleert, um Konsistenz sicherzustellen.

Ein zusätzlicher Aufruf von `Check_UpdateIndexe(False)` wurde
hinzugefügt, um erweiterte Funktionalität zu ermöglichen.

Allgemeine Verbesserungen der Thread-Sicherheit durch die
Verwendung von Locks (`_overlayLock`) implementiert.
2026-08-10 16:16:14 +02:00
Developer01
32fe339d84 Erweiterung der Validierungslogik und Code-Optimierung
Die Änderungen umfassen:
- Hinzufügen der Variablen `CURRENT_DOC_ID` in `frmMain.vb`.
- Erweiterung der SQL-Löschlogik um zusätzliche Tabellen.
- Verbesserung der Nullprüfung (`Nothing` und `DBNull`).
- Einführung des optionalen Parameters `pRegularComplete` in `Check_UpdateIndexe`.
- Überspringen spezifischer Steuerelemente (`BTNDYN_GRID`) in Schleifen.
- Anpassung der Pflichtfeldvalidierung für mehrere Steuerelementtypen.
- Vereinheitlichung der Fehlermeldungsanzeige mit `OpenfrmError`.
- Verarbeitung von separaten Grids aus `_separateGridControlCache`.
- Refactoring der `ControlSettings`-Initialisierung für bessere Lesbarkeit.
- Sicherstellung der Batch-Verarbeitung bei Änderungen.
- Verbesserte Debug- und Warnmeldungen für bessere Nachvollziehbarkeit.
- Allgemeine Code-Optimierungen zur Steigerung der Wartbarkeit.
2026-08-10 16:09:59 +02:00
Developer01
46d2a9109b Verbesserung der Label-Erstellung und Fehlerbehandlung
Die Erstellung neuer Labels in `frmFormDesigner.vb` wurde überarbeitet:
- Verwendung eines SQL-Insert-Statements anstelle der Methode `cmdInsertAnlage`.
- Hinzufügen einer Fehlerbehandlung mit Log-Nachricht und `MsgBox` bei fehlgeschlagenem Insert.
- Aktivierung der Label-Eigenschaften nur bei erfolgreichem Insert.
- Erweiterung der allgemeinen Fehlerbehandlung mit einer Benutzerbenachrichtigung.

In `frmValidator.vb` wurden folgende Änderungen vorgenommen:
- Zurücksetzen des Textes eines `ComboBox`-Steuerelements auf einen leeren String.
- Korrektur der Berechnung der verbleibenden Vorgänge (`Amount_Docs2Validate`), um den Zähler korrekt anzuzeigen.
2026-08-10 14:24:19 +02:00
Developer01
5b71a9b9c2 Optimierung der CONTROL_ACTIVE-Logik und SQL-Abfragen
Die Logik für `CONTROL_ACTIVE` wurde in allen relevanten Klassen
(`frmFormDesigner`, `frmMain`, `frmValidator`) vereinheitlicht.
SQL-Abfragen wurden angepasst, um nur aktive Steuerelemente
(`CONTROL_ACTIVE = 1`) zu berücksichtigen.

- Refactoring der `UpdateSingleValue`-Methode zur besseren
  Lesbarkeit und Wartbarkeit.
- Erweiterung der Datentypunterstützung für `Boolean` in
  `UpdateSingleValue`.
- Verbesserung der Fehlerbehandlung bei SQL-Updates durch
  Logging und Variablen für komplexe SQL-Befehle.
- Entfernung redundanter Kommentare und Optimierung der
  Abfragen für Effizienz und Konsistenz.
- Allgemeine Verbesserungen der Codequalität.
2026-08-10 10:19:54 +02:00
Developer01
bbef9ee886 Version auf 3.2.0.0 aktualisiert, Logik optimiert
Die Assembly-Version in `AssemblyInfo.vb` wurde von 3.1.0.0
auf 3.2.0.0 aktualisiert. In `frmMain.vb` wurde die Logik zur
Verarbeitung von `oTypeId` angepasst. Die Überprüfung, ob ein
`frmValidator`-Formular geöffnet ist, erfolgt nun nur, wenn
`oTypeIdInt` den Wert 0 oder 1 hat. Die `Select Case`-Logik
wurde entsprechend angepasst, um die Bedingung zu berücksichtigen.
2026-08-05 13:45:12 +02:00
Developer01
b838d664fc Verbesserung der Dokumentfreigabe und Fehlerbehandlung
Die Freigabe von Dokumenten wurde zentralisiert, indem
`PRTF_PROFILE_FILES_WORK("FreeFile")` an mehreren Stellen
hinzugefügt wurde. Dies stellt sicher, dass Ressourcen
konsistent freigegeben werden, insbesondere vor dem
Schließen des Formulars oder bei Fehlern.

Die SQL-Logik für das Löschen von Einträgen in
`TBPM_DOCWALKOVER` wurde vereinfacht, und redundante
SQL-Aufrufe wurden entfernt. Die Funktion
`PRTF_PROFILE_FILES_WORK` wurde robuster gestaltet, indem
sie nur bei gültigen Dokument-IDs eine Abfrage ausführt.

Ein Fix wurde implementiert, um Grid-Events sofort zu
deregistrieren und potenzielle Zugriffe auf freigegebene
UI-Objekte zu verhindern. Zusätzlich wurden nicht mehr
benötigte Codezeilen entfernt, um die Lesbarkeit und
Wartbarkeit zu verbessern.
2026-08-05 13:03:21 +02:00
Developer01
c7cb318c99 Cockpit Active auswerten, Expanded bei nur einem Cockpit 2026-07-07 16:34:21 +02:00
Developer01
cbc16d5dd2 Aktualisierung SQL View, GDPicture Referenzen etc 2026-07-06 16:30:56 +02:00
Developer01
7f714ce705 Monitoring öffnen nach Klick 2026-07-01 15:26:07 +02:00
Developer01
f837c8bf7d Wix Optimierung, Cockpit Monitoring öffnen und Doppelklick TreeView 2026-07-01 14:58:05 +02:00
Developer01
b4cd2e0008 Finalisierung treeview RC Test 2026-06-30 12:34:12 +02:00
Developer01
627cdf0274 Update GDPicture 2026-06-23 11:57:04 +02:00
Developer01
2e84104490 Aktualisierung von Abhängigkeiten und neue Monitor-Logik
GdPicture.NET-Bibliotheken auf Version `14.4.4` aktualisiert.
Neue Logik in `frmMain.vb` und `frmMonitor.vb` implementiert, um zu prüfen, ob Monitore mit einer bestimmten ID bereits geöffnet sind, und diese in den Vordergrund zu bringen. Dynamische Schriftgrößenanpassung für Grid- und TreeList-Komponenten hinzugefügt.
2026-06-23 11:56:16 +02:00
Developer01
bc61e8960d Verbesserung der SQL-Logik und Datenbindung
In `frmColumn_Detail` wurde die `SQLConnection`-Eigenschaft auf `1` gesetzt und neue Eigenschaften wie `PlaceholdersManualPrefix`, `PlaceholdersManualTitle` und `PlaceholdersManual` hinzugefügt. Eine Bedingung für `ATTRIBUTE_STORE` wurde basierend auf `IDB_ACTIVE` eingeführt. Die Behandlung von SQL-Befehlen wurde erweitert.

In `frmFormDesigner.Designer.vb` und `frmFormDesigner.resx` wurden Bindings für `TBPM_CONTROL_TABLEBindingSource` und `DD_DMSLiteDataSet` entfernt und wieder hinzugefügt, um die Datenbindung zu aktualisieren.

In `frmMain` wurde die Variable `COCKPIT_PROFILE_SQL` eingeführt, um SQL-Befehle für Cockpit-Profile zu speichern. Zusätzliche Debugging-Logs und Prüfungen wurden hinzugefügt, um SQL-Befehle zu überwachen und Fehler zu protokollieren. Die Methode `PrepareIconColumn` wurde erweitert, um sicherzustellen, dass die Spalte `TL_STATE` vorhanden ist, bevor sie verwendet wird. Fehlerbehandlungen wurden verbessert.
2026-06-05 10:50:31 +02:00
Developer01
3c3f883b66 Verbesserungen an SQL-Handling und UI-Logik
- Neue Methode `frmInvDashboard_Shown` und `frmMonitor_Shown`, um sicherzustellen, dass die Formulare nach dem Anzeigen in den Vordergrund gebracht werden.
- Aktualisierung der Bildressourcen in `frmMain.Designer.vb` und `frmMain.resx`.
- Verbesserte SQL-Fehlerbehandlung in `LoadOverviewData` und Einführung der Variablen `isCustomSQL`.
- Zusätzliche Platzhalterformate für `USER_ID` in `PrepareSQLWithReplacements`.
- Gruppierungen in Profilansichten werden entfernt, und Gruppierungen werden nur für `OVERVIEW`-Ansichten erstellt.
- Verbesserte Logik für das Öffnen von `frmMonitor` und `frmInvDashboard`, einschließlich Overlay-Anzeige und Fokus-Restore.
2026-06-02 13:03:15 +02:00
Developer01
6261ad5996 Benutzeroberfläche und SQL-Logging optimiert
Die Änderungen umfassen:
- Entfernung von `ToolTip1`- und `ImageOptions`-Eigenschaften zur Vereinfachung der Benutzeroberfläche.
- Hinzufügen von `_lastUsedOverviewSQL` zur Speicherung der letzten SQL-Abfrage.
- Erweiterung der SQL-Verarbeitung mit Platzhalterersetzung (`@PROFILE_ID`).
- Verbesserte Performance-Diagnose und Logging mit `LOG_HOTSPOTS`.
- Dynamische Aktualisierung der Baumknotenanzahl und verbesserte Hintergrundprozesse.
- Aktualisierung von Ressourcen und Lokalisierung zur Unterstützung mehrsprachiger Anwendungen.
- Entfernung von DevExpress-Komponenten und Modernisierung der UI-Elemente.
2026-05-29 14:21:26 +02:00
Developer01
ab0ff0f851 Neue Funktion: Leere Workflows ausblenden
- Hinzufügen der Eigenschaft `Hide_Empty_Workflows` in `ClassConfig` zur Steuerung der Sichtbarkeit leerer Workflows.
- Neues Ribbon-Element `Bchkitm_load_empty_wf` zur Aktivierung/Deaktivierung der Funktion.
- Asynchrone Aktualisierung der Knotenanzahlen in `TreeList_Cockpit` mit `_treeNodeCounts`.
- Sichtbarkeitssteuerung für Knoten basierend auf der Checkbox `Bchkitm_load_empty_wf`.
- Verbesserte Benutzerfreundlichkeit durch Tooltips und Logging.
- Optimierung von SQL-Abfragen und Bereinigung von Knotenbezeichnungen.
2026-05-29 12:44:11 +02:00
Developer01
3dd884096b Verbesserung der SQL-Logik und Debugging-Optimierung
Die Sichtbarkeitslogik in `ClassRefreshHelper.vb` wurde verbessert, um ungültige Indizes zu vermeiden. In `frmMain.vb` wurde die Methode `PrepareSQLWithReplacements` erweitert, um einen zusätzlichen Parameter `oProfileID` zu unterstützen, was die Flexibilität bei der SQL-Verarbeitung erhöht.

Zusätzliche Debug-Logs wurden hinzugefügt, um die Nachvollziehbarkeit zu verbessern, insbesondere bei SQL-Fehlern, Ladeprozessen und TreeList-Operationen. Die Fehlerbehandlung wurde optimiert, um spezifischere Warnungen und Validierungen zu ermöglichen.

Weitere Verbesserungen umfassen die Behandlung von `CUSTOM_OVERVIEW_SQL`, die Validierung des Overlays in `Decide_Load` und die Optimierung der SQL-Verarbeitung in `LoadOverviewData`. Allgemeine Code-Qualitätsmaßnahmen wie Kommentare und Strukturverbesserungen wurden ebenfalls vorgenommen.
2026-05-28 16:48:32 +02:00
Developer01
a386fdd841 Fehlerbehandlung für oExportFilename verbessert
Eine zusätzliche Bedingung wurde hinzugefügt, um den Fall zu behandeln, dass `oExportFilename` den Wert `Nothing` hat. In diesem Fall wird eine Log-Nachricht mit dem SQL-Befehl protokolliert und eine Fehlermeldung angezeigt, die den Benutzer auffordert, das Admin-Team zu informieren.

Außerdem wurde die bestehende Fehlermeldung angepasst, indem `vbcrlf` durch `vbCrLf` ersetzt wurde, um den Code konsistenter zu gestalten.
2026-05-19 09:11:08 +02:00
Developer01
c249b5c591 Neue Datei hinzugefügt und Logging verbessert
In der Datei Product.wxs wurde die Datei DLLLicenseManager.dll
zum Installationspaket hinzugefügt.

In frmInvDashboard.Designer.vb wurde der Adapter
VWPM_CHART_TOP5TableAdapter entfernt und durch das neue
Element CreateChartOtherRibbonPage1 ersetzt.

In frmValidator.vb wurden mehrere Verbesserungen vorgenommen:
- Debug- und Info-Logs für Exportprozesse hinzugefügt.
- SQL-Befehl für Export-Dateinamen angepasst.
- Verbesserte Fehlerbehandlung und Logging bei fehlenden
  oder ungültigen Export-Dateinamen.
- Warn-Log für nicht gefundene Dateien ergänzt.
- Info-Log für leere Dokumentenlisten hinzugefügt.
2026-05-19 09:08:52 +02:00
Developer01
04d9aac24f Navigation auf TreeList umgestellt, Monitor-Layout refactored
- NavBarControl entfernt, Navigation erfolgt jetzt über TreeList_Cockpit mit modernem Design und Rechteprüfung (Monitor/Charts).
- TreeList lädt Cockpit-Struktur aus DB, blendet Knoten je nach Berechtigung aus und zeigt mehrsprachige Fehler bei fehlender Konfiguration.
- Klick auf Monitor- oder Chart-Knoten öffnet gezielt Monitor/Dashboard mit passender Konfiguration.
- Methoden zum Laden/Speichern/Entfernen von Monitor-Grid-Layouts vereinheitlicht und auf Cockpit-spezifische Layout-Dateien umgestellt.
- TreeList-Breite und Splitter-Positionen werden benutzerspezifisch gespeichert.
- Neuer Refresh-Button für TreeList im Ribbon ergänzt.
- Diverse Refactorings, Logging- und Fehlerbehandlungs-Verbesserungen.
2026-05-13 14:23:24 +02:00
Developer01
d74beddb35 Cockpit-Navigation: DevExpress TreeList integriert
Das Hauptfenster nutzt nun eine moderne, hierarchische Cockpit-Navigation auf Basis der DevExpress TreeList. Die TreeList ersetzt die bisherige alleinige Navigation über die NavBar und lädt ihre Struktur dynamisch aus der Datenbank. Knoten können asynchron Zähler nachladen und verschiedene Typen (Übersicht, Profil, SQL) abbilden. Die Datenlade-Logik wurde für die TreeList angepasst und erweitert. UI und Ressourcen wurden modernisiert, die TreeList ist für zukünftige Erweiterungen vorbereitet. Die NavBar bleibt erhalten, ist aber nicht mehr Hauptnavigation.
2026-05-13 09:52:20 +02:00
Developer01
a3fb1cbafc Sichtbarkeit & Logging für rbnPgGroupAttmt verbessert
- AssemblyVersion auf 2.9.1.0 erhöht
- Sichtbarkeit von rbnPgGroupAttmt wird nun explizit vor Rückgabe gesetzt, abhängig von den Suchergebnissen
- In FillIndexValues wird jetzt korrekt auf "CONNECTION_ID" geprüft und geloggt (statt "CONN_ID")
- Gleiches gilt für das finale Indexing bei dynamischen SQL-Befehlen
- Logmeldungen und Tab-Preloading-Verhalten wurden entsprechend angepasst und überprüft
2026-05-12 08:49:01 +02:00
Developer01
960acb0ce1 Nochmal 2026-05-05 18:22:06 +02:00
Developer01
b95e580f06 V 2.9.9.0
Verbesserung DocSearchLoad, Mapping Sharedrive

Refactoring Zusatzsuchen, Dokumentenhandling & Cleanup

Umfangreiches Refactoring der Zusatzsuchen-Logik (Validator/ValidatorSearch): Vereinheitlichung und Typprüfung der DataTables, zentrale Filterung, robustere Tab-Steuerung und thread-sicheres Nachladen. Netzlaufwerk-Mapping und Dokumentenpfad-Handling wurden entfernt bzw. auf neue Handler ausgelagert. Profilsuchen-Handling vereinheitlicht, Parametrierung (Working Mode) klarer strukturiert. Diverse Bugfixes, verbessertes Logging, Cleanup von Ressourcen und Projektdateien, veraltete Komponenten entfernt. Update auf DocumentViewer 2.6.0.0. Die Anwendung ist robuster, wartbarer und für Erweiterungen vorbereitet.
2026-05-05 18:21:54 +02:00
Developer01
df3f8167fe Automatisches Mappen und Arbeiten mit Temporärem Verzeichnis
ConnectionID sicher auf 1
2026-04-24 11:15:09 +02:00
Developer01
376dc3390f DigitalData.Modules.Language.Utils auskommentiert 2026-04-21 09:59:02 +02:00
Developer01
a2a96c0f8d Verweise 2026-04-21 09:50:16 +02:00
Developer01
771fca60f0 Verweise nach Domänenupdate erneuern 2026-04-21 09:50:06 +02:00
Developer01
a84dafef0b Leerzeile wegen Push 2026-04-14 08:11:14 +02:00
Developer01
4cb3bd9eb1 TestPush 2026-04-13 09:28:09 +02:00
Developer01
43ad71f520 Leerzeilen 2026-03-30 15:13:23 +02:00
Developer01
724a37ad47 Leerzeile entfernt 2026-03-30 12:45:04 +02:00
Developer01
f5ca487158 Session.Logout 2026-03-27 13:50:30 +01:00
Developer01
73e69b3eef 2.8.7.1 2026-03-27 12:48:25 +01:00
Developer01
cb51396952 FORMEL_SQL release Candidate 2026-03-25 15:20:39 +01:00
Developer01
c464f24681 Vor SetControlValuesChange 2026-03-20 13:43:09 +01:00
Developer01
969e07eb17 Vor Controls2B_EnDisabled Change 2026-03-11 16:43:34 +01:00
Developer01
7629d54fe1 2.8.4 Beta IDB replace Hochkomma bei Delete, Währungskonvertierung 2026-03-11 12:08:46 +01:00
Developer01
41e46f9dbb Version 2.8.3 zu Test an MK und HE 2026-03-03 12:55:01 +01:00
Developer01
a192267d96 MS Anpassung Speicherung IDBData 2026-03-02 16:29:14 +01:00
Developer01
a0d3a487d8 Vor Ändeurng LoogUpControl 2026-02-27 11:46:09 +01:00
Developer01
54744a0531 Vor GridControl Length 2026-02-26 10:37:05 +01:00
Developer01
743ef3fe22 MS 2.8.2 Fehlerhandling und Column-Formel Test bei Henning 2026-02-25 13:16:12 +01:00
Developer01
25dcfb2061 VorKOG_Hotspots in LOD 2026-02-13 07:56:02 +01:00
Developer01
3e34b52c6f 2.8.1 2026-02-12 17:25:46 +01:00
Developer01
950aeba89e 2.8.1 2026-02-12 17:25:40 +01:00
Developer01
e086c5db14 Finalisierung Columnberechnungen - ab in den TEST 2026-02-12 10:19:28 +01:00
Developer01
4898d25388 Berechnung Spalten start 2026-02-10 17:40:15 +01:00
Developer01
c2b3c023b9 Merge in MAster 2026-02-10 13:05:24 +01:00
Developer01
034ca839ba 2.7.9 an WISAG ausgegeben 2026-02-05 16:58:19 +01:00
Developer01
05c4ee9f41 Bug Speichern Inherit Value und ReadOnly Columns 2026-02-02 16:58:04 +01:00
Developer01
83e31a2e00 Geschwindigkeitsoptimierungen Main 2026-02-02 11:44:17 +01:00
Developer01
bca424f50f Optimierungen 2026-01-30 14:40:02 +01:00
Developer01
11d27cd860 Create_Basic_View 2026-01-30 13:02:55 +01:00
Developer01
969f27a91f frm main Load Grid Optimierung 2026-01-30 13:00:16 +01:00
Developer01
b7d427b5eb Decide_Load_Speed 2026-01-30 12:56:36 +01:00
Developer01
0f936c71e6 Speed Otimizing Lookp etc 2026-01-30 12:53:01 +01:00
Developer01
a53bfee8d5 ComboBOx Optimierung 2026-01-30 12:13:08 +01:00
Developer01
df4a8df25a Optimierung Speed Load_Next Document 2026-01-30 12:09:21 +01:00
Developer01
0e6848aa69 Hotspots 2026-01-30 11:23:35 +01:00
Developer01
72b1e4acba Vererbung Tabelle Finalisierung 2026-01-30 09:01:47 +01:00
Developer01
c249aa890d Messpunkte integriert 2026-01-29 10:46:09 +01:00
Developer01
f1984572b7 2.7.7 2026-01-28 21:48:44 +01:00
Developer01
ce50bc2964 Vererbung Werte 1 2026-01-28 21:47:49 +01:00
Developer01
2a8beead00 Logging bzgl AdditionalTitle 2026-01-12 13:16:08 +01:00
Developer01
9b85d1552e Laufzeitvererbung für Spaltenwerte implementiert. Eingeführter CellValueChanged-Handler plus HandleInheritedColumnValue prüfen das INHERIT_VALUE-Flag der Spaltendefinition. Werte werden ab dem bearbeiteten Eintrag auf alle folgenden Zeilen der aktiven Spalte übertragen, inklusive Schutz gegen rekursive Auslösung. 2026-01-12 11:36:03 +01:00
Developer01
9312c1244b 2.7.6.0 Indexierung Vektorfelder bei finalen INDexen 2025-12-22 14:13:50 +01:00
Developer01
55d7e025c9 Normalizing currency for windream 2025-12-16 17:21:18 +01:00
Developer01
2f64dc4b70 Vor Logging erweiterung in Tabelle Row Add 2025-12-12 10:04:53 +01:00
Developer01
17ec4953e5 WIX Aufruf über Link 2025-12-09 10:45:06 +01:00
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
2727548bde Formatierung der DateTime-Spalten im Grid Overview - Load_Grid_Overview 2025-06-05 09:56:27 +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
214 changed files with 81639 additions and 19000 deletions

1
.gitignore vendored
View File

@@ -156,3 +156,4 @@ $RECYCLE.BIN/
.DS_Store .DS_Store
.vs .vs
/app/TaskFlow/logtaskflow.txt

62
app/README.md Normal file
View File

@@ -0,0 +1,62 @@
Here's the improved `README.md` file incorporating the new content while maintaining the existing structure and coherence:
# Project Title
## Overview
Provide a brief description of the project, its purpose, and its main features.
## Installation
Instructions on how to install and set up the project.
## Usage
How to use the project, including code examples and explanations.
## DataColumn.Expression (Formelsprachen-Übersicht)
Die dynamischen Grid-Formeln verwenden die ADO.NET **`DataColumn.Expression`**-Sprache. Spalten werden immer über den **Spaltennamen** referenziert (in eckigen Klammern).
### Grundoperatoren
| Typ | Ausdruck | Beispiel |
|---|---|---|
| Arithmetik | `+ - * /` | `[A] * [B]` |
| Vergleich | `= <> > >= < <=` | `[MENGE] > 0` |
| Logik | `AND OR NOT` | `[A] > 0 AND [B] < 10` |
| Klammern | `(...)` | `([A] + [B]) * 2` |
### String-Verkettung
| Ausdruck | Beispiel |
|---|---|
| `+` | `[VORNAME] + ' - ' + [NACHNAME]` |
| `Convert` | `Convert([NUMMER], 'System.String')` |
### Bedingungen
| Ausdruck | Beispiel |
|---|---|
| `IIF` | `IIF([A] = 'Harry', 'Blume', 'Tier')` |
### Häufige Funktionen
| Funktion | Beispiel |
|---|---|
| `Len` | `Len([TEXT])` |
| `Trim` | `Trim([TEXT])` |
| `Substring` | `Substring([TEXT], 0, 3)` |
| `IsNull` | `IsNull([WERT], 0)` |
| `Convert` | `Convert([WERT], 'System.Double')` |
### Beispiele (FORMULA_EXPRESSION)
- **Multiplikation:** `[MENGE] * [PREIS]`
- **Addieren:** `[A] + [B]`
- **Division:** `[A] / [B]`
- **Text zusammensetzen:** `[SAKNR] + ' - ' + [KST]`
- **Bedingung:** `IIF([STATUS] = 'X', 'OK', 'NOK')`
## Contributing
Guidelines for contributing to the project.
## License
Information about the project's license.
## Contact
How to contact the project maintainers for questions or support.

View File

@@ -4,10 +4,12 @@
<?define Description="Beschreibung des Programms"?> <?define Description="Beschreibung des Programms"?>
<?define Comments="Kommentar wie Copyright-Hinweis"?> <?define Comments="Kommentar wie Copyright-Hinweis"?>
<?define UpgradeCode="21ECB2F2-574B-4F4C-8889-A1CA2CEB2455"?> <?define UpgradeCode="21ECB2F2-574B-4F4C-8889-A1CA2CEB2455"?>
<?define DevExpressPath="D:\ProgramFiles\DevExpress 25.2\Components\Bin\Framework\"?>
<?define DevExpressLocalesPath="D:\ProgramFiles\DevExpress 25.2\Components\System\Locales\"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Product Id="*" Name="$(var.ProductName)" Language="1031" Codepage="1252" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)"> <Product Id="*" Name="$(var.ProductName)" Language="1031" Codepage="1252" Version="$(var.ProductVersion)" Manufacturer="$(var.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">
<Package <Package
Id="*" Id="*"
Keywords="Installer" Keywords="Installer"
Description="$(var.Description)" Description="$(var.Description)"
@@ -20,320 +22,420 @@
InstallScope="perMachine" InstallScope="perMachine"
/> />
<Property Id="INSTALLDIR"> <Property Id="INSTALLDIR">
<RegistrySearch Key="Software\[Manufacturer]\[ProductName]" Root="HKLM" Type="raw" Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" /> <RegistrySearch Key="Software\[Manufacturer]\[ProductName]" Root="HKLM" Type="raw" Id="APPLICATIONFOLDER_REGSEARCH" Name="Path" />
</Property> </Property>
<Media Id='1' Cabinet='$(var.ProgramName).cab' EmbedCab='yes' DiskPrompt='$(var.ProgramName)' /> <Media Id='1' Cabinet='$(var.ProgramName).cab' EmbedCab='yes' DiskPrompt='$(var.ProgramName)' />
<Property Id='DiskPrompt' Value="$(var.ProgramName) Install" /> <Property Id='DiskPrompt' Value="$(var.ProgramName) Install" />
<MajorUpgrade <Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" />
AllowDowngrades="no" <MajorUpgrade
AllowSameVersionUpgrades="yes" DowngradeErrorMessage="Eine neuere Version von [ProductName] ist bereits installiert. Das Setup wird beendet."
DowngradeErrorMessage="Eine neuere Version von [ProductName] ist bereits installiert. Das Setup wird beendet." Schedule="afterInstallInitialize"
/> AllowSameVersionUpgrades="yes"
/>
<Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" /> <!-- Legt das Icon fest -->
<Upgrade Id="$(var.UpgradeCode)"> <Icon Id="AppIcon.exe" SourceFile="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" />
<UpgradeVersion <!-- Zeige Icon in Systemsteuerung > Programme entfernen -->
Minimum="1.0.0.0" Maximum="1.9.4.0" <Property Id="ARPPRODUCTICON" Value="AppIcon.exe" />
Property="PREVIOUSVERSIONSINSTALLED"
IncludeMinimum="yes" IncludeMaximum="no" />
</Upgrade>
<!-- Legt das Icon fest --> <Directory Id="TARGETDIR" Name="SourceDir">
<Icon Id="AppIcon.exe" SourceFile="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" /> <Directory Id="ProgramFilesFolder">
<!-- Zeige Icon in Systemsteuerung > Programme entfernen --> <Directory Id="DDDIR" Name="$(var.Manufacturer)">
<Property Id="ARPPRODUCTICON" Value="AppIcon.exe" /> <Directory Id="INSTALLDIR" Name="$(var.ProductName)"/>
</Directory>
</Directory>
<Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramMenuFolder">
<Directory Id="ProgramFilesFolder"> <Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/>
<Directory Id="DDDIR" Name="$(var.Manufacturer)"> </Directory>
<Directory Id="INSTALLDIR" Name="$(var.ProductName)"/>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder"> <Directory Id="DesktopFolder" />
<Directory Id="ApplicationProgramsFolder" Name="$(var.ProductName)"/> </Directory>
</Directory>
<Directory Id="DesktopFolder" /> <DirectoryRef Id="ApplicationProgramsFolder">
</Directory> <Component Id="ApplicationShortcut_StartMenu" Guid="62aad607-27fc-438f-b2e5-0e3f26e51aaa">
<Shortcut Id="ApplicationStartMenuShortcut_StartMenu"
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut_StartMenu" Guid="62aad607-27fc-438f-b2e5-0e3f26e51aaa">
<Shortcut Id="ApplicationStartMenuShortcut_StartMenu"
Name="$(var.ProductName)" Name="$(var.ProductName)"
Target="[INSTALLDIR]$(var.ProgramName).exe" Target="[INSTALLDIR]$(var.ProgramName).exe"
WorkingDirectory="INSTALLDIR"/> WorkingDirectory="INSTALLDIR"/>
<RemoveFolder Id="ApplicationProgramsFolder_StartMenu" On="uninstall"/> <RemoveFolder Id="ApplicationProgramsFolder_StartMenu" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/> <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component> </Component>
</DirectoryRef> </DirectoryRef>
<DirectoryRef Id="DesktopFolder"> <DirectoryRef Id="DesktopFolder">
<Component Id="ApplicationShortcut_Desktop" Guid="796a4f03-8156-4c62-8d92-29ce92805089"> <Component Id="ApplicationShortcut_Desktop" Guid="796a4f03-8156-4c62-8d92-29ce92805089">
<Shortcut Id="ApplicationStartMenuShortcut_Desktop" <Shortcut Id="ApplicationStartMenuShortcut_Desktop"
Name="$(var.ProductName)" Name="$(var.ProductName)"
Target="[INSTALLDIR]$(var.ProgramName).exe" Target="[INSTALLDIR]$(var.ProgramName).exe"
WorkingDirectory="INSTALLDIR"/> WorkingDirectory="INSTALLDIR"/>
<RemoveFolder Id="ApplicationProgramsFolder_Desktop" On="uninstall"/> <RemoveFolder Id="ApplicationProgramsFolder_Desktop" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/> <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component> </Component>
</DirectoryRef> </DirectoryRef>
<DirectoryRef Id="INSTALLDIR"> <DirectoryRef Id="INSTALLDIR">
<Component Id="MainApplicationExe" Guid="71B06048-F595-40CE-B429-79C2F2D6001B" KeyPath="yes"> <Component Id="MainApplicationExe" Guid="71B06048-F595-40CE-B429-79C2F2D6001B" KeyPath="yes">
<File Id="MainApplicationExe" Source="..\taskFLOW\bin\$(var.Configuration)\$(var.ProgramName).exe" Name="$(var.ProgramName).exe" 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" /> <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="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]" /> <Shortcut Id="StartMenuShortcut" Directory="ProgramMenuDir" Name="$(var.ProductName)" WorkingDirectory="INSTALLDIR" Icon="AppIcon.exe" IconIndex="0" Advertise="no" Target="[#MainApplicationExe]" />
--> -->
</Component> </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 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> </File>
</Component>--> </Component>-->
<Component Id="WindreamLibs" Guid="4D11FC99-50D9-4E54-B18A-8885C9112646"> <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"/> <File Id="WINDREAMLibDLL" Name="Interop.WINDREAMLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WINDREAMLib.dll" KeyPath="yes"/>
<File Id="WMOTOOLLib" Name="Interop.WMOTOOLLib.dll" Source="P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOTOOLLib.dll"/> <File Id="WMOTOOLLib" Name="Interop.WMOTOOLLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOTOOLLib.dll"/>
<File Id="WMOSRCHLib" Name="Interop.WMOSRCHLib.dll" Source="P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOSRCHLib.dll"/> <File Id="WMOSRCHLib" Name="Interop.WMOSRCHLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOSRCHLib.dll"/>
<File Id="WMOBRWSLib" Name="Interop.WMOBRWSLib.dll" Source="P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOBRWSLib.dll"/> <File Id="WMOBRWSLib" Name="Interop.WMOBRWSLib.dll" Source="M:\Bibliotheken\3rdParty\windream\Interop.WMOBRWSLib.dll"/>
</Component>
<Component Id="FormsUtilsLibs" Guid="51c183a7-af21-481a-bd34-0e547e6f6e1c">
<File Id="FormsUtilsLib" Name="FormsUtils.dll" Source="P:\Visual Studio Projekte\Bibliotheken\FormsUtils.dll" KeyPath="yes" />
</Component>
<Component Id="IndependentsoftLibs" Guid="C3B3BB48-DB41-4419-A4B8-0E4DC5E8856B">
<File Id="MSGLib" Name="Independentsoft.Msg.dll" Source="P:\Visual Studio Projekte\Bibliotheken\MSG .NET\Bin\22_11_19\Independentsoft.Msg.dll" KeyPath="yes"/>
</Component>
<Component Id="DDLibs" Guid="BA2979E3-3778-48B8-B0D8-4B77825B9293">
<File Id="DLLLicenseManager" Name="DLLLicenseManager.dll" Source="P:\Visual Studio Projekte\Bibliotheken\DLLLicenseManager.dll" KeyPath="yes"/>
<File Id="DDLibStandards" Name="DD_LIB_Standards.dll" Source="P:\Visual Studio Projekte\Bibliotheken\DD_LIB_Standards.dll"/>
<File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll"/>
<File Id="DDSnapPanel" Name="DigitalData.Controls.SnapPanel.dll" Source="DigitalData.Controls.SnapPanel.dll"/>
<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="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" />
<File Id="NLog" Name="NLog.dll" Source="NLog.dll"/>
</Component>
<Component Id="Oracle" Guid="CF76DB5D-3263-450F-96C6-F02F5447A0A1">
<File Id="Oracle.ManagedDataAccess" Name="Oracle.ManagedDataAccess.dll" Source="P:\Visual Studio Projekte\Bibliotheken\Oracle.ManagedDataAccess.dll" KeyPath="yes"/>
</Component>
<Component Id="PDFsharp" Guid="9cd1cfb7-3f84-4a8b-aa51-642b723fcd70">
<File Id="PdfSharpgdi" Name="PdfSharp-gdi.dll" Source="P:\Visual Studio Projekte\Bibliotheken\PdfSharp-gdi.dll" KeyPath="yes"/>
</Component>
<Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">
<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" />
</Component> </Component>
<Component Id="DevExpressLibs" Guid="CB40DAAE-348E-4BD3-B275-9A526EB8F191"> <Component Id="FormsUtilsLibs" Guid="51c183a7-af21-481a-bd34-0e547e6f6e1c">
<File Id="DevExpress.Images.v21.2" Name="DevExpress.Images.v21.2.dll" KeyPath="yes"/> <File Id="FormsUtilsLib" Name="FormsUtils.dll" Source="M:\Bibliotheken\3rdParty\FormsUtils.dll" KeyPath="yes" />
<File Id="DevExpress.Data.v21.2" Name="DevExpress.Data.v21.2.dll"/> </Component>
<File Id="DevExpress.Xpf.Core.v21.2" Name="DevExpress.Xpf.Core.v21.2.dll"/>
<File Id="DevExpress.Xpf.Docking.v21.2" Name="DevExpress.Xpf.Docking.v21.2.dll"/>
<File Id="DevExpress.Xpf.DocumentViewer.v21.2.Core" Name="DevExpress.Xpf.DocumentViewer.v21.2.Core.dll"/>
<File Id="DevExpress.Xpf.Grid.v21.2.Core" Name="DevExpress.Xpf.Grid.v21.2.Core.dll"/>
<File Id="DevExpress.Xpf.Grid.v21.2" Name="DevExpress.Xpf.Grid.v21.2.dll"/>
<File Id="DevExpress.Xpf.Layout.v21.2.Core" Name="DevExpress.Xpf.Layout.v21.2.Core.dll"/>
<File Id="DevExpress.Xpf.Ribbon.v21.2" Name="DevExpress.Xpf.Ribbon.v21.2.dll"/>
<File Id="DevExpress.XtraTreeMap.v21.2" Name="DevExpress.XtraTreeMap.v21.2.dll"/>
<File Id="DevExpress.XtraPivotGrid.v21.2" Name="DevExpress.XtraPivotGrid.v21.2.dll"/>
<File Id="DevExpress.TreeMap.v21.2.Core" Name="DevExpress.TreeMap.v21.2.Core.dll"/>
<File Id="DevExpress.DataAccess.v21.2" Name="DevExpress.DataAccess.v21.2.dll"/>
<File Id="DevExpress.DataAccess.v21.2.UI" Name="DevExpress.DataAccess.v21.2.UI.dll"/>
<File Id="DevExpress.Data.Desktop.v21.2" Name="DevExpress.Data.Desktop.v21.2.dll"/>
<File Id="DevExpress.DataVisualization.v21.2.Core" Name="DevExpress.DataVisualization.v21.2.Core.dll"/>
<File Id="DevExpress.Dialogs.v21.2.Core" Name="DevExpress.Dialogs.v21.2.Core.dll" />
<File Id="DevExpress.Pdf.v21.2.Core" Name="DevExpress.Pdf.v21.2.Core.dll" />
<File Id="DevExpress.Pdf.v21.2.Drawing" Name="DevExpress.Pdf.v21.2.Drawing.dll" />
<File Id="DevExpress.Charts.v21.2.Core" Name="DevExpress.Charts.v21.2.Core.dll" />
<File Id="DevExpress.Printing.v21.2.Core" Name="DevExpress.Printing.v21.2.Core.dll" />
<File Id="DevExpress.Utils.v21.2" Name="DevExpress.Utils.v21.2.dll" />
<File Id="DevExpress.Utils.v21.2.UI" Name="DevExpress.Utils.v21.2.UI.dll" />
<File Id="DevExpress.XtraBars.v21.2" Name="DevExpress.XtraBars.v21.2.dll" />
<File Id="DevExpress.Mvvm.v21.2" Name="DevExpress.Mvvm.v21.2.dll" />
<File Id="DevExpress.XtraCharts.v21.2" Name="DevExpress.XtraCharts.v21.2.dll" />
<File Id="DevExpress.XtraCharts.v21.2.Wizard" Name="DevExpress.XtraCharts.v21.2.Wizard.dll" />
<File Id="DevExpress.XtraCharts.v21.2.Extensions" Name="DevExpress.XtraCharts.v21.2.Extensions.dll" />
<File Id="DevExpress.XtraCharts.v21.2.UI" Name="DevExpress.XtraCharts.v21.2.UI.dll" />
<File Id="DevExpress.XtraDialogs.v21.2" Name="DevExpress.XtraDialogs.v21.2.dll" />
<File Id="DevExpress.XtraEditors.v21.2" Name="DevExpress.XtraEditors.v21.2.dll" />
<File Id="DevExpress.XtraGrid.v21.2" Name="DevExpress.XtraGrid.v21.2.dll" />
<File Id="DevExpress.XtraLayout.v21.2" Name="DevExpress.XtraLayout.v21.2.dll" />
<File Id="DevExpress.XtraNavBar.v21.2" Name="DevExpress.XtraNavBar.v21.2.dll" />
<File Id="DevExpress.XtraPdfViewer.v21.2" Name="DevExpress.XtraPdfViewer.v21.2.dll" />
<File Id="DevExpress.XtraPrinting.v21.2" Name="DevExpress.XtraPrinting.v21.2.dll" />
<File Id="DevExpress.XtraTreeList.v21.2" Name="DevExpress.XtraTreeList.v21.2.dll" />
<File Id="DevExpress.CodeParser.v21.2" Name="DevExpress.CodeParser.v21.2.dll" />
<File Id="DevExpress.Diagram.v21.2.Core" Name="DevExpress.Diagram.v21.2.Core.dll" />
<File Id="DevExpress.Office.v21.2.Core" Name="DevExpress.Office.v21.2.Core.dll" />
<File Id="DevExpress.PivotGrid.v21.2.Core" Name="DevExpress.PivotGrid.v21.2.Core.dll"/>
<File Id="DevExpress.RichEdit.v21.2.Core" Name="DevExpress.RichEdit.v21.2.Core.dll" />
<File Id="DevExpress.RichEdit.v21.2.Export" Name="DevExpress.RichEdit.v21.2.Export.dll" />
<File Id="DevExpress.XtraRichEdit.v21.2" Name="DevExpress.XtraRichEdit.v21.2.dll" />
<File Id="DevExpress.XtraSpreadsheet.v21.2" Name="DevExpress.XtraSpreadsheet.v21.2.dll" />
<File Id="DevExpress.Spreadsheet.v21.2.Core" Name="DevExpress.Spreadsheet.v21.2.Core.dll" />
<File Id="DevExpress.Sparkline.v21.2.Core" Name="DevExpress.Sparkline.v21.2.Core.dll" />
<File Id="DevExpress.Xpf.PdfViewer.v21.2" Name="DevExpress.Xpf.PdfViewer.v21.2.dll" />
<File Id="DevExpress.Xpo.v21.2" Name="DevExpress.Xpo.v21.2.dll" />
<File Id="DevExpress.XtraGauges.v21.2.Core" Name="DevExpress.XtraGauges.v21.2.Core.dll" />
<File Id="DevExpress.XtraReports.v21.2" Name="DevExpress.XtraReports.v21.2.dll" />
<File Id="DevExpress.XtraReports.v21.2.Extensions" Name="DevExpress.XtraReports.v21.2.Extensions.dll" />
<File Id="DevExpress.XtraVerticalGrid.v21.2" Name="DevExpress.XtraVerticalGrid.v21.2.dll" />
<File Id="DevExpress.XtraDiagram.v21.2" Name="DevExpress.XtraDiagram.v21.2.dll" />
</Component>
<Directory Id="resources.de" Name="de"> <Component Id="DDLibs" Guid="BA2979E3-3778-48B8-B0D8-4B77825B9293">
<Component Id="Devexpress.Locales.de" Guid="6be5ff05-af76-4249-862a-5b13e3c56c2a"> <File Id="LookupGrid" Name="DigitalData.Controls.LookupGrid.dll" Source="DigitalData.Controls.LookupGrid.dll"/>
<File Id="DevExpress.Data.v21.2.resources" Name="DevExpress.Data.v21.2.resources.dll" /> <File Id="DDSnapPanel" Name="DigitalData.Controls.SnapPanel.dll" Source="DigitalData.Controls.SnapPanel.dll"/>
<File Id="DevExpress.DataAccess.v21.2.resources" Name="DevExpress.DataAccess.v21.2.resources.dll" /> <File Id="DDCommonGUIs" Name="DigitalData.GUIs.Common.dll" Source="DigitalData.GUIs.Common.dll"/>
<File Id="DevExpress.DataAccess.v21.2.UI.resources" Name="DevExpress.DataAccess.v21.2.UI.resources.dll" /> <File Id="DDConfig" Name="DigitalData.Modules.Config.dll" Source="DigitalData.Modules.Config.dll"/>
<File Id="DevExpress.Dialogs.v21.2.Core.resources" Name="DevExpress.Dialogs.v21.2.Core.resources.dll" /> <File Id="DDLogging" Name="DigitalData.Modules.Logging.dll" Source="DigitalData.Modules.Logging.dll"/>
<File Id="DevExpress.Pdf.v21.2.Core.resources" Name="DevExpress.Pdf.v21.2.Core.resources.dll" /> <File Id="DDInterfaces" Name="DigitalData.Modules.Interfaces.dll" Source="DigitalData.Modules.Interfaces.dll"/>
<File Id="DevExpress.Printing.v21.2.Core.resources" Name="DevExpress.Printing.v21.2.Core.resources.dll" /> <File Id="DDBase" Name="DigitalData.Modules.Base.dll" Source="DigitalData.Modules.Base.dll"/>
<File Id="DevExpress.Utils.v21.2.resources" Name="DevExpress.Utils.v21.2.resources.dll" /> <File Id="DDFilesystem" Name="DigitalData.Modules.Filesystem.dll" Source="DigitalData.Modules.Filesystem.dll"/>
<File Id="DevExpress.Utils.v21.2.UI.resources" Name="DevExpress.Utils.v21.2.UI.resources.dll" /> <File Id="DDEncryption" Name="DigitalData.Modules.Encryption.dll" Source="DigitalData.Modules.Encryption.dll"/>
<File Id="DevExpress.XtraBars.v21.2.resources" Name="DevExpress.XtraBars.v21.2.resources.dll" /> <File Id="DDWindream" Name="DigitalData.Modules.Windream.dll" Source="DigitalData.Modules.Windream.dll"/>
<File Id="DevExpress.XtraCharts.v21.2.resources" Name="DevExpress.XtraCharts.v21.2.resources.dll" /> <File Id="DDWindows" Name="DigitalData.Modules.Windows.dll" Source="DigitalData.Modules.Windows.dll"/>
<File Id="DevExpress.XtraCharts.v21.2.Wizard.resources" Name="DevExpress.XtraCharts.v21.2.Wizard.resources.dll" /> <File Id="DDZooflow" Name="DigitalData.Modules.Zooflow.dll" Source="DigitalData.Modules.Zooflow.dll"/>
<File Id="DevExpress.XtraEditors.v21.2.resources" Name="DevExpress.XtraEditors.v21.2.resources.dll" /> <File Id="DDDatabase" Name="DigitalData.Modules.Database.dll" Source="DigitalData.Modules.Database.dll"/>
<File Id="DevExpress.XtraGrid.v21.2.resources" Name="DevExpress.XtraGrid.v21.2.resources.dll" /> <File Id="DDPatterns" Name="DigitalData.Modules.Patterns.dll" Source="DigitalData.Modules.Patterns.dll"/>
<File Id="DevExpress.XtraLayout.v21.2.resources" Name="DevExpress.XtraLayout.v21.2.resources.dll" /> <File Id="DDEDMIAPI" Name="DigitalData.Modules.EDMI.API.dll" Source="DigitalData.Modules.EDMI.API.dll"/>
<File Id="DevExpress.XtraNavBar.v21.2.resources" Name="DevExpress.XtraNavBar.v21.2.resources.dll" /> <File Id="DDDocumentViewer" Name="DigitalData.Controls.DocumentViewerDD.dll" Source="DigitalData.Controls.DocumentViewerDD.dll"/>
<File Id="DevExpress.XtraPdfViewer.v21.2.resources" Name="DevExpress.XtraPdfViewer.v21.2.resources.dll" /> <File Id="DDLicenseManager" Name="DLLLicenseManager.dll" Source="DLLLicenseManager.dll" KeyPath="no" />
<File Id="DevExpress.XtraPrinting.v21.2.resources" Name="DevExpress.XtraPrinting.v21.2.resources.dll" /> <File Id="Messaging" Name="DigitalData.Modules.Messaging.dll" Source="DigitalData.Modules.Messaging.dll" KeyPath="no" />
<File Id="DevExpress.XtraTreeList.v21.2.resources" Name="DevExpress.XtraTreeList.v21.2.resources.dll" /> <File Id="Messaging.License" Name="MailLicense.xml" Source="MailLicense.xml" KeyPath="no" />
<File Id="DevExpress.Diagram.v21.2.Core.resources" Name="DevExpress.Diagram.v21.2.Core.resources.dll" /> <File Id="Limilabs.Mail" Name="Mail.dll" Source="Mail.dll" KeyPath="no" />
<File Id="DevExpress.Office.v21.2.Core.resources" Name="DevExpress.Office.v21.2.Core.resources.dll" /> <File Id="NLog" Name="NLog.dll" Source="NLog.dll"/>
<File Id="DevExpress.PivotGrid.v21.2.Core.resources" Name="DevExpress.PivotGrid.v21.2.Core.resources.dll" /> </Component>
<File Id="DevExpress.RichEdit.v21.2.Core.resources" Name="DevExpress.RichEdit.v21.2.Core.resources.dll" /> <Component Id="RuntimeLibs" Guid="F7170744-3DB5-4275-ACCD-7F3B9BDE1D6E">
<File Id="DevExpress.XtraRichEdit.v21.2.resources" Name="DevExpress.XtraRichEdit.v21.2.resources.dll" /> <File Id="Newtonsoft.Json" Name="Newtonsoft.Json.dll" Source="Newtonsoft.Json.dll" KeyPath="yes" />
<File Id="DevExpress.XtraSpreadsheet.v21.2.resources" Name="DevExpress.XtraSpreadsheet.v21.2.resources.dll" /> <File Id="System.Text.Json" Name="System.Text.Json.dll" Source="System.Text.Json.dll" />
<File Id="DevExpress.Spreadsheet.v21.2.Core.resources" Name="DevExpress.Spreadsheet.v21.2.Core.resources.dll" /> <File Id="FirebirdSql.Data.FirebirdClient" Name="FirebirdSql.Data.FirebirdClient.dll" Source="FirebirdSql.Data.FirebirdClient.dll" />
<File Id="DevExpress.Sparkline.v21.2.Core.resources" Name="DevExpress.Sparkline.v21.2.Core.resources.dll" /> <File Id="EntityFramework" Name="EntityFramework.dll" Source="EntityFramework.dll" />
<File Id="DevExpress.Xpf.PdfViewer.v21.2.resources" Name="DevExpress.Xpf.PdfViewer.v21.2.resources.dll" /> <File Id="EntityFramework.SqlServer" Name="EntityFramework.SqlServer.dll" Source="EntityFramework.SqlServer.dll" />
<File Id="DevExpress.Xpo.v21.2.resources" Name="DevExpress.Xpo.v21.2.resources.dll" /> <File Id="EntityFramework.Firebird" Name="EntityFramework.Firebird.dll" Source="EntityFramework.Firebird.dll" />
<File Id="DevExpress.XtraGauges.v21.2.Core.resources" Name="DevExpress.XtraGauges.v21.2.Core.resources.dll" /> </Component>
<File Id="DevExpress.XtraReports.v21.2.resources" Name="DevExpress.XtraReports.v21.2.resources.dll" />
<File Id="DevExpress.XtraReports.v21.2.Extensions.resources" Name="DevExpress.XtraReports.v21.2.Extensions.resources.dll" />
<File Id="DevExpress.XtraVerticalGrid.v21.2.resources" Name="DevExpress.XtraVerticalGrid.v21.2.resources.dll" />
</Component>
</Directory>
<Component Id="RegistryKeys" Guid="4503BF18-22F2-4DBF-B281-06DE039F52C8"> <Component Id="GDPictureLibs" Guid="9ea5ab43-58ff-4813-9a8b-f854784f0275">
<RegistryKey Root="HKLM" Key="Software"> <!-- Haupt-DLL -->
<RegistryKey Key="[Manufacturer]"> <File Id="GdPicture.NET.14" Name="GdPicture.NET.14.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.dll" KeyPath="yes" />
<RegistryKey Key="[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Id="REGKEYINSTALLDIR">
<RegistryValue Type="string" Value="[INSTALLDIR]" Name="Path" />
</RegistryKey>
</RegistryKey>
</RegistryKey>
<util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="APPLICATIONFOLDER" /> <!-- Native x64 DLLs -->
</Component> <File Id="GdPicture.NET.14.barcode.1d.reader.64" Name="GdPicture.NET.14.barcode.1d.reader.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.reader.64.dll" />
</DirectoryRef> <File Id="GdPicture.NET.14.barcode.2d.reader.64" Name="GdPicture.NET.14.barcode.2d.reader.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.reader.64.dll" />
<File Id="GdPicture.NET.14.filters64" Name="GdPicture.NET.14.filters.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.filters.64.dll" />
<File Id="GdPicture.NET.14.image64" Name="GdPicture.NET.14.image.gdimgplug.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.image.gdimgplug.64.dll" />
<File Id="GdPicture.NET.14.Imaging.ML.64" Name="GdPicture.NET.14.Imaging.ML.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.ML.64.dll" />
<File Id="GdPicture.NET.14.Rendering.Skia.64" Name="GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" />
<File Id="GdPicture.NET.14.machine.vision.64" Name="GdPicture.NET.14.machine.vision.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.machine.vision.64.dll" />
<File Id="GdPicture.NET.14.twain.client.64" Name="GdPicture.NET.14.twain.client.64.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.twain.client.64.dll" />
<Feature Id="MainApplication" Title="Main Application" Level="1"> <!-- Native x86 DLLs -->
<ComponentRef Id="MainApplicationExe" /> <File Id="GdPicture.NET.14.barcode.1d.reader" Name="GdPicture.NET.14.barcode.1d.reader.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.reader.dll" />
<ComponentRef Id="RegistryKeys" /> <File Id="GdPicture.NET.14.barcode.1d.writer" Name="GdPicture.NET.14.barcode.1d.writer.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.1d.writer.dll" />
<!--<ComponentRef Id="ReleaseNotes" />--> <File Id="GdPicture.NET.14.barcode.2d.reader" Name="GdPicture.NET.14.barcode.2d.reader.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.reader.dll" />
<ComponentRef Id="WindreamLibs" /> <File Id="GdPicture.NET.14.barcode.2d.writer" Name="GdPicture.NET.14.barcode.2d.writer.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.barcode.2d.writer.dll" />
<ComponentRef Id="FormsUtilsLibs"/> <File Id="GdPicture.NET.14.filters" Name="GdPicture.NET.14.filters.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.filters.dll" />
<ComponentRef Id="DDLibs" /> <File Id="GdPicture.NET.14.image" Name="GdPicture.NET.14.image.gdimgplug.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.image.gdimgplug.dll" />
<ComponentRef Id="Oracle" /> <File Id="GdPicture.NET.14.Imaging.ML" Name="GdPicture.NET.14.Imaging.ML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.ML.dll" />
<ComponentRef Id="PDFsharp" /> <File Id="GdPicture.NET.14.Rendering.Skia" Name="GdPicture.NET.14.Imaging.Rendering.Skia.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.Skia.dll" />
<ComponentRef Id="IndependentsoftLibs" /> <File Id="GdPicture.NET.14.machine.vision" Name="GdPicture.NET.14.machine.vision.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.machine.vision.dll" />
<ComponentRef Id="DevExpressLibs" /> <File Id="GdPicture.NET.14.twain.client" Name="GdPicture.NET.14.twain.client.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.twain.client.dll" />
<ComponentRef Id="GDPictureLibs" />
<ComponentRef Id="Devexpress.Locales.de" />
</Feature>
<Feature Id="DesktopShortcut" Title="Desktop Shortcut"> <!-- Managed GdPicture DLLs -->
<Condition Level="0">DISABLE_DESKTOP_ICON</Condition> <File Id="GdPicture.NET.14.WinForms" Name="GdPicture.NET.14.WinForms.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.WinForms.dll" />
<ComponentRef Id="ApplicationShortcut_Desktop"/> <File Id="GdPicture.NET.14.CAD" Name="GdPicture.NET.14.CAD.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.CAD.dll" />
</Feature> <File Id="GdPicture.NET.14.CAD.DWG" Name="GdPicture.NET.14.CAD.DWG.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.CAD.DWG.dll" />
<File Id="GdPicture.NET.14.Common" Name="GdPicture.NET.14.Common.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Common.dll" />
<File Id="GdPicture.NET.14.Document" Name="GdPicture.NET.14.Document.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Document.dll" />
<File Id="GdPicture.NET.14.Email" Name="GdPicture.NET.14.Email.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Email.dll" />
<File Id="GdPicture.NET.14.HTML" Name="GdPicture.NET.14.HTML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.HTML.dll" />
<File Id="GdPicture.NET.14.Imaging" Name="GdPicture.NET.14.Imaging.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.dll" />
<File Id="GdPicture.NET.14.Imaging.Formats" Name="GdPicture.NET.14.Imaging.Formats.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Formats.dll" />
<File Id="GdPicture.NET.14.Imaging.Formats.Conversion" Name="GdPicture.NET.14.Imaging.Formats.Conversion.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Formats.Conversion.dll" />
<File Id="GdPicture.NET.14.Imaging.Rendering" Name="GdPicture.NET.14.Imaging.Rendering.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Imaging.Rendering.dll" />
<File Id="GdPicture.NET.14.Markdown" Name="GdPicture.NET.14.Markdown.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.Markdown.dll" />
<File Id="GdPicture.NET.14.MSOfficeBinary" Name="GdPicture.NET.14.MSOfficeBinary.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.MSOfficeBinary.dll"/>
<File Id="GdPicture.NET.14.OpenDocument" Name="GdPicture.NET.14.OpenDocument.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenDocument.dll" />
<File Id="GdPicture.NET.14.OpenXML" Name="GdPicture.NET.14.OpenXML.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenXML.dll" />
<File Id="GdPicture.NET.14.OpenXML.Templating" Name="GdPicture.NET.14.OpenXML.Templating.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.OpenXML.Templating.dll" />
<File Id="GdPicture.NET.14.PDF" Name="GdPicture.NET.14.PDF.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.PDF.dll" />
<File Id="GdPicture.NET.14.RTF" Name="GdPicture.NET.14.RTF.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.RTF.dll" />
<File Id="GdPicture.NET.14.SVG" Name="GdPicture.NET.14.SVG.dll" Source="..\taskFLOW\bin\$(var.Configuration)\GdPicture.NET.14.SVG.dll" />
<Feature Id="StartmenuShortcut" Title="Startmenu Shortcut"> <!-- GdPicture Dependencies -->
<Condition Level="0">DISABLE_STARTMENU_ICON</Condition> <File Id="BouncyCastle.Cryptography" Name="BouncyCastle.Cryptography.dll" Source="..\taskFLOW\bin\$(var.Configuration)\BouncyCastle.Cryptography.dll"/>
<ComponentRef Id="ApplicationShortcut_StartMenu" /> <File Id="DocumentFormat.OpenXml" Name="DocumentFormat.OpenXml.dll" Source="..\taskFLOW\bin\$(var.Configuration)\DocumentFormat.OpenXml.dll" />
</Feature> <File Id="DocumentFormat.OpenXml.Framework" Name="DocumentFormat.OpenXml.Framework.dll" Source="..\taskFLOW\bin\$(var.Configuration)\DocumentFormat.OpenXml.Framework.dll" />
<File Id="Google.Protobuf" Name="Google.Protobuf.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Google.Protobuf.dll" />
<File Id="Microsoft.Bcl.AsyncInterfaces" Name="Microsoft.Bcl.AsyncInterfaces.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.AsyncInterfaces.dll" />
<File Id="Microsoft.Bcl.Cryptography" Name="Microsoft.Bcl.Cryptography.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.Cryptography.dll" />
<File Id="Microsoft.Bcl.HashCode" Name="Microsoft.Bcl.HashCode.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Bcl.HashCode.dll" />
<File Id="Microsoft.Identity.Client" Name="Microsoft.Identity.Client.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Identity.Client.dll" />
<File Id="Microsoft.IdentityModel.Abstractions" Name="Microsoft.IdentityModel.Abstractions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.IdentityModel.Abstractions.dll" />
<File Id="Microsoft.Win32.Primitives" Name="Microsoft.Win32.Primitives.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Win32.Primitives.dll" />
<File Id="Microsoft.Win32.Registry" Name="Microsoft.Win32.Registry.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Win32.Registry.dll" />
<File Id="Newtonsoft.Json.Bson" Name="Newtonsoft.Json.Bson.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Newtonsoft.Json.Bson.dll" />
<File Id="netstandard" Name="netstandard.dll" Source="..\taskFLOW\bin\$(var.Configuration)\netstandard.dll" />
<File Id="OpenMcdf" Name="OpenMcdf.dll" Source="..\taskFLOW\bin\$(var.Configuration)\OpenMcdf.dll" />
<File Id="protobufnet" Name="protobuf-net.dll" Source="..\taskFLOW\bin\$(var.Configuration)\protobuf-net.dll" />
<File Id="protobufnet.Core" Name="protobuf-net.Core.dll" Source="..\taskFLOW\bin\$(var.Configuration)\protobuf-net.Core.dll" />
<File Id="RtfPipe" Name="RtfPipe.dll" Source="..\taskFLOW\bin\$(var.Configuration)\RtfPipe.dll" />
<!-- Legt das Standard-Installationsverzeichnis fest--> <!-- System DLLs -->
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" /> <File Id="System.Buffers" Name="System.Buffers.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Buffers.dll" />
<Property Id="_BrowseProperty" Value="INSTALLDIR" /> <File Id="System.CodeDom" Name="System.CodeDom.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.CodeDom.dll" />
<File Id="System.Collections.Immutable" Name="System.Collections.Immutable.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Collections.Immutable.dll" />
<File Id="System.Data.Odbc" Name="System.Data.Odbc.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Data.Odbc.dll" />
<File Id="System.Formats.Asn1" Name="System.Formats.Asn1.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Formats.Asn1.dll" />
<File Id="System.IO.Packaging" Name="System.IO.Packaging.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.IO.Packaging.dll" />
<File Id="System.IO.Pipelines" Name="System.IO.Pipelines.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.IO.Pipelines.dll" />
<File Id="System.Memory2" Name="System.Memory.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Memory.dll" />
<File Id="System.Net.Http.Formatting" Name="System.Net.Http.Formatting.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Net.Http.Formatting.dll" />
<File Id="System.Numerics.Vectors" Name="System.Numerics.Vectors.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Numerics.Vectors.dll" />
<File Id="System.Runtime.CompilerServices.Unsafe" Name="System.Runtime.CompilerServices.Unsafe.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Runtime.CompilerServices.Unsafe.dll" />
<File Id="System.Runtime.InteropServices.RuntimeInformation" Name="System.Runtime.InteropServices.RuntimeInformation.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Runtime.InteropServices.RuntimeInformation.dll" />
<File Id="System.Security.Cryptography.Pkcs" Name="System.Security.Cryptography.Pkcs.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Security.Cryptography.Pkcs.dll" />
<File Id="System.Text.Encodings.Web" Name="System.Text.Encodings.Web.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Text.Encodings.Web.dll" />
<File Id="System.Threading.Channels" Name="System.Threading.Channels.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Threading.Channels.dll" />
<File Id="System.Threading.Tasks.Extensions" Name="System.Threading.Tasks.Extensions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.Threading.Tasks.Extensions.dll" />
<File Id="System.ValueTuple" Name="System.ValueTuple.dll" Source="..\taskFLOW\bin\$(var.Configuration)\System.ValueTuple.dll" />
<UI> <!-- NativeSDK DLLs -->
<!--<UIRef Id="WixUI_InstallDir" />--> <File Id="NativeSDK.Exceptions" Name="NativeSDK.Exceptions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Exceptions.dll" />
<UIRef Id="WixUI_FeatureTree"/> <File Id="NativeSDK.Settings" Name="NativeSDK.Settings.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Settings.dll" />
<UIRef Id="WixUI_ErrorProgressText" /> <File Id="NativeSDK.Settings.Edition" Name="NativeSDK.Settings.Edition.dll" Source="..\taskFLOW\bin\$(var.Configuration)\NativeSDK.Settings.Edition.dll" />
<Publish Dialog="WelcomeDlg" <!-- Microsoft.Extensions Dependencies -->
<File Id="Microsoft.Extensions.Logging.Abstractions" Name="Microsoft.Extensions.Logging.Abstractions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.Logging.Abstractions.dll" />
<File Id="Microsoft.Extensions.Logging" Name="Microsoft.Extensions.Logging.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.Logging.dll" />
<File Id="Microsoft.Extensions.DependencyInjection.Abstractions" Name="Microsoft.Extensions.DependencyInjection.Abstractions.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.DependencyInjection.Abstractions.dll" />
<File Id="Microsoft.Extensions.Options" Name="Microsoft.Extensions.Options.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.Options.dll" />
<File Id="Microsoft.Extensions.Primitives" Name="Microsoft.Extensions.Primitives.dll" Source="..\taskFLOW\bin\$(var.Configuration)\Microsoft.Extensions.Primitives.dll" />
</Component>
<Component Id="DevExpressLibs" Guid="CB40DAAE-348E-4BD3-B275-9A526EB8F191">
<File Id="DevExpress.Images.v25.2" Name="DevExpress.Images.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Images.v25.2.dll" KeyPath="yes"/>
<File Id="DevExpress.Drawing.v25.2" Name="DevExpress.Drawing.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Drawing.v25.2.dll"/>
<File Id="DevExpress.Data.v25.2" Name="DevExpress.Data.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Data.v25.2.dll"/>
<File Id="DevExpress.Xpf.Core.v25.2" Name="DevExpress.Xpf.Core.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Xpf.Core.v25.2.dll"/>
<File Id="DevExpress.Xpf.Docking.v25.2" Name="DevExpress.Xpf.Docking.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Xpf.Docking.v25.2.dll"/>
<File Id="DevExpress.Xpf.DocumentViewer.v25.2.Core" Name="DevExpress.Xpf.DocumentViewer.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Xpf.DocumentViewer.v25.2.Core.dll"/>
<File Id="DevExpress.Xpf.Grid.v25.2.Core" Name="DevExpress.Xpf.Grid.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Xpf.Grid.v25.2.Core.dll"/>
<File Id="DevExpress.Xpf.Grid.v25.2" Name="DevExpress.Xpf.Grid.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Xpf.Grid.v25.2.dll"/>
<File Id="DevExpress.Xpf.Layout.v25.2.Core" Name="DevExpress.Xpf.Layout.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Xpf.Layout.v25.2.Core.dll"/>
<File Id="DevExpress.Xpf.Ribbon.v25.2" Name="DevExpress.Xpf.Ribbon.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Xpf.Ribbon.v25.2.dll"/>
<File Id="DevExpress.XtraTreeMap.v25.2" Name="DevExpress.XtraTreeMap.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraTreeMap.v25.2.dll"/>
<File Id="DevExpress.XtraPivotGrid.v25.2" Name="DevExpress.XtraPivotGrid.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraPivotGrid.v25.2.dll"/>
<File Id="DevExpress.TreeMap.v25.2.Core" Name="DevExpress.TreeMap.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.TreeMap.v25.2.Core.dll"/>
<File Id="DevExpress.DataAccess.v25.2" Name="DevExpress.DataAccess.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.DataAccess.v25.2.dll"/>
<File Id="DevExpress.DataAccess.v25.2.UI" Name="DevExpress.DataAccess.v25.2.UI.dll" Source="$(var.DevExpressPath)DevExpress.DataAccess.v25.2.UI.dll"/>
<File Id="DevExpress.Data.Desktop.v25.2" Name="DevExpress.Data.Desktop.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Data.Desktop.v25.2.dll"/>
<File Id="DevExpress.DataVisualization.v25.2.Core" Name="DevExpress.DataVisualization.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.DataVisualization.v25.2.Core.dll"/>
<File Id="DevExpress.Dialogs.v25.2.Core" Name="DevExpress.Dialogs.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Dialogs.v25.2.Core.dll"/>
<File Id="DevExpress.Pdf.v25.2.Core" Name="DevExpress.Pdf.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Pdf.v25.2.Core.dll"/>
<File Id="DevExpress.Pdf.v25.2.Drawing" Name="DevExpress.Pdf.v25.2.Drawing.dll" Source="$(var.DevExpressPath)DevExpress.Pdf.v25.2.Drawing.dll"/>
<File Id="DevExpress.Charts.v25.2.Core" Name="DevExpress.Charts.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Charts.v25.2.Core.dll"/>
<File Id="DevExpress.Printing.v25.2.Core" Name="DevExpress.Printing.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Printing.v25.2.Core.dll"/>
<File Id="DevExpress.Utils.v25.2" Name="DevExpress.Utils.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Utils.v25.2.dll"/>
<File Id="DevExpress.Utils.v25.2.UI" Name="DevExpress.Utils.v25.2.UI.dll" Source="$(var.DevExpressPath)DevExpress.Utils.v25.2.UI.dll"/>
<File Id="DevExpress.XtraBars.v25.2" Name="DevExpress.XtraBars.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraBars.v25.2.dll"/>
<File Id="DevExpress.Mvvm.v25.2" Name="DevExpress.Mvvm.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Mvvm.v25.2.dll"/>
<File Id="DevExpress.XtraCharts.v25.2" Name="DevExpress.XtraCharts.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraCharts.v25.2.dll"/>
<File Id="DevExpress.XtraCharts.v25.2.Wizard" Name="DevExpress.XtraCharts.v25.2.Wizard.dll" Source="$(var.DevExpressPath)DevExpress.XtraCharts.v25.2.Wizard.dll"/>
<File Id="DevExpress.XtraCharts.v25.2.Extensions" Name="DevExpress.XtraCharts.v25.2.Extensions.dll" Source="$(var.DevExpressPath)DevExpress.XtraCharts.v25.2.Extensions.dll"/>
<File Id="DevExpress.XtraCharts.v25.2.UI" Name="DevExpress.XtraCharts.v25.2.UI.dll" Source="$(var.DevExpressPath)DevExpress.XtraCharts.v25.2.UI.dll"/>
<File Id="DevExpress.XtraDialogs.v25.2" Name="DevExpress.XtraDialogs.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraDialogs.v25.2.dll"/>
<File Id="DevExpress.XtraEditors.v25.2" Name="DevExpress.XtraEditors.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraEditors.v25.2.dll"/>
<File Id="DevExpress.XtraGrid.v25.2" Name="DevExpress.XtraGrid.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraGrid.v25.2.dll"/>
<File Id="DevExpress.XtraLayout.v25.2" Name="DevExpress.XtraLayout.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraLayout.v25.2.dll"/>
<File Id="DevExpress.XtraNavBar.v25.2" Name="DevExpress.XtraNavBar.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraNavBar.v25.2.dll"/>
<File Id="DevExpress.XtraPdfViewer.v25.2" Name="DevExpress.XtraPdfViewer.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraPdfViewer.v25.2.dll"/>
<File Id="DevExpress.XtraPrinting.v25.2" Name="DevExpress.XtraPrinting.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraPrinting.v25.2.dll"/>
<File Id="DevExpress.XtraTreeList.v25.2" Name="DevExpress.XtraTreeList.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraTreeList.v25.2.dll"/>
<File Id="DevExpress.CodeParser.v25.2" Name="DevExpress.CodeParser.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.CodeParser.v25.2.dll"/>
<File Id="DevExpress.Diagram.v25.2.Core" Name="DevExpress.Diagram.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Diagram.v25.2.Core.dll"/>
<File Id="DevExpress.Office.v25.2.Core" Name="DevExpress.Office.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Office.v25.2.Core.dll"/>
<File Id="DevExpress.PivotGrid.v25.2.Core" Name="DevExpress.PivotGrid.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.PivotGrid.v25.2.Core.dll"/>
<File Id="DevExpress.RichEdit.v25.2.Core" Name="DevExpress.RichEdit.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.RichEdit.v25.2.Core.dll"/>
<File Id="DevExpress.RichEdit.v25.2.Export" Name="DevExpress.RichEdit.v25.2.Export.dll" Source="$(var.DevExpressPath)DevExpress.RichEdit.v25.2.Export.dll"/>
<File Id="DevExpress.XtraRichEdit.v25.2" Name="DevExpress.XtraRichEdit.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraRichEdit.v25.2.dll"/>
<File Id="DevExpress.XtraSpreadsheet.v25.2" Name="DevExpress.XtraSpreadsheet.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraSpreadsheet.v25.2.dll"/>
<File Id="DevExpress.Spreadsheet.v25.2.Core" Name="DevExpress.Spreadsheet.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Spreadsheet.v25.2.Core.dll"/>
<File Id="DevExpress.Sparkline.v25.2.Core" Name="DevExpress.Sparkline.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.Sparkline.v25.2.Core.dll"/>
<File Id="DevExpress.Xpf.PdfViewer.v25.2" Name="DevExpress.Xpf.PdfViewer.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Xpf.PdfViewer.v25.2.dll"/>
<File Id="DevExpress.Xpo.v25.2" Name="DevExpress.Xpo.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.Xpo.v25.2.dll"/>
<File Id="DevExpress.XtraGauges.v25.2.Core" Name="DevExpress.XtraGauges.v25.2.Core.dll" Source="$(var.DevExpressPath)DevExpress.XtraGauges.v25.2.Core.dll"/>
<File Id="DevExpress.XtraReports.v25.2" Name="DevExpress.XtraReports.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraReports.v25.2.dll"/>
<File Id="DevExpress.XtraReports.v25.2.Extensions" Name="DevExpress.XtraReports.v25.2.Extensions.dll" Source="$(var.DevExpressPath)DevExpress.XtraReports.v25.2.Extensions.dll"/>
<File Id="DevExpress.XtraVerticalGrid.v25.2" Name="DevExpress.XtraVerticalGrid.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraVerticalGrid.v25.2.dll"/>
<File Id="DevExpress.XtraDiagram.v25.2" Name="DevExpress.XtraDiagram.v25.2.dll" Source="$(var.DevExpressPath)DevExpress.XtraDiagram.v25.2.dll"/>
</Component>
<Directory Id="resources.de" Name="de">
<Component Id="Devexpress.Locales.de" Guid="6be5ff05-af76-4249-862a-5b13e3c56c2a">
<File Id="DevExpress.Data.v25.2.resources" Name="DevExpress.Data.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Data.v25.2.resources.dll" />
<File Id="DevExpress.DataAccess.v25.2.resources" Name="DevExpress.DataAccess.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.DataAccess.v25.2.resources.dll" />
<File Id="DevExpress.DataAccess.v25.2.UI.resources" Name="DevExpress.DataAccess.v25.2.UI.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.DataAccess.v25.2.UI.resources.dll" />
<File Id="DevExpress.Dialogs.v25.2.Core.resources" Name="DevExpress.Dialogs.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Dialogs.v25.2.Core.resources.dll" />
<File Id="DevExpress.Pdf.v25.2.Core.resources" Name="DevExpress.Pdf.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Pdf.v25.2.Core.resources.dll" />
<File Id="DevExpress.Printing.v25.2.Core.resources" Name="DevExpress.Printing.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Printing.v25.2.Core.resources.dll" />
<File Id="DevExpress.Utils.v25.2.resources" Name="DevExpress.Utils.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Utils.v25.2.resources.dll" />
<File Id="DevExpress.Utils.v25.2.UI.resources" Name="DevExpress.Utils.v25.2.UI.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Utils.v25.2.UI.resources.dll" />
<File Id="DevExpress.XtraBars.v25.2.resources" Name="DevExpress.XtraBars.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraBars.v25.2.resources.dll" />
<File Id="DevExpress.XtraCharts.v25.2.resources" Name="DevExpress.XtraCharts.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraCharts.v25.2.resources.dll" />
<File Id="DevExpress.XtraCharts.v25.2.Wizard.resources" Name="DevExpress.XtraCharts.v25.2.Wizard.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraCharts.v25.2.Wizard.resources.dll" />
<File Id="DevExpress.XtraEditors.v25.2.resources" Name="DevExpress.XtraEditors.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraEditors.v25.2.resources.dll" />
<File Id="DevExpress.XtraGrid.v25.2.resources" Name="DevExpress.XtraGrid.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraGrid.v25.2.resources.dll" />
<File Id="DevExpress.XtraLayout.v25.2.resources" Name="DevExpress.XtraLayout.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraLayout.v25.2.resources.dll" />
<File Id="DevExpress.XtraNavBar.v25.2.resources" Name="DevExpress.XtraNavBar.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraNavBar.v25.2.resources.dll" />
<File Id="DevExpress.XtraPdfViewer.v25.2.resources" Name="DevExpress.XtraPdfViewer.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraPdfViewer.v25.2.resources.dll" />
<File Id="DevExpress.XtraPrinting.v25.2.resources" Name="DevExpress.XtraPrinting.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraPrinting.v25.2.resources.dll" />
<File Id="DevExpress.XtraTreeList.v25.2.resources" Name="DevExpress.XtraTreeList.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraTreeList.v25.2.resources.dll" />
<File Id="DevExpress.Diagram.v25.2.Core.resources" Name="DevExpress.Diagram.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Diagram.v25.2.Core.resources.dll" />
<File Id="DevExpress.Office.v25.2.Core.resources" Name="DevExpress.Office.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Office.v25.2.Core.resources.dll" />
<File Id="DevExpress.PivotGrid.v25.2.Core.resources" Name="DevExpress.PivotGrid.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.PivotGrid.v25.2.Core.resources.dll" />
<File Id="DevExpress.RichEdit.v25.2.Core.resources" Name="DevExpress.RichEdit.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.RichEdit.v25.2.Core.resources.dll" />
<File Id="DevExpress.XtraRichEdit.v25.2.resources" Name="DevExpress.XtraRichEdit.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraRichEdit.v25.2.resources.dll" />
<File Id="DevExpress.XtraSpreadsheet.v25.2.resources" Name="DevExpress.XtraSpreadsheet.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraSpreadsheet.v25.2.resources.dll" />
<File Id="DevExpress.Spreadsheet.v25.2.Core.resources" Name="DevExpress.Spreadsheet.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Spreadsheet.v25.2.Core.resources.dll" />
<File Id="DevExpress.Sparkline.v25.2.Core.resources" Name="DevExpress.Sparkline.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Sparkline.v25.2.Core.resources.dll" />
<File Id="DevExpress.Xpf.PdfViewer.v25.2.resources" Name="DevExpress.Xpf.PdfViewer.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Xpf.PdfViewer.v25.2.resources.dll" />
<File Id="DevExpress.Xpo.v25.2.resources" Name="DevExpress.Xpo.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.Xpo.v25.2.resources.dll" />
<File Id="DevExpress.XtraGauges.v25.2.Core.resources" Name="DevExpress.XtraGauges.v25.2.Core.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraGauges.v25.2.Core.resources.dll" />
<File Id="DevExpress.XtraReports.v25.2.resources" Name="DevExpress.XtraReports.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraReports.v25.2.resources.dll" />
<File Id="DevExpress.XtraReports.v25.2.Extensions.resources" Name="DevExpress.XtraReports.v25.2.Extensions.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraReports.v25.2.Extensions.resources.dll" />
<File Id="DevExpress.XtraVerticalGrid.v25.2.resources" Name="DevExpress.XtraVerticalGrid.v25.2.resources.dll" Source="$(var.DevExpressLocalesPath)de\DevExpress.XtraVerticalGrid.v25.2.resources.dll" />
</Component>
</Directory>
<Directory Id="resources.en" Name="en">
<Component Id="TaskFlow.Locales.en" Guid="A1B2C3D4-E5F6-7890-ABCD-EF1234567890">
<File Id="TaskFlow.resources.en"
Name="taskFLOW.resources.dll"
Source="..\taskFLOW\bin\$(var.Configuration)\en\taskFLOW.resources.dll"
KeyPath="yes" />
</Component>
</Directory>
<Directory Id="resources.fr" Name="fr">
<Component Id="TaskFlow.Locales.fr" Guid="B2C3D4E5-F6A7-8901-BCDE-F01234567891">
<File Id="TaskFlow.resources.fr"
Name="taskFLOW.resources.dll"
Source="..\taskFLOW\bin\$(var.Configuration)\fr\taskFLOW.resources.dll"
KeyPath="yes" />
</Component>
</Directory>
<Component Id="RegistryKeys" Guid="4503BF18-22F2-4DBF-B281-06DE039F52C8">
<RegistryKey Root="HKLM" Key="Software">
<RegistryKey Key="[Manufacturer]">
<RegistryKey Key="[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes" Id="REGKEYINSTALLDIR">
<RegistryValue Type="string" Value="[INSTALLDIR]" Name="Path" />
</RegistryKey>
</RegistryKey>
</RegistryKey>
<util:RemoveFolderEx Id="RemoveApplicationFolder" On="uninstall" Property="INSTALLDIR" />
</Component>
</DirectoryRef>
<Feature Id="MainApplication" Title="Main Application" Level="1">
<ComponentRef Id="MainApplicationExe" />
<ComponentRef Id="RegistryKeys" />
<ComponentRef Id="WindreamLibs" />
<ComponentRef Id="FormsUtilsLibs"/>
<ComponentRef Id="DDLibs" />
<ComponentRef Id="RuntimeLibs" />
<ComponentRef Id="DevExpressLibs" />
<ComponentRef Id="GDPictureLibs" />
<ComponentRef Id="Devexpress.Locales.de" />
<ComponentRef Id="TaskFlow.Locales.en" />
<ComponentRef Id="TaskFlow.Locales.fr" />
<ComponentRef Id="ProtocolHandlerMachine" />
</Feature>
<Feature Id="DesktopShortcut" Title="Desktop Shortcut">
<Condition Level="0">DISABLE_DESKTOP_ICON</Condition>
<ComponentRef Id="ApplicationShortcut_Desktop"/>
</Feature>
<Feature Id="StartmenuShortcut" Title="Startmenu Shortcut">
<Condition Level="0">DISABLE_STARTMENU_ICON</Condition>
<ComponentRef Id="ApplicationShortcut_StartMenu" />
</Feature>
<!-- #######################-->
<!-- Beginn Aufruf über Link-->
<!-- Per-user ProtocolHandler (HKCU) -->
<Component Id="ProtocolHandlerMachine" Guid="F2817163-DAAA-4EB2-A8D9-A9EF00E910C0" Directory="INSTALLDIR">
<!-- Basis-Schlüssel -->
<RegistryKey Root="HKLM" Key="Software\Classes\DDtaskFLOW" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Type="string" Value="URL:ddtaskflow Protocol" KeyPath="yes"/>
<RegistryValue Type="string" Name="URL Protocol" Value="" />
</RegistryKey>
<!-- Icon -->
<RegistryKey Root="HKLM" Key="Software\Classes\DDtaskFLOW\DefaultIcon" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Type="string" Value="[INSTALLDIR]taskFLOW.exe,1" />
</RegistryKey>
<!-- Kommando -->
<RegistryKey Root="HKLM" Key="Software\Classes\DDtaskFLOW\shell\open\command" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes">
<RegistryValue Type="string" Value="&quot;[INSTALLDIR]taskFLOW.exe&quot; &quot;%1&quot;" />
</RegistryKey>
</Component>
<!-- Ende Aufruf über Link-->
<!-- #######################-->
<!-- Legt das Standard-Installationsverzeichnis fest-->
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<Property Id="_BrowseProperty" Value="INSTALLDIR" />
<UI>
<!--<UIRef Id="WixUI_InstallDir" />-->
<UIRef Id="WixUI_FeatureTree"/>
<UIRef Id="WixUI_ErrorProgressText" />
<Publish Dialog="WelcomeDlg"
Control="Next" Control="Next"
Event="NewDialog" Event="NewDialog"
Value="InstallDirDlg" Value="InstallDirDlg"
Order="2">1</Publish> Order="2">1</Publish>
<Publish Dialog="InstallDirDlg" <Publish Dialog="InstallDirDlg"
Control="Back" Control="Back"
Event="NewDialog" Event="NewDialog"
Value="WelcomeDlg" Value="WelcomeDlg"
Order="2">1</Publish> Order="2">1</Publish>
<Publish Dialog="InstallDirDlg" <Publish Dialog="InstallDirDlg"
Control="Next" Control="Next"
Event="NewDialog" Event="NewDialog"
Value="FeaturesDlg" Value="FeaturesDlg"
Order="2">1</Publish> Order="2">1</Publish>
<Publish Dialog="InstallDirDlg" <Publish Dialog="InstallDirDlg"
Control="ChangeFolder" Control="ChangeFolder"
Event="NewDialog" Event="NewDialog"
Value="BrowseDlg" Value="BrowseDlg"
Order="2">1</Publish> Order="2">1</Publish>
<Publish Dialog="FeaturesDlg" <Publish Dialog="FeaturesDlg"
Control="Back" Control="Back"
Event="NewDialog" Event="NewDialog"
Value="InstallDirDlg" Value="InstallDirDlg"
Order="2">1</Publish> Order="2">1</Publish>
</UI> </UI>
</Product> </Product>
</Wix> </Wix>

View File

@@ -7,9 +7,13 @@ Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "SetupVS19", "SetupVS19\Setu
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "taskFLOW", "TaskFlow\taskFLOW.vbproj", "{6ACA1432-09A2-47EF-A704-C0AA73905756}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "taskFLOW", "TaskFlow\taskFLOW.vbproj", "{6ACA1432-09A2-47EF-A704-C0AA73905756}"
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Windream", "..\..\..\2_DLL Projekte\DDModules\Windream\Windream.vbproj", "{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "SnapPanel", "..\..\..\2_DLL Projekte\DDMonorepo\Controls.SnapPanel\SnapPanel.vbproj", "{3E19C413-3197-4635-944E-558FC04C3475}"
EndProject EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "LookupControl", "..\..\..\2_DLL Projekte\DDMonorepo\Controls.LookupGrid\LookupControl.vbproj", "{3DCD6D1A-C830-4241-B7E4-27430E7EA483}" Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EDMI.API", "..\..\..\2_DLL Projekte\DDModules\EDMIAPI\EDMI.API.vbproj", "{25017513-0D97-49D3-98D7-BA76D9B251B0}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "EDMIService", "..\..\..\2_DLL Projekte\DDMonorepo\Service.EDMIService\EDMIService.vbproj", "{A8C3F298-76AB-4359-AB3C-986E313B4336}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "Database", "..\..\..\2_DLL Projekte\DDModules\Database\Database.vbproj", "{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -65,46 +69,86 @@ Global
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|Any CPU.Build.0 = 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.ActiveCfg = Debug|x86
{6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|x86.Build.0 = Debug|x86 {6ACA1432-09A2-47EF-A704-C0AA73905756}.SingleImage|x86.Build.0 = Debug|x86
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.CD_ROM|Any CPU.ActiveCfg = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.CD_ROM|Any CPU.Build.0 = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.CD_ROM|x86.ActiveCfg = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.CD_ROM|x86.ActiveCfg = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.CD_ROM|x86.Build.0 = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.CD_ROM|x86.Build.0 = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.Debug|Any CPU.Build.0 = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.Debug|x86.ActiveCfg = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.Debug|x86.ActiveCfg = Debug|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.Debug|x86.Build.0 = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.Debug|x86.Build.0 = Debug|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.DVD-5|Any CPU.ActiveCfg = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.DVD-5|Any CPU.Build.0 = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.DVD-5|Any CPU.Build.0 = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.DVD-5|x86.ActiveCfg = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.DVD-5|x86.ActiveCfg = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.DVD-5|x86.Build.0 = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.DVD-5|x86.Build.0 = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.Release|Any CPU.ActiveCfg = Release|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.Release|Any CPU.Build.0 = Release|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.Release|Any CPU.Build.0 = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.Release|x86.ActiveCfg = Release|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.Release|x86.ActiveCfg = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.Release|x86.Build.0 = Release|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.Release|x86.Build.0 = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.SingleImage|Any CPU.ActiveCfg = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.SingleImage|Any CPU.Build.0 = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.SingleImage|Any CPU.Build.0 = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.SingleImage|x86.ActiveCfg = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.SingleImage|x86.ActiveCfg = Release|Any CPU
{4C86DF8F-A280-40D4-85B0-10B1BF66C15C}.SingleImage|x86.Build.0 = Debug|Any CPU {3E19C413-3197-4635-944E-558FC04C3475}.SingleImage|x86.Build.0 = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.CD_ROM|Any CPU.ActiveCfg = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.CD_ROM|Any CPU.Build.0 = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.CD_ROM|x86.ActiveCfg = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.CD_ROM|x86.ActiveCfg = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.CD_ROM|x86.Build.0 = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.CD_ROM|x86.Build.0 = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.Debug|Any CPU.Build.0 = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.Debug|x86.ActiveCfg = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.Debug|x86.ActiveCfg = Debug|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.Debug|x86.Build.0 = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.Debug|x86.Build.0 = Debug|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.DVD-5|Any CPU.ActiveCfg = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.DVD-5|Any CPU.ActiveCfg = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.DVD-5|Any CPU.Build.0 = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.DVD-5|Any CPU.Build.0 = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.DVD-5|x86.ActiveCfg = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.DVD-5|x86.ActiveCfg = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.DVD-5|x86.Build.0 = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.DVD-5|x86.Build.0 = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.Release|Any CPU.ActiveCfg = Release|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.Release|Any CPU.Build.0 = Release|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.Release|Any CPU.Build.0 = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.Release|x86.ActiveCfg = Release|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.Release|x86.ActiveCfg = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.Release|x86.Build.0 = Release|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.Release|x86.Build.0 = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.SingleImage|Any CPU.ActiveCfg = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.SingleImage|Any CPU.Build.0 = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.SingleImage|Any CPU.Build.0 = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.SingleImage|x86.ActiveCfg = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.SingleImage|x86.ActiveCfg = Release|Any CPU
{3DCD6D1A-C830-4241-B7E4-27430E7EA483}.SingleImage|x86.Build.0 = Debug|Any CPU {25017513-0D97-49D3-98D7-BA76D9B251B0}.SingleImage|x86.Build.0 = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.CD_ROM|x86.ActiveCfg = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.CD_ROM|x86.Build.0 = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.Debug|x86.ActiveCfg = Debug|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.Debug|x86.Build.0 = Debug|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.DVD-5|Any CPU.ActiveCfg = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.DVD-5|Any CPU.Build.0 = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.DVD-5|x86.ActiveCfg = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.DVD-5|x86.Build.0 = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.Release|Any CPU.Build.0 = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.Release|x86.ActiveCfg = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.Release|x86.Build.0 = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.SingleImage|Any CPU.Build.0 = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.SingleImage|x86.ActiveCfg = Release|Any CPU
{A8C3F298-76AB-4359-AB3C-986E313B4336}.SingleImage|x86.Build.0 = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.CD_ROM|Any CPU.ActiveCfg = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.CD_ROM|Any CPU.Build.0 = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.CD_ROM|x86.ActiveCfg = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.CD_ROM|x86.Build.0 = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.Debug|x86.ActiveCfg = Debug|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.Debug|x86.Build.0 = Debug|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.DVD-5|Any CPU.ActiveCfg = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.DVD-5|Any CPU.Build.0 = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.DVD-5|x86.ActiveCfg = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.DVD-5|x86.Build.0 = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.Release|Any CPU.Build.0 = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.Release|x86.ActiveCfg = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.Release|x86.Build.0 = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.SingleImage|Any CPU.ActiveCfg = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.SingleImage|Any CPU.Build.0 = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.SingleImage|x86.ActiveCfg = Release|Any CPU
{EAF0EA75-5FA7-485D-89C7-B2D843B03A96}.SingleImage|x86.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View File

@@ -2,17 +2,19 @@
<configuration> <configuration>
<configSections> <configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System"> <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="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" /> <section name="DevExpress.LookAndFeel.Design.AppSettings" type="System.Configuration.ClientSettingsSection" requirePermission="false" />
</sectionGroup> </sectionGroup>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<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>
<!-- 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" /> <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>
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
</configSections> </configSections>
<applicationSettings> <applicationSettings>
<DD_ProcessManager.My.MySettings> <taskFLOW.My.MySettings>
<setting name="UseAppConfigConString" serializeAs="String"> <setting name="UseAppConfigConString" serializeAs="String">
<value>False</value> <value>False</value>
</setting> </setting>
@@ -22,7 +24,7 @@
<setting name="GDPICTURE_VERSION" serializeAs="String"> <setting name="GDPICTURE_VERSION" serializeAs="String">
<value>11.2024</value> <value>11.2024</value>
</setting> </setting>
</DD_ProcessManager.My.MySettings> </taskFLOW.My.MySettings>
<DevExpress.LookAndFeel.Design.AppSettings> <DevExpress.LookAndFeel.Design.AppSettings>
<setting name="DefaultAppSkin" serializeAs="String"> <setting name="DefaultAppSkin" serializeAs="String">
<value>Skin/Office 2019 White</value> <value>Skin/Office 2019 White</value>
@@ -101,13 +103,140 @@
</DevExpress.LookAndFeel.Design.AppSettings> </DevExpress.LookAndFeel.Design.AppSettings>
</applicationSettings> </applicationSettings>
<connectionStrings> <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;Encrypt=False" providerName="System.Data.SqlClient" /> <add name="taskFLOW.My.MySettings.ConnectionString" connectionString="Data Source=SDD-VHP04-SQL19\DD_TESTING01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=123456789dD!;Encrypt=False;TrustServerCertificate=True" providerName="System.Data.SqlClient" />
</connectionStrings> </connectionStrings>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup> </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.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.3.0" newVersion="6.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</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-10.0.0.13" newVersion="10.0.0.13" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Packaging" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.12" newVersion="10.0.0.12" />
</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.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.4.0" newVersion="4.2.4.0" />
</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-10.0.0.12" newVersion="10.0.0.12" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.13" newVersion="10.0.0.13" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Formats.Asn1" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.13" newVersion="10.0.0.13" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.5" newVersion="10.0.0.5" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.9" newVersion="10.0.0.9" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.13" newVersion="10.0.0.13" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.9" newVersion="10.0.0.9" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="OpenMcdf" publicKeyToken="fdbb1629d7c00800" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.0.0" newVersion="3.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Identity.Client" publicKeyToken="0a613f4dd989e8ae" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.91.1.0" newVersion="4.91.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.13" newVersion="10.0.0.13" />
</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> <userSettings>
<DD_ProcessManager.My.MySettings> <taskFLOW.My.MySettings>
<setting name="IntervallReminder" serializeAs="String"> <setting name="IntervallReminder" serializeAs="String">
<value>5</value> <value>5</value>
</setting> </setting>
@@ -133,7 +262,7 @@
<value>0, 0</value> <value>0, 0</value>
</setting> </setting>
<setting name="frmValSearchSplitterDistance" serializeAs="String"> <setting name="frmValSearchSplitterDistance" serializeAs="String">
<value>563</value> <value>346</value>
</setting> </setting>
<setting name="frmMainWindowState" serializeAs="String"> <setting name="frmMainWindowState" serializeAs="String">
<value>Normal</value> <value>Normal</value>
@@ -147,77 +276,12 @@
<setting name="frmValidatorWindowState" serializeAs="String"> <setting name="frmValidatorWindowState" serializeAs="String">
<value>Normal</value> <value>Normal</value>
</setting> </setting>
</DD_ProcessManager.My.MySettings> </taskFLOW.My.MySettings>
</userSettings> </userSettings>
<runtime> <system.data>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <DbProviderFactories>
<dependentAssembly> <remove invariant="Oracle.ManagedDataAccess.Client" />
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" /> <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" /> </DbProviderFactories>
</dependentAssembly> </system.data>
<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.1.0" newVersion="14.3.1.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>
</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>
</configuration> </configuration>

View File

@@ -1,40 +0,0 @@
Imports DigitalData.Modules.Database
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.ZooFlow
Imports Microsoft.VisualBasic.ApplicationServices
Namespace My
' Für MyApplication sind folgende Ereignisse verfügbar:
' Startup: Wird beim Starten der Anwendung noch vor dem Erstellen des Startformulars ausgelöst.
' Shutdown: Wird nach dem Schließen aller Anwendungsformulare ausgelöst. Dieses Ereignis wird nicht ausgelöst, wenn die Anwendung mit einem Fehler beendet wird.
' UnhandledException: Wird bei einem Ausnahmefehler ausgelöst.
' StartupNextInstance: Wird beim Starten einer Einzelinstanzanwendung ausgelöst, wenn die Anwendung bereits aktiv ist.
' NetworkAvailabilityChanged: Wird beim Herstellen oder Trennen der Netzwerkverbindung ausgelöst.
Partial Friend Class MyApplication
Private Sub MyApplication_UnhandledException(sender As Object, e As UnhandledExceptionEventArgs) Handles Me.UnhandledException
Dim oMessage = "Application encountered an unhandled error!" & vbNewLine & vbNewLine &
"The errormessage was:" & vbNewLine & e.Exception.Message & vbNewLine &
"The stacktrace was:" & vbNewLine & e.Exception.StackTrace
LOGGER.Error(e.Exception)
Try
If DEBUG = True Then
Dim oLogMessage = LOGCONFIG.Logs.Last()
Dim oLogSplit As String() = oLogMessage.Split("|")
Dim oDBMessage = PrepareLogMessage(oLogMessage) & $" [Machinename: {System.Environment.MachineName}]"
Dim oSQL = $"INSERT INTO [dbo].[TBPM_LOG_DEBUG] ([USERID], [LOGMSG], [ADDED_WHEN], DATE_STR) VALUES({USER_ID},'{oDBMessage}',GETDATE(),'{Now}')"
DatabaseFallback.ExecuteNonQueryECM(oSQL)
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
MsgBox(oMessage, MsgBoxStyle.Critical, "Flow Task")
End Sub
End Class
End Namespace

View File

@@ -3,6 +3,7 @@ Imports System.Data.OracleClient
Imports System.IO Imports System.IO
Imports WINDREAMLib Imports WINDREAMLib
Imports DevExpress.Utils.CommonDialogs Imports DevExpress.Utils.CommonDialogs
Imports System.Runtime.InteropServices
Public Class ClassAllgemeineFunktionen Public Class ClassAllgemeineFunktionen
Public Shared Function GUI_LANGUAGE_INFO(pTITLE As String) Public Shared Function GUI_LANGUAGE_INFO(pTITLE As String)
@@ -43,22 +44,50 @@ Public Class ClassAllgemeineFunktionen
End Try End Try
End Function End Function
Public Shared Function GUI_LANGUAGE_MSGBOX(pTITLE As String) Public Shared Sub ApplyGridView_Col_Formatting(ByVal pGridView As DevExpress.XtraGrid.Views.Grid.GridView)
Try Try
Dim oFilteredDatatable As DataTable = BASEDATA_DT_GUI_LANGUAGE_PHRASES.Clone() LOGGER.Debug("Applying column formatting from TBDD_COLUMNS_FORMAT for GridView [{0}]", pGridView.Name)
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 ' Dictionary für O(1)-Lookup aufbauen statt verschachtelter Schleifen
Dim formatMap As New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
For Each oRow As DataRow In BASEDATA_TBDD_COLUMNS_FORMAT.Rows
Dim colName = oRow("COLUMN_TITLE").ToString()
If Not formatMap.ContainsKey(colName) Then
formatMap(colName) = oRow("TYPE2FORMAT").ToString()
End If
Next
For Each oColumn As DevExpress.XtraGrid.Columns.GridColumn In pGridView.Columns
Dim oSollFormatType As String = Nothing
If Not formatMap.TryGetValue(oColumn.FieldName, oSollFormatType) Then Continue For
LOGGER.Debug("Found formatting for column [{0}]: TYPE2FORMAT=[{1}]", oColumn.FieldName, oSollFormatType)
If oSollFormatType = "DateTime" Then
If oColumn.ColumnType <> GetType(DateTime) Then
LOGGER.Debug("Column [{0}] is not of type DateTime. Setting DisplayFormat.FormatType to DateTime.", oColumn.FieldName)
oColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
ElseIf oColumn.DisplayFormat.FormatString <> "dd.MM.yyyy HH:mm:ss" Then
oColumn.DisplayFormat.FormatString = "dd.MM.yyyy HH:mm:ss"
End If
ElseIf oSollFormatType = "Date" Then
If oColumn.ColumnType <> GetType(DateTime) Then
LOGGER.Debug("Column [{0}] is not of type DateTime. Setting DisplayFormat.FormatType to DateTime (Date only).", oColumn.FieldName)
oColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.DateTime
ElseIf oColumn.DisplayFormat.FormatString <> "dd.MM.yyyy" Then
oColumn.DisplayFormat.FormatString = "dd.MM.yyyy"
End If
ElseIf oSollFormatType = "Numeric" Then
If oColumn.ColumnType <> GetType(Int32) Then
oColumn.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric
End If
End If
Next
Catch ex As Exception
LOGGER.Warn("⚠️ Fehler beim Anwenden der Formatierung aus TBDD_COLUMNS_FORMAT: " & ex.Message)
End Try
End Sub
Public Shared Function LoginOut(LoginorOut As String) As Boolean Public Shared Function LoginOut(LoginorOut As String) As Boolean
Try Try
If USER_EXISTS = False Then If USER_EXISTS = False Then
@@ -92,82 +121,8 @@ Public Class ClassAllgemeineFunktionen
End Try End Try
End Function End Function
Public Function ExecuteonMSSQL(ByVal sqlcommand As String, ConString As String)
Try
' die nötigen Variablen definieren
Dim Connection As SqlConnection
Dim Command As SqlCommand = Nothing
Dim DataAdapter As SqlDataAdapter = Nothing
' ConnectionString aufbauen (aus Settings auslesen)
Connection = New SqlConnection(ConString)
' Verbindung zur Datenbank aufbauen
Try
Connection.Open()
Catch ex As Exception
LOGGER.Error(ex)
' DB-Connection schliessen
Me.CloseMssqlDb(Connection)
LOGGER.Debug("ExecuteonMSSQL.Connection definieren - Error: " & ex.Message, True)
Return "ExecuteonMSSQL.Connection definieren - Error: " & ex.Message
End Try
' SQL-Abfrage definieren
Try
Command = New SqlCommand(sqlcommand, Connection)
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Debug("ExecuteonMSSQL.sqlcommand definieren - Error: " & ex.Message, True)
' DB-Connection schliessen
Me.CloseMssqlDb(Connection)
Return "ExecuteonMSSQL.sqlcommand definieren - Error: " & ex.Message
End Try
' *** Ausführen des Command ***
If Command IsNot Nothing Then
Try
Command.ExecuteNonQuery()
' DB-Connection schliessen
Me.CloseMssqlDb(Connection)
Return ""
Catch ex As Exception
LOGGER.Error(ex)
'bei einem Fehler einen Eintrag in der Logdatei erzeugen
LOGGER.Info("ExecuteonMSSQL.Execute Command - Error: " & ex.Message, True)
LOGGER.Info("Command-Befehl: " & Command.CommandText, True)
' DB-Connection schliessen
Me.CloseMssqlDb(Connection)
Return "ExecuteonMSSQL.Execute Command - Error: " & ex.Message
End Try
Else
' kann eintreten, wenn entweder die SQL-Anweisung falsch ist oder wenn die DataConnection nicht richtig aufgebaut werden konnte
' Eintrag in Logdatei machen
LOGGER.Info("ExecuteonMSSQL.SQL-Command ist ungültig. Command-Objekt konnte nicht erstellt werden")
Return "ExecuteonMSSQL.SQL-Command ist ungültig. Command-Objekt konnte nicht erstellt werden"
End If
Catch ex As Exception
LOGGER.Error(ex)
' an dieser Stelle sollte jeder unvorhergesehene Fehler der Funktion abgefangen werden
LOGGER.Info("ExecuteonMSSQL.Ein unbekannter Fehler in ExecuteonMSSQL - Error: " & ex.Message, True)
Return "ExecuteonMSSQL.Ein unbekannter Fehler in ExecuteonMSSQL - Error: " & ex.Message
End Try
End Function
Private Sub CloseMssqlDb(ByRef Connection As SqlConnection)
' wenn eine Datenbank-Connection aufgebaut ist
If Connection IsNot Nothing Then
' diese schliessen
Connection.Close()
Connection = Nothing
End If
End Sub
Public Function Move2Folder(ByVal vMove_File As String, ByVal vZiel_Pfad As String, Profile_ID As Integer, clsWD As ClassWindream_allgemein) Public Function Move2Folder(ByVal vMove_File As String, ByVal vZiel_Pfad As String, Profile_ID As Integer, clsWD As ClassWindream_allgemein)
Try Try
@@ -366,4 +321,55 @@ Public Class ClassAllgemeineFunktionen
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error saving log file") MsgBox(ex.Message, MsgBoxStyle.Critical, "Error saving log file")
End Try End Try
End Sub 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 End Class

View File

@@ -1,38 +0,0 @@
Imports PdfSharp.Pdf
Imports PdfSharp.Pdf.Annotations
Imports PdfSharp.Pdf.IO
Imports PdfSharp.Drawing
Public Class ClassAnnotation
Public Shared Function Annotate_PDF(title As String, content As String, page As Integer, fromGui As Boolean, Optional ycorrect As Integer = 0, Optional sizecorrect As Integer = 0)
If CURRENT_DOC_PATH.Length > 0 Then
Try
Dim doc As PdfDocument = PdfReader.Open(CURRENT_DOC_PATH, PdfDocumentOpenMode.Modify)
Dim firstPage As PdfPage = doc.Pages(page)
Dim gfx As XGraphics = XGraphics.FromPdfPage(firstPage)
Dim rect As XRect = gfx.Transformer.WorldToDefaultPage(New XRect(New XPoint(30, 60 + ycorrect), New XSize(60 + sizecorrect, 40 + sizecorrect)))
Dim annot As PdfTextAnnotation = New PdfTextAnnotation
annot.Title = title
'annot.Subject = txtsubject.Text
annot.Contents = content
annot.Rectangle = New PdfRectangle(rect)
firstPage.Annotations.Add(annot)
doc.Save(CURRENT_DOC_PATH)
Return True
Catch ex As Exception
If fromGui = True Then
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error in Annotate pdf:")
End If
LOGGER.Error(ex)
LOGGER.Info("Unexpected error in Annotate pdf: " & ex.Message, False)
Return False
End Try
End If
End Function
End Class

View File

@@ -0,0 +1,237 @@
Public Class ClassCockpit
Private _treeNodeCounts As New Dictionary(Of Integer, Integer)
Public Sub CreateCockpit(pDTNodes As DataTable, myTreeView As DevExpress.XtraTreeList.TreeList, pAdmin As Boolean)
Try
LOGGER.Debug("=== TreeView Data Analysis ===")
LOGGER.Debug($"Total rows: {pDTNodes.Rows.Count}")
' ===== SAFETY CHECKS / NORMALISIERUNGEN =====
If pDTNodes Is Nothing OrElse pDTNodes.Rows.Count = 0 Then
LOGGER.Warn("CreateCockpit: pDTNodes is Nothing or empty - nothing to bind")
Exit Sub
End If
' Prüfen ob Primärschlüssel-Spalte existiert
If Not pDTNodes.Columns.Contains("PK_CFG_COCKPIT_DEFINITION_ID") Then
LOGGER.Error("CreateCockpit: Required column 'PK_CFG_COCKPIT_DEFINITION_ID' is missing - aborting cockpit creation")
Exit Sub
End If
' Entferne Zeilen mit NULL/ungültigem PK (können beim Binding zu Duplikat-Keys führen)
Dim rowsWithNullPk As New List(Of DataRow)
For Each r As DataRow In pDTNodes.Rows
If IsDBNull(r("PK_CFG_COCKPIT_DEFINITION_ID")) Then
rowsWithNullPk.Add(r)
End If
Next
If rowsWithNullPk.Count > 0 Then
LOGGER.Warn($"CreateCockpit: Found {rowsWithNullPk.Count} row(s) with NULL PK - removing them to avoid TreeList key errors")
For Each r As DataRow In rowsWithNullPk
r.Delete()
Next
pDTNodes.AcceptChanges()
End If
' ===== NUR AKTIVE KNOTEN BEHALTEN =====
If pDTNodes.Columns.Contains("ACTIVE") And pAdmin = False Then
Dim oInactiveRows As DataRow() = pDTNodes.Select("ACTIVE = 0 OR ACTIVE IS NULL")
If oInactiveRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: Removing [{oInactiveRows.Length}] inactive node(s) (ACTIVE=0 or NULL)")
For Each oRow As DataRow In oInactiveRows
oRow.Delete()
Next
pDTNodes.AcceptChanges()
End If
Else
LOGGER.Warn("Load_Treeview: ACTIVE column not found in FNTF_GET_COCKPIT_DEFINITION result")
End If
' ===== MONITOR-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If MONITORING_ACTIVE = False AndAlso pAdmin = False AndAlso pDTNodes.Columns.Contains("TYPE_ID") Then
Dim oMonitorRows As DataRow() = pDTNodes.Select("TYPE_ID = 2")
If oMonitorRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: MONITORING_ACTIVE=False - removing [{oMonitorRows.Length}] monitor node(s) from TreeList datasource")
For Each oRow As DataRow In oMonitorRows
oRow.Delete()
Next
pDTNodes.AcceptChanges()
End If
End If
' ===== CHART-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If SHOW_CHARTS = False AndAlso pAdmin = False AndAlso pDTNodes.Columns.Contains("TYPE_ID") Then
Dim oChartRows As DataRow() = pDTNodes.Select("TYPE_ID = 3")
If oChartRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: SHOW_CHARTS=False - removing [{oChartRows.Length}] chart node(s) from TreeList datasource")
For Each oRow As DataRow In oChartRows
oRow.Delete()
Next
pDTNodes.AcceptChanges()
End If
End If
' ===== NULL-PARENT_IDS NORMALISIEREN (NULL -> 0) =====
If pDTNodes.Columns.Contains("PARENT_ID") Then
For Each r As DataRow In pDTNodes.Rows
If IsDBNull(r("PARENT_ID")) Then
r("PARENT_ID") = 0
End If
Next
Else
' Falls PARENT_ID fehlt, füge Spalte hinzu und setze 0
LOGGER.Warn("CreateCockpit: 'PARENT_ID' column missing - adding and setting to 0")
pDTNodes.Columns.Add("PARENT_ID", GetType(Integer))
For Each r As DataRow In pDTNodes.Rows
r("PARENT_ID") = 0
Next
End If
pDTNodes.AcceptChanges()
' ===== DUPLIKATE PKS ERMITTELN UND ENTFERNEN =====
Dim dupGroups = pDTNodes.AsEnumerable().
GroupBy(Function(r) Convert.ToInt32(r("PK_CFG_COCKPIT_DEFINITION_ID"))).
Where(Function(g) g.Count() > 1).ToList()
If dupGroups.Count > 0 Then
For Each g In dupGroups
LOGGER.Warn($"CreateCockpit: Duplicate PK detected: {g.Key}. Keeping first occurrence, removing {g.Count() - 1} duplicate row(s).")
Dim firstSeen As Boolean = False
For Each rr As DataRow In g
If Not firstSeen Then
firstSeen = True
Continue For
End If
rr.Delete()
Next
Next
pDTNodes.AcceptChanges()
End If
' ===== PARENT_IDs REFERENZEN PRÜFEN =====
Dim existingKeys As New HashSet(Of Integer)(pDTNodes.AsEnumerable().Select(Function(r) Convert.ToInt32(r("PK_CFG_COCKPIT_DEFINITION_ID"))))
For Each r As DataRow In pDTNodes.Rows
Dim pid As Integer = Convert.ToInt32(r("PARENT_ID"))
If pid <> 0 AndAlso Not existingKeys.Contains(pid) Then
LOGGER.Warn($"CreateCockpit: ParentId {pid} referenced by PK {r("PK_CFG_COCKPIT_DEFINITION_ID")} does not exist - setting ParentId to 0")
r("PARENT_ID") = 0
End If
Next
pDTNodes.AcceptChanges()
Dim rootCount = pDTNodes.AsEnumerable().Count(Function(r) Not IsDBNull(r("PARENT_ID")) AndAlso CInt(r("PARENT_ID")) = 0)
LOGGER.Debug($"Root nodes (PARENT_ID = 0): {rootCount}")
' ===== PARENT_ID-Datentyp prüfen =====
If pDTNodes.Rows.Count > 0 Then
Dim firstParentId = pDTNodes.Rows(0)("PARENT_ID")
LOGGER.Debug($"PARENT_ID Type: {firstParentId.GetType().Name}, Value: {firstParentId}")
End If
' ===== ANZAHL DER OVERVIEW-KNOTEN ERMITTELN (VOR WEITEREN FILTERN) =====
Dim oOverviewRows As DataRow() = pDTNodes.Select("TYPE_ID = 0")
LOGGER.Debug($"Load_Treeview: Found [{oOverviewRows.Length}] node(s) with TYPE_ID=0 (Overview)")
myTreeView.BeginUpdate()
Try
' ===== TreeList VOLLSTÄNDIG zurücksetzen =====
myTreeView.DataSource = Nothing
myTreeView.ClearNodes()
' ===== Hierarchie-Felder setzen =====
myTreeView.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
myTreeView.ParentFieldName = "PARENT_ID"
myTreeView.RootValue = 0 ' Explizit setzen: Root-Nodes haben PARENT_ID = 0
' ===== Jetzt DataSource zuweisen =====
myTreeView.DataSource = pDTNodes
AddHandler myTreeView.CustomDrawNodeCell, AddressOf TreeList_Config_CustomDrawNodeCell
' ===== MODERNES DESIGN =====
myTreeView.Appearance.Row.Font = New Font("Segoe UI", 12, FontStyle.Regular)
myTreeView.Appearance.FocusedRow.Font = New Font("Segoe UI", 12, FontStyle.Bold)
myTreeView.Appearance.HideSelectionRow.Font = New Font("Segoe UI", 12, FontStyle.Regular)
myTreeView.Appearance.Row.BackColor = Color.White
myTreeView.Appearance.Row.ForeColor = Color.FromArgb(50, 50, 50)
myTreeView.Appearance.FocusedRow.BackColor = Color.FromArgb(210, 230, 255)
myTreeView.Appearance.FocusedRow.ForeColor = Color.FromArgb(20, 20, 20)
myTreeView.Appearance.HideSelectionRow.BackColor = Color.FromArgb(225, 235, 250)
myTreeView.Appearance.HideSelectionRow.ForeColor = Color.FromArgb(50, 50, 50)
myTreeView.RowHeight = 28
Dim oVisibleColumns As New System.Collections.Generic.HashSet(Of String)(StringComparer.OrdinalIgnoreCase) From {"NAME"}
For Each oColumn As DevExpress.XtraTreeList.Columns.TreeListColumn In myTreeView.Columns
oColumn.Visible = oVisibleColumns.Contains(oColumn.FieldName)
Next
' --- Neu: Sortierung nach CFG_SEQUENCE anwenden (Kinderreihenfolge) ---
Try
Dim seqCol = myTreeView.Columns("CFG_SEQUENCE")
If seqCol IsNot Nothing Then
' Set the column sort order and ensure it is the primary sort (SortIndex = 0)
seqCol.SortOrder = DevExpress.Data.ColumnSortOrder.Ascending
TryCast(seqCol, DevExpress.XtraTreeList.Columns.TreeListColumn).SortIndex = 0
LOGGER.Debug("myTreeView : set CFG_SEQUENCE SortOrder = Ascending, SortIndex = 0")
Else
' Fallback: wenn die Spalte nicht existiert, sortiere die DataView vor dem Binden
Try
If pDTNodes.DefaultView IsNot Nothing Then
pDTNodes.DefaultView.Sort = "CFG_SEQUENCE ASC"
LOGGER.Debug("Fallback: DataTable.DefaultView sorted by CFG_SEQUENCE ASC")
End If
Catch dvEx As Exception
LOGGER.Warn($"CFG_SEQUENCE column not found - cannot sort TreeList by sequence and fallback failed: {dvEx.Message}")
End Try
End If
Catch sortEx As Exception
LOGGER.Error($"Error sorting TreeList by CFG_SEQUENCE: {sortEx.Message}")
End Try
Finally
myTreeView.EndUpdate()
End Try
' ===== KNOTEN AUF-/ZUKLAPPEN BASIEREND AUF ANZAHL DER OVERVIEW-KNOTEN =====
If oOverviewRows.Length = 1 Then
LOGGER.Debug("Load_Treeview: Only 1 overview node found - expanding all nodes")
myTreeView.ExpandAll()
ElseIf oOverviewRows.Length > 1 Then
LOGGER.Debug($"Load_Treeview: [{oOverviewRows.Length}] overview nodes found - collapsing all nodes")
myTreeView.CollapseAll()
Else
LOGGER.Warn("Load_Treeview: No overview nodes (TYPE_ID=0) found - keeping default collapsed state")
End If
Catch ex As Exception
LOGGER.Error($"Error in CreateCockpit: {ex.Message}")
End Try
End Sub
Private Sub TreeList_Config_CustomDrawNodeCell(sender As Object, e As DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs)
Try
Dim oPk As Object = e.Node.GetValue("PK_CFG_COCKPIT_DEFINITION_ID")
If oPk Is Nothing OrElse IsDBNull(oPk) Then
Exit Sub
End If
' ===== ACTIVE-Status prüfen und Hintergrundfarbe setzen =====
Dim oActive As Object = e.Node.GetValue("ACTIVE")
If oActive IsNot Nothing AndAlso Not IsDBNull(oActive) Then
If Not CBool(oActive) Then ' ACTIVE = 0/False
e.Appearance.BackColor = Color.FromArgb(255, 235, 235) ' Leicht rot
e.Appearance.ForeColor = Color.FromArgb(120, 0, 0) ' Dunkelrot für Text
End If
End If
Dim oPkInt As Integer = CInt(oPk)
If Not _treeNodeCounts.ContainsKey(oPkInt) Then
Exit Sub
End If
If _treeNodeCounts(oPkInt) > 0 Then
e.Appearance.Font = New Font(e.Appearance.Font, FontStyle.Bold)
Else
e.Appearance.Font = New Font(e.Appearance.Font, FontStyle.Regular)
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
End Class

View File

@@ -32,6 +32,8 @@ Public Class ClassConfig
Public Property ReminderTimer As Integer = 5 Public Property ReminderTimer As Integer = 5
Public Property OverviewRefresh_Intervall As Integer = 2 Public Property OverviewRefresh_Intervall As Integer = 2
Public Property MainTreeList_Width As Integer = 250
Public Property MonitorSplitter1_Distance As Integer = 510 Public Property MonitorSplitter1_Distance As Integer = 510
Public Property MonitorSplitter2_Distance As Integer = 270 Public Property MonitorSplitter2_Distance As Integer = 270
Public Property MonitorSplitter3_Distance As Integer = 400 Public Property MonitorSplitter3_Distance As Integer = 400
@@ -41,10 +43,15 @@ Public Class ClassConfig
Public Property LastExportPath As String = "" Public Property LastExportPath As String = ""
Public Property ADDITIONAL_SEARCHES_LOAD_ONCLICK As Boolean = True Public Property ADDITIONAL_SEARCHES_LOAD_ONCLICK As Boolean = True
Public Property NOTES_ONCLICK As Boolean = True Public Property NOTES_ONCLICK As Boolean = True
Public Property Hide_Empty_Workflows As Boolean = True
Public Property GridFontSizeDelta As Integer = 0 Public Property GridFontSizeDelta As Integer = 0
Public Property ProfileConfig As New ProfileUserConfig Public Property ProfileConfig As New ProfileUserConfig
Public Property InvDashboardSplitterPositions As New List(Of InvDashboardSplitterPosition)
Public Class InvDashboardSplitterPosition
Public Property CockpitChartId As Integer
Public Property SplitterPosition As Integer
End Class
Public Class ProfileUserConfig Public Class ProfileUserConfig
Public Property ProfileID As Integer Public Property ProfileID As Integer

View File

@@ -1,6 +1,5 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports DD_LIB_Standards
Imports DevExpress.Utils Imports DevExpress.Utils
Imports DevExpress.XtraEditors Imports DevExpress.XtraEditors
Imports DevExpress.XtraEditors.Controls Imports DevExpress.XtraEditors.Controls
@@ -11,13 +10,10 @@ Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Base Imports DevExpress.XtraGrid.Views.Base
Imports DevExpress.XtraGrid.Views.Grid Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Controls.LookupGrid Imports DigitalData.Controls.LookupGrid
Imports DigitalData.Modules.Language.Utils
Imports DigitalData.GUIs.Common Imports DigitalData.GUIs.Common
Imports DigitalData.Modules.Logging Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Language
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.EDMI.API.Constants Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.Language.DataTableEx
Imports DigitalData.Modules.Base Imports DigitalData.Modules.Base
Public Class ClassControlCreator Public Class ClassControlCreator
@@ -72,6 +68,18 @@ Public Class ClassControlCreator
''' </summary> ''' </summary>
Public Property GridTables As New Dictionary(Of Integer, Dictionary(Of String, RepositoryItem)) Public Property GridTables As New Dictionary(Of Integer, Dictionary(Of String, RepositoryItem))
Public Property GridColumns As New Dictionary(Of Integer, DataTable) Public Property GridColumns As New Dictionary(Of Integer, DataTable)
Private _globalLookupEventGuard As Boolean = False
Public Property GlobalLookupEventGuard As Boolean
Get
Return _globalLookupEventGuard
End Get
Set(value As Boolean)
_globalLookupEventGuard = value
Logger.Debug($"GlobalLookupEventGuard -> gesetzt auf [{value}]")
End Set
End Property
''' <summary> ''' <summary>
''' Standard Eigenschaften für alle Controls ''' Standard Eigenschaften für alle Controls
@@ -93,34 +101,48 @@ Public Class ClassControlCreator
Public Attribute As String Public Attribute As String
Public [ReadOnly] As Boolean = False Public [ReadOnly] As Boolean = False
Public BackColor As Color = Color.White Public BackColor As Color = Color.White
Public Property IsDirty As Boolean = False
End Class End Class
Public Sub New(pLogConfig As LogConfig) Public Sub New(pLogConfig As LogConfig)
LogConfig = pLogConfig LogConfig = pLogConfig
Logger = pLogConfig.GetLogger() Logger = pLogConfig.GetLogger()
End Sub End Sub
Private Function ToPhysicalPixels(value As Integer) As Integer
Dim dpiX As Single = 96.0F
Try
Using g As Graphics = Graphics.FromHwnd(IntPtr.Zero)
dpiX = g.DpiX
End Using
Catch
' Fallback auf 96 DPI
End Try
Return CInt(value * dpiX / 96.0F)
End Function
Private Function TransformDataRow(row As DataRow) As ControlDBProps Private Function TransformDataRow(row As DataRow) As ControlDBProps
Dim x As Integer = row.Item("X_LOC") Dim x As Integer = ToPhysicalPixels(row.Item("X_LOC"))
Dim y As Integer = row.Item("Y_LOC") Dim y As Integer = ToPhysicalPixels(row.Item("Y_LOC"))
Dim style As FontStyle = NotNull(row.Item("FONT_STYLE"), DEFAULT_FONT_STYLE) Dim style As FontStyle = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_STYLE"), DEFAULT_FONT_STYLE)
Dim size As Single = NotNull(row.Item("FONT_SIZE"), DEFAULT_FONT_SIZE) Dim size As Single = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_SIZE"), DEFAULT_FONT_SIZE)
Dim familyString As String = NotNull(row.Item("FONT_FAMILY"), DEFAULT_FONT_FAMILY) Dim familyString As String = ClassAllgemeineFunktionen.NotNullString(row.Item("FONT_FAMILY"), DEFAULT_FONT_FAMILY)
Dim family As FontFamily = New FontFamily(familyString) Dim family As FontFamily = New FontFamily(familyString)
Dim oGuid As Integer = row.Item("GUID") Dim oGuid As Integer = row.Item("GUID")
Dim oName As String = NotNull(row.Item("NAME"), "") Dim oControlName As String = ClassAllgemeineFunktionen.NotNullString(row.Item("NAME"), "")
Dim oAttribute As String = NotNull(row.Item("INDEX_NAME"), "") Dim oAttribute As String = ClassAllgemeineFunktionen.NotNullString(row.Item("INDEX_NAME"), "")
Dim oLocation As New Point(x, y) Dim oLocation As New Point(x, y)
Dim oFont As New Font(family, size, style, GraphicsUnit.Point) 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 oReadOnly As Boolean = row.Item("READ_ONLY")
Dim oAddNewItems As Boolean = row.Item("VKT_ADD_ITEM") 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 { Return New ControlDBProps() With {
.Guid = oGuid, .Guid = oGuid,
.Name = oName, .Name = oControlName,
.Attribute = oAttribute, .Attribute = oAttribute,
.Location = oLocation, .Location = oLocation,
.Font = oFont, .Font = oFont,
@@ -144,8 +166,6 @@ Public Class ClassControlCreator
ctrl.Location = props.Location ctrl.Location = props.Location
ctrl.Font = props.Font ctrl.Font = props.Font
ctrl.ForeColor = props.Color ctrl.ForeColor = props.Color
If designMode Then If designMode Then
ctrl.Cursor = Cursors.Hand ctrl.Cursor = Cursors.Hand
End If End If
@@ -166,7 +186,7 @@ Public Class ClassControlCreator
Public Function CreateNewTextBox(location As Point) As TextEdit Public Function CreateNewTextBox(location As Point) As TextEdit
Dim control As New TextEdit With { Dim control As New TextEdit With {
.Name = $"{PREFIX_TEXTBOX}_{clsTools.ShortGuid()}", .Name = $"{PREFIX_TEXTBOX}_{ClassAllgemeineFunktionen.NewShortGuid()}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT), .Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Location = location, .Location = location,
.ReadOnly = True, .ReadOnly = True,
@@ -179,7 +199,7 @@ Public Class ClassControlCreator
Public Function CreateNewLabel(location As Point) As Label Public Function CreateNewLabel(location As Point) As Label
Dim control As New Label With { Dim control As New Label With {
.Name = $"{PREFIX_LABEL}_{clsTools.ShortGuid}", .Name = $"{PREFIX_LABEL}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Text = DEFAULT_TEXT, .Text = DEFAULT_TEXT,
.AutoSize = True, .AutoSize = True,
.Location = location, .Location = location,
@@ -191,7 +211,7 @@ Public Class ClassControlCreator
Public Function CreateNewCheckbox(location As Point) As CheckBox Public Function CreateNewCheckbox(location As Point) As CheckBox
Dim control As New CheckBox With { Dim control As New CheckBox With {
.Name = $"{PREFIX_CHECKBOX}_{clsTools.ShortGuid}", .Name = $"{PREFIX_CHECKBOX}_{ClassAllgemeineFunktionen.NewShortGuid}",
.AutoSize = True, .AutoSize = True,
.Text = DEFAULT_TEXT, .Text = DEFAULT_TEXT,
.Cursor = Cursors.Hand, .Cursor = Cursors.Hand,
@@ -204,7 +224,7 @@ Public Class ClassControlCreator
Public Function CreateNewCombobox(location As Point) As Windows.Forms.ComboBox Public Function CreateNewCombobox(location As Point) As Windows.Forms.ComboBox
Dim control As New Windows.Forms.ComboBox With { Dim control As New Windows.Forms.ComboBox With {
.Name = $"{PREFIX_COMBOBOX}_{clsTools.ShortGuid}", .Name = $"{PREFIX_COMBOBOX}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT), .Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand, .Cursor = Cursors.Hand,
.Location = location .Location = location
@@ -215,7 +235,7 @@ Public Class ClassControlCreator
Public Function CreateNewDatetimepicker(location As Point) As DateTimePicker Public Function CreateNewDatetimepicker(location As Point) As DateTimePicker
Dim control As New DateTimePicker With { Dim control As New DateTimePicker With {
.Name = $"{PREFIX_DATETIMEPICKER}_{clsTools.ShortGuid}", .Name = $"{PREFIX_DATETIMEPICKER}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT), .Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand, .Cursor = Cursors.Hand,
.Location = location, .Location = location,
@@ -227,7 +247,7 @@ Public Class ClassControlCreator
Public Function CreateNewDatagridview(location As Point) As DataGridView Public Function CreateNewDatagridview(location As Point) As DataGridView
Dim control As New DataGridView With { Dim control As New DataGridView With {
.Name = $"{PREFIX_DATAGRIDVIEW}_{clsTools.ShortGuid}", .Name = $"{PREFIX_DATAGRIDVIEW}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_TABLE), .Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_TABLE),
.Cursor = Cursors.Hand, .Cursor = Cursors.Hand,
.Location = location, .Location = location,
@@ -247,7 +267,7 @@ Public Class ClassControlCreator
Friend Function CreateNewLookupControl(location As Point) As LookupControl3 Friend Function CreateNewLookupControl(location As Point) As LookupControl3
Dim control As New LookupControl3 With { Dim control As New LookupControl3 With {
.Name = $"{PREFIX_LOOKUP}_{clsTools.ShortGuid}", .Name = $"{PREFIX_LOOKUP}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT), .Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT),
.Cursor = Cursors.Hand, .Cursor = Cursors.Hand,
.Location = location .Location = location
@@ -257,7 +277,7 @@ Public Class ClassControlCreator
Public Function CreateNewTable(location As Point) As GridControl Public Function CreateNewTable(location As Point) As GridControl
Dim oControl As New GridControl With { Dim oControl As New GridControl With {
.Name = $"{PREFIX_TABLE}_{clsTools.ShortGuid}", .Name = $"{PREFIX_TABLE}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_TABLE), .Size = New Size(DEFAULT_WIDTH, DEFAULT_HEIGHT_TABLE),
.Cursor = Cursors.Hand, .Cursor = Cursors.Hand,
.Location = location, .Location = location,
@@ -277,7 +297,7 @@ Public Class ClassControlCreator
Public Function CreateNewLine(location As Point) As LineLabel Public Function CreateNewLine(location As Point) As LineLabel
Dim control As New LineLabel With { Dim control As New LineLabel With {
.Name = $"{PREFIX_LINE}_{clsTools.ShortGuid}", .Name = $"{PREFIX_LINE}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Text = "---------------------------------", .Text = "---------------------------------",
.Size = New Size(100, 5), .Size = New Size(100, 5),
.Location = location .Location = location
@@ -287,7 +307,7 @@ Public Class ClassControlCreator
End Function End Function
Public Function CreateNewButton(location As Point) As Button Public Function CreateNewButton(location As Point) As Button
Dim control As New Button With { Dim control As New Button With {
.Name = $"{PREFIX_BUTTON}_{clsTools.ShortGuid}", .Name = $"{PREFIX_BUTTON}_{ClassAllgemeineFunktionen.NewShortGuid}",
.Size = New Size(108, 28), .Size = New Size(108, 28),
.Cursor = Cursors.Hand, .Cursor = Cursors.Hand,
.Location = location .Location = location
@@ -305,10 +325,10 @@ Public Class ClassControlCreator
Dim oReadOnly = oControlRow.ItemEx("READ_ONLY", False) Dim oReadOnly = oControlRow.ItemEx("READ_ONLY", False)
Dim oFormatString = oControlRow.ItemEx("FORMAT_STRING", String.Empty) Dim oFormatString = oControlRow.ItemEx("FORMAT_STRING", String.Empty)
Dim oBackColorIf = oControlRow.ItemEx("CTRL_BACKCOLOR_IF", 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 Dim oControl As BaseEdit = Nothing
If oHeight >= 27 Then
If oHeight > 27 Then
oControl = CreateBaseControl(New MemoEdit(), oControlRow, designMode) oControl = CreateBaseControl(New MemoEdit(), oControlRow, designMode)
Else Else
oControl = CreateBaseControl(New TextEdit(), oControlRow, designMode) oControl = CreateBaseControl(New TextEdit(), oControlRow, designMode)
@@ -319,8 +339,15 @@ Public Class ClassControlCreator
oControl.BackColor = Color.White oControl.BackColor = Color.White
oMeta.BackColor = Color.White oMeta.BackColor = Color.White
oControl.Height = oHeight oControl.Height = ToPhysicalPixels(oHeight)
oControl.Width = oWidth oControl.Width = ToPhysicalPixels(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 If Not designMode Then
oControl.ReadOnly = oReadOnly oControl.ReadOnly = oReadOnly
@@ -332,12 +359,10 @@ Public Class ClassControlCreator
If oFormatString <> String.Empty Then If oFormatString <> String.Empty Then
oControl.Properties.DisplayFormat.FormatType = FormatType.Custom oControl.Properties.DisplayFormat.FormatType = FormatType.Custom
oControl.Properties.DisplayFormat.FormatString = ClassFormat.GetFormatString(oFormatString) oControl.Properties.DisplayFormat.FormatString = ClassFormat.GetFormatString(oFormatString)
End If 'ElseIf oReadOnly Then
' ' For read only controls, don't show the raw value when a user clicks into it
' For read only controls, don't show the raw value when a user clicks into it ' oControl.Properties.EditFormat.FormatType = FormatType.Custom
If oReadOnly Then ' oControl.Properties.EditFormat.FormatString = ClassFormat.GetFormatString(oFormatString)
oControl.Properties.EditFormat.FormatType = FormatType.Custom
oControl.Properties.EditFormat.FormatString = ClassFormat.GetFormatString(oFormatString)
End If End If
Else Else
oControl.ReadOnly = True oControl.ReadOnly = True
@@ -351,17 +376,24 @@ Public Class ClassControlCreator
End Function End Function
Public Function CreateExistingLabel(row As DataRow, designMode As Boolean) As Label Public Function CreateExistingLabel(row As DataRow, designMode As Boolean) As Label
Dim control As Label = CreateBaseControl(New Label(), row, designMode) Dim oControl As Label = CreateBaseControl(New Label(), row, designMode)
Try Try
control.Text = row.Item("CTRL_CAPTION_LANG") oControl.Text = row.Item("CTRL_CAPTION_LANG")
Catch ex As Exception Catch ex As Exception
Logger.Warn("Label [{0}] does not have a translation!", control.Name) Logger.Warn("⚠️ Label [{0}] does not have a translation!", oControl.Name)
control.Text = row.Item("CTRL_TEXT") oControl.Text = row.Item("CTRL_TEXT")
End Try 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 oControl
Return control
End Function End Function
Public Function CreateExistingButton(row As DataRow, designMode As Boolean) As Button Public Function CreateExistingButton(row As DataRow, designMode As Boolean) As Button
@@ -381,39 +413,69 @@ Public Class ClassControlCreator
oControl.Text = row.Item("CTRL_TEXT") oControl.Text = row.Item("CTRL_TEXT")
End Try End Try
oControl.Height = row.Item("HEIGHT") oControl.Height = ToPhysicalPixels(row.Item("HEIGHT"))
oControl.Width = row.Item("WIDTH") oControl.Width = ToPhysicalPixels(row.Item("WIDTH"))
If Not IsNothing(ctrl_image) And Not IsNothing(oBitmap) Then If Not IsNothing(ctrl_image) And Not IsNothing(oBitmap) Then
oControl.Image = oBitmap oControl.Image = oBitmap
oControl.ImageAlign = ContentAlignment.MiddleLeft oControl.ImageAlign = ContentAlignment.MiddleLeft
oControl.TextAlign = ContentAlignment.MiddleRight oControl.TextAlign = ContentAlignment.MiddleRight
End If End If
oControl.AutoSize = True
Return oControl Return oControl
End Function End Function
Public Function CreateExistingCombobox(row As DataRow, designMode As Boolean) As Windows.Forms.ComboBox Public Function CreateExistingCombobox(pRow As DataRow, designMode As Boolean) As Windows.Forms.ComboBox
Dim control As Windows.Forms.ComboBox = CreateBaseControl(New Windows.Forms.ComboBox(), row, designMode) Dim oControl As Windows.Forms.ComboBox = CreateBaseControl(New Windows.Forms.ComboBox(), pRow, designMode)
oControl.Size = New Size(ToPhysicalPixels(pRow.Item("WIDTH")), ToPhysicalPixels(pRow.Item("HEIGHT")))
control.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT"))
If Not designMode Then If Not designMode Then
control.Enabled = Not row.Item("READ_ONLY") oControl.Enabled = Not pRow.Item("READ_ONLY")
control.TabStop = Not row.Item("READ_ONLY") oControl.TabStop = Not pRow.Item("READ_ONLY")
control.BackColor = IIf(row.Item("READ_ONLY"), Color.LightGray, Color.White) oControl.BackColor = IIf(pRow.Item("READ_ONLY"), Color.LightGray, Color.White)
control.AutoCompleteMode = AutoCompleteMode.SuggestAppend oControl.AutoCompleteMode = AutoCompleteMode.SuggestAppend
control.AutoCompleteSource = AutoCompleteSource.ListItems oControl.AutoCompleteSource = AutoCompleteSource.ListItems
End If 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 End Function
Public 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) Dim control As DateTimePicker = CreateBaseControl(New DateTimePicker(), row, designMode)
control.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT")) control.Size = New Size(ToPhysicalPixels(row.Item("WIDTH")), ToPhysicalPixels(row.Item("HEIGHT")))
control.Format = DateTimePickerFormat.Short control.Format = DateTimePickerFormat.Short
If Not designMode Then If Not designMode Then
@@ -446,7 +508,7 @@ Public Class ClassControlCreator
Public 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) Dim control As DataGridView = CreateBaseControl(New DataGridView(), row, designMode)
control.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT")) control.Size = New Size(ToPhysicalPixels(row.Item("WIDTH")), ToPhysicalPixels(row.Item("HEIGHT")))
control.AllowUserToAddRows = False control.AllowUserToAddRows = False
control.AllowUserToDeleteRows = False control.AllowUserToDeleteRows = False
control.AllowUserToResizeColumns = False control.AllowUserToResizeColumns = False
@@ -467,33 +529,65 @@ Public Class ClassControlCreator
Return control Return control
End Function End Function
Public Function CreateExistingLookupControl(row As DataRow, designMode As Boolean) As LookupControl3 Public Function CreateExistingLookupControl(pRow As DataRow, pDesignMode As Boolean) As LookupControl3
Dim control As LookupControl3 = CreateBaseControl(New LookupControl3(), row, designMode) Dim oControl As LookupControl3 = CreateBaseControl(New LookupControl3(), pRow, pDesignMode)
control.Properties.Name = control.Name oControl.Properties.Name = oControl.Name
control.Width = row.Item("WIDTH") oControl.Height = ToPhysicalPixels(pRow.Item("HEIGHT"))
control.ReadOnly = row.Item("READ_ONLY") oControl.Width = ToPhysicalPixels(pRow.Item("WIDTH"))
control.Properties.AllowAddNewValues = row.Item("VKT_ADD_ITEM") oControl.ReadOnly = pRow.Item("READ_ONLY")
oControl.Properties.AllowAddNewValues = pRow.Item("VKT_ADD_ITEM")
Dim oAlignment = pRow.ItemEx("TEXT_ALIGNMENT", "Near")
If designMode Then If oAlignment = "Near" Then
control.Cursor = Cursors.Hand 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 End If
Return control If pDesignMode Then
oControl.Cursor = Cursors.Hand
End If
Return oControl
End Function End Function
Public 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 oGridControlCreator = New ControlCreator.GridControl(LogConfig, GridTables, pcurrencySymbol)
Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode) Dim oControl As GridControl = CreateBaseControl(New GridControl(), row, designMode)
Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid Dim oControlId = DirectCast(oControl.Tag, ControlMetadata).Guid
Dim oView As GridView Dim oView As GridView
Dim oControlName = oControl.Name
oControl.ForceInitialize() oControl.ForceInitialize()
oView = oControl.MainView oView = oControl.MainView
oView.OptionsView.ShowGroupPanel = False oView.OptionsView.ShowGroupPanel = False
oControl.ContextMenu = Nothing oControl.ContextMenu = Nothing
' Schriftart und Farbe auf GridView-Ebene anwenden, da GridControl
' diese nicht automatisch an die View weitergibt
Dim oFont As Font = oControl.Font
Dim oForeColor As Color = oControl.ForeColor
oView.Appearance.Row.Font = oFont
oView.Appearance.Row.ForeColor = oForeColor
oView.Appearance.Row.Options.UseFont = True
oView.Appearance.Row.Options.UseForeColor = True
oView.Appearance.HeaderPanel.Font = oFont
oView.Appearance.HeaderPanel.Options.UseFont = True
'oView.Appearance.HeaderPanel.Options.UseForeColor = True
oView.Appearance.EvenRow.Font = oFont
oView.Appearance.EvenRow.ForeColor = oForeColor
oView.Appearance.EvenRow.Options.UseFont = True
oView.Appearance.EvenRow.Options.UseForeColor = True
oView.Appearance.OddRow.Font = oFont
oView.Appearance.OddRow.ForeColor = oForeColor
oView.Appearance.OddRow.Options.UseFont = True
oView.Appearance.OddRow.Options.UseForeColor = True
Dim oGridBuilder As New GridBuilder(oView) Dim oGridBuilder As New GridBuilder(oView)
oGridBuilder.WithClipboardHandler() oGridBuilder.WithClipboardHandler()
@@ -526,8 +620,7 @@ Public Class ClassControlCreator
End If End If
oControl.Size = New Size(row.Item("WIDTH"), row.Item("HEIGHT")) oControl.Size = New Size(ToPhysicalPixels(row.Item("WIDTH")), ToPhysicalPixels(row.Item("HEIGHT")))
' Add and configure navigator to delete rows ' Add and configure navigator to delete rows
oControl.UseEmbeddedNavigator = True oControl.UseEmbeddedNavigator = True
With oControl.EmbeddedNavigator.Buttons With oControl.EmbeddedNavigator.Buttons
@@ -557,8 +650,8 @@ Public Class ClassControlCreator
Dim oDataTable = oGridControlCreator.CreateGridColumns(DT_MY_COLUMNS) Dim oDataTable = oGridControlCreator.CreateGridColumns(DT_MY_COLUMNS)
GridTables = oGridControlCreator.FillGridTables(DT_MY_COLUMNS, oControlId, oControl.Name) GridTables = oGridControlCreator.FillGridTables(DT_MY_COLUMNS, oControlId, oControl.Name)
oView.PopulateColumns(oDatatable) oView.PopulateColumns(oDataTable)
oControl.DataSource = oDatatable oControl.DataSource = oDataTable
oControl.RefreshDataSource() oControl.RefreshDataSource()
oControl.ForceInitialize() oControl.ForceInitialize()
@@ -585,10 +678,13 @@ Public Class ClassControlCreator
End Try End Try
End If End If
' *** KORRIGIERT: ConfigureViewColumns OHNE currencySymbol-Parameter ***
oGridControlCreator.ConfigureViewColumns(DT_MY_COLUMNS, oView, oControl) oGridControlCreator.ConfigureViewColumns(DT_MY_COLUMNS, oView, oControl)
oGridControlCreator.ConfigureViewEvents(DT_MY_COLUMNS, oView, oControl, oControlId)
' 08.11.2021: Fix editor being empty on first open ' *** NEU: ConfigureViewColumnsCurrency() für editierbare Währungsspalten ***
oGridControlCreator.ConfigureViewColumnsCurrency(DT_MY_COLUMNS, oView, oControl)
oGridControlCreator.ConfigureViewEvents(DT_MY_COLUMNS, oView, oControl, oControlId)
oView.FocusInvalidRow() oView.FocusInvalidRow()
Return oControl Return oControl
@@ -603,8 +699,8 @@ Public Class ClassControlCreator
control.Text = "------------------------------" control.Text = "------------------------------"
control.BorderStyle = BorderStyle.None control.BorderStyle = BorderStyle.None
control.AutoSize = False 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")) control.Size = New Size(ToPhysicalPixels(row.Item("WIDTH")), ToPhysicalPixels(row.Item("HEIGHT")))
Return control Return control
End Function End Function
@@ -799,49 +895,348 @@ Public Class ClassControlCreator
End Function End Function
Public Sub GridTables_HandleControlValueChange(pControlPanel As XtraScrollableControl, pColumnsWithSqlAndControlPlaceholders As DataTable) Public Sub GridTables_HandleControlValueChange(pControlPanel As XtraScrollableControl, pColumnsWithSqlAndControlPlaceholders As DataTable)
If Not IsNothing(pColumnsWithSqlAndControlPlaceholders) AndAlso pColumnsWithSqlAndControlPlaceholders.Rows.Count > 0 Then If pColumnsWithSqlAndControlPlaceholders Is Nothing OrElse pColumnsWithSqlAndControlPlaceholders.Rows.Count = 0 Then
For Each oRow As DataRow In pColumnsWithSqlAndControlPlaceholders.Rows Logger.Debug("No depending controls with SQL statements defined, skipping handling control value change.")
Return
End If
' ============================================================================
' Schritt 1 - Sichere ALLE Lookup-Werte VOR SQL-Reload
' ============================================================================
Dim lookupBackups As New Dictionary(Of String, Object)
Dim comboBoxBackups As New Dictionary(Of String, Object)
For Each oControl As Control In pControlPanel.Controls
If TypeOf oControl Is LookupControl3 Then
Try Try
Dim oSqlStatement = oRow.ItemEx("SQL_COMMAND", String.Empty) Dim lookup = DirectCast(oControl, LookupControl3)
Dim oConnectionId = oRow.ItemEx("CONNECTION_ID", -1) ' Speichere den aktuellen EditValue (kann einzelner Wert oder Liste sein)
Dim oControlId = oRow.Item("CONTROL_ID") If lookup.EditValue IsNot Nothing Then
Dim oColumnName = oRow.Item("SPALTENNAME") Dim controlName As String = lookup.Name
Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP") lookupBackups(controlName) = lookup.EditValue
Logger.Debug($"GridTables_HandleControlValueChange -> Backup für Lookup [{controlName}]: [{lookup.EditValue}]")
If oSqlStatement <> String.Empty And oConnectionId > -1 Then
oSqlStatement = clsPatterns.ReplaceAllValues(oSqlStatement, pControlPanel, True)
GridTables_CacheDatatableForColumn(oControlId, oColumnName, oSqlStatement, oConnectionId, oAdvancedLookup)
' === Block to force setting the editor for GridColumns
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)
Exit For
End If
Catch ex As Exception
Logger.Error(ex)
End Try
Next
' === End
End If End If
Catch ex As Exception Catch ex As Exception
Logger.Error(ex) Logger.Error($"GridTables_HandleControlValueChange -> Fehler beim Backup von Lookup: {ex.Message}")
Logger.Info("Unexpected Error in Display SQL result for grid column: " & oRow.Item("CONTROL_ID") & " - ERROR: " & ex.Message)
End Try End Try
ElseIf TypeOf oControl Is Windows.Forms.ComboBox Then
Try
Dim comboBox = DirectCast(oControl, Windows.Forms.ComboBox)
If comboBox.SelectedItem IsNot Nothing OrElse Not String.IsNullOrEmpty(comboBox.Text) Then
Dim controlName As String = comboBox.Name
' Speichere sowohl SelectedItem als auch Text für Fallback
comboBoxBackups(controlName) = If(comboBox.SelectedItem, comboBox.Text)
Logger.Debug($"GridTables_HandleControlValueChange -> Backup für ComboBox [{controlName}]: [{comboBoxBackups(controlName)}]")
End If
Catch ex As Exception
Logger.Error($"GridTables_HandleControlValueChange -> Fehler beim Backup von ComboBox: {ex.Message}")
End Try
End If
Next
' ============================================================================
' Schritt 2 - Verarbeite Grid-Columns mit SQL-Abhängigkeiten
' ============================================================================
For Each oRow As DataRow In pColumnsWithSqlAndControlPlaceholders.Rows
Try
Dim oSqlStatement = oRow.ItemEx("SQL_COMMAND", String.Empty)
Dim oConnectionId = oRow.ItemEx("CONNECTION_ID", -1)
Dim oControlId = oRow.Item("CONTROL_ID")
Dim oColumnName = oRow.Item("SPALTENNAME")
Dim oAdvancedLookup = oRow.Item("ADVANCED_LOOKUP")
If oSqlStatement <> String.Empty AndAlso oConnectionId > -1 Then
' ========== NEU: {#IDBA#...}-Platzhalter vorab ersetzen ==========
If oSqlStatement.Contains("{#IDBA#") Then
oSqlStatement = clsPatterns.ReplaceIDBAttributes(oSqlStatement, True)
Logger.Debug($"GridTables_HandleControlValueChange -> Nach ReplaceIDBAttributes für [{oColumnName}]: [{oSqlStatement}]")
End If
' ========== ENDE NEU ==========
oSqlStatement = clsPatterns.ReplaceAllValues(oSqlStatement, pControlPanel, True)
GridTables_CacheDatatableForColumn(oControlId, oColumnName, oSqlStatement, oConnectionId, oAdvancedLookup)
' Force-setting Editor for GridColumns
Logger.Debug("Force-setting Editor for all Gridcells..")
For Each oControl As Control In pControlPanel.Controls
Try
If oControl.Tag IsNot Nothing AndAlso TypeOf oControl.Tag Is ControlMetadata Then
Dim oMeta = DirectCast(oControl.Tag, ControlMetadata)
If oMeta.Guid = oControlId AndAlso TypeOf oControl Is GridControl Then
Dim oGrid As GridControl = DirectCast(oControl, GridControl)
If oGrid.FocusedView IsNot Nothing AndAlso TypeOf oGrid.FocusedView Is GridView Then
DirectCast(oGrid.FocusedView, GridView).FocusInvalidRow()
Logger.Debug($"Force-setting Editor for Grid [{oGrid.Name}]")
End If
Exit For
End If
End If
Catch ex As Exception
Logger.Error($"GridTables_HandleControlValueChange -> Fehler beim Force-setting Editor: {ex.Message}")
End Try
Next
End If
Catch ex As Exception
Logger.Error(ex)
Logger.Info($"Unexpected Error in Display SQL result for grid column: {oRow.Item("CONTROL_ID")} - ERROR: {ex.Message}")
End Try
Next
' ============================================================================
' Schritt 3 - Prüfe und restauriere Lookup-Werte mit SQL-Abhängigkeiten
' ============================================================================
If lookupBackups.Count > 0 Then
Logger.Debug($"GridTables_HandleControlValueChange -> Prüfe {lookupBackups.Count} Lookups auf Wiederherstellung...")
For Each oControl As Control In pControlPanel.Controls
If TypeOf oControl Is LookupControl3 Then
Try
Dim lookup = DirectCast(oControl, LookupControl3)
Dim controlName As String = lookup.Name
' Wenn wir einen Backup für dieses Lookup haben
If lookupBackups.ContainsKey(controlName) Then
Dim oldValue = lookupBackups(controlName)
' Prüfe ob Lookup ein DataSource hat (könnte durch SQL neu geladen worden sein)
If lookup.Properties.DataSource IsNot Nothing AndAlso TypeOf lookup.Properties.DataSource Is DataTable Then
Dim currentDataSource = DirectCast(lookup.Properties.DataSource, DataTable)
' Wenn DataSource Rows hat, versuche Werte wiederherzustellen
If currentDataSource.Rows.Count > 0 Then
RestoreLookupValues(lookup, oldValue, currentDataSource, controlName)
End If
End If
End If
Catch ex As Exception
Logger.Error($"GridTables_HandleControlValueChange -> Fehler beim Prüfen von Lookup: {ex.Message}")
Logger.Error(ex)
End Try
End If
Next
End If
' ============================================================================
' Schritt 4 - Prüfe und restauriere ComboBox-Werte mit SQL-Abhängigkeiten
' ============================================================================
If comboBoxBackups.Count > 0 Then
Logger.Debug($"GridTables_HandleControlValueChange -> Prüfe {comboBoxBackups.Count} ComboBoxes auf Wiederherstellung...")
For Each oControl As Control In pControlPanel.Controls
If TypeOf oControl Is Windows.Forms.ComboBox Then
Try
Dim comboBox = DirectCast(oControl, Windows.Forms.ComboBox)
Dim controlName As String = comboBox.Name
If comboBoxBackups.ContainsKey(controlName) Then
Dim oldValue = comboBoxBackups(controlName)
RestoreComboBoxValue(comboBox, oldValue, controlName)
End If
Catch ex As Exception
Logger.Error($"GridTables_HandleControlValueChange -> Fehler beim Prüfen von ComboBox: {ex.Message}")
Logger.Error(ex)
End Try
End If
Next Next
End If End If
End Sub End Sub
Private Sub RestoreComboBoxValue(comboBox As Windows.Forms.ComboBox, oldValue As Object, controlName As String)
If comboBox Is Nothing OrElse oldValue Is Nothing Then
Logger.Warn($"RestoreComboBoxValue -> [{controlName}] Ungültige Parameter")
Return
End If
Try
Dim oldValueStr As String = oldValue.ToString()
' Prüfe ob der alte Wert noch in der ComboBox Items vorhanden ist
Dim itemFound As Boolean = False
For Each item As Object In comboBox.Items
If item IsNot Nothing AndAlso item.ToString().Equals(oldValueStr, StringComparison.OrdinalIgnoreCase) Then
itemFound = True
Exit For
End If
Next
If itemFound Then
' Versuche den Wert wiederherzustellen
Dim currentSelection As String = If(comboBox.SelectedItem?.ToString(), comboBox.Text)
If Not String.Equals(currentSelection, oldValueStr, StringComparison.OrdinalIgnoreCase) Then
' Event-Guard temporär aktivieren um Endlosschleifen zu vermeiden
Dim oldGuard As Boolean = GlobalLookupEventGuard
GlobalLookupEventGuard = True
Try
comboBox.SelectedIndex = -1
Application.DoEvents()
' Suche und setze das Item
For i As Integer = 0 To comboBox.Items.Count - 1
If comboBox.Items(i).ToString().Equals(oldValueStr, StringComparison.OrdinalIgnoreCase) Then
comboBox.SelectedIndex = i
Exit For
End If
Next
comboBox.Refresh()
Application.DoEvents()
' Validierung
Dim newSelection As String = If(comboBox.SelectedItem?.ToString(), comboBox.Text)
If String.Equals(newSelection, oldValueStr, StringComparison.OrdinalIgnoreCase) Then
Logger.Debug($"RestoreComboBoxValue -> [{controlName}] ✓ erfolgreich wiederhergestellt: [{oldValueStr}]")
Else
Logger.Warn($"RestoreComboBoxValue -> [{controlName}] ✗ Fehler beim Wiederherstellen! Erwartet: [{oldValueStr}], Ist: [{newSelection}]")
End If
Finally
' Event-Guard wiederherstellen
GlobalLookupEventGuard = oldGuard
End Try
Else
Logger.Debug($"RestoreComboBoxValue -> [{controlName}] Wert bereits korrekt gesetzt")
End If
Else
Logger.Warn($"RestoreComboBoxValue -> [{controlName}] Wert [{oldValueStr}] ✗ nicht mehr in Items vorhanden")
End If
Catch ex As Exception
Logger.Error($"RestoreComboBoxValue -> Fehler bei [{controlName}]: {ex.Message}")
Logger.Error(ex)
End Try
End Sub
Private Sub RestoreLookupValues(lookup As LookupControl3, oldValue As Object,
newDataSource As DataTable, controlName As String)
If lookup Is Nothing OrElse oldValue Is Nothing OrElse newDataSource Is Nothing Then
Logger.Warn($"RestoreLookupValues -> [{controlName}] Ungültige Parameter")
Return
End If
Try
' Bestimme ValueColumn
Dim valueColumn As String = String.Empty
If String.IsNullOrEmpty(lookup.Properties.ValueMember) AndAlso newDataSource.Columns.Count > 0 Then
valueColumn = newDataSource.Columns(0).ColumnName
ElseIf Not String.IsNullOrEmpty(lookup.Properties.ValueMember) Then
valueColumn = lookup.Properties.ValueMember
Else
Logger.Warn($"RestoreLookupValues -> [{controlName}] Keine ValueColumn verfügbar")
Return
End If
' Build HashSet für effiziente Suche
Dim availableValues As New HashSet(Of String)(StringComparer.OrdinalIgnoreCase)
For Each row As DataRow In newDataSource.Rows
If Not IsDBNull(row(valueColumn)) Then
availableValues.Add(row(valueColumn).ToString())
End If
Next
' Prüfe ob der alte Wert noch in der neuen DataSource existiert
Dim validValue As Object = Nothing
' Behandle verschiedene Datentypen (String, List, Array, etc.)
If TypeOf oldValue Is String Then
Dim valueStr As String = oldValue.ToString()
If availableValues.Contains(valueStr) Then
validValue = oldValue
Logger.Debug($"RestoreLookupValues -> [{controlName}] Wert [{valueStr}] ✓ gefunden")
Else
Logger.Warn($"RestoreLookupValues -> [{controlName}] Wert [{valueStr}] ✗ nicht mehr vorhanden")
End If
ElseIf TypeOf oldValue Is IEnumerable Then
' Behandle Listen/Arrays
Dim validValues As New List(Of Object)
For Each item As Object In DirectCast(oldValue, IEnumerable)
If item IsNot Nothing Then
Dim itemStr As String = item.ToString()
If availableValues.Contains(itemStr) Then
validValues.Add(item)
Logger.Debug($"RestoreLookupValues -> [{controlName}] Wert [{itemStr}] ✓ gefunden")
Else
Logger.Warn($"RestoreLookupValues -> [{controlName}] Wert [{itemStr}] ✗ nicht mehr vorhanden")
End If
End If
Next
If validValues.Count > 0 Then
validValue = validValues
End If
Else
' Fallback für andere Typen
Dim valueStr As String = oldValue.ToString()
If availableValues.Contains(valueStr) Then
validValue = oldValue
Logger.Debug($"RestoreLookupValues -> [{controlName}] Wert [{valueStr}] ✓ gefunden")
Else
Logger.Warn($"RestoreLookupValues -> [{controlName}] Wert [{valueStr}] ✗ nicht mehr vorhanden")
End If
End If
' Gültige Werte wiederherstellen
If validValue IsNot Nothing Then
' Event-Guard temporär aktivieren um Endlosschleifen zu vermeiden
Dim oldGuard As Boolean = GlobalLookupEventGuard
GlobalLookupEventGuard = True
Try
' Prüfe ob bereits korrekt gesetzt
Dim currentValue = lookup.EditValue
If currentValue IsNot Nothing AndAlso currentValue.Equals(validValue) Then
Logger.Debug($"RestoreLookupValues -> [{controlName}] Wert bereits korrekt gesetzt")
Return
End If
' Setze den Wert neu
lookup.EditValue = Nothing
Application.DoEvents()
lookup.EditValue = validValue
lookup.Refresh()
Application.DoEvents()
' Validierung
Dim newValue = lookup.EditValue
If newValue IsNot Nothing AndAlso newValue.Equals(validValue) Then
Logger.Debug($"RestoreLookupValues -> [{controlName}] ✓ erfolgreich wiederhergestellt: [{validValue}]")
Else
Logger.Error($"RestoreLookupValues -> [{controlName}] ✗ Fehler beim Wiederherstellen! Erwartet: [{validValue}], Ist: [{If(newValue, "NULL")}]")
' Retry mit BeginUpdate/EndUpdate
Logger.Debug($"RestoreLookupValues -> [{controlName}] Versuche alternative Methode mit BeginUpdate...")
lookup.Properties.BeginUpdate()
Try
lookup.EditValue = Nothing
Application.DoEvents()
lookup.EditValue = validValue
Finally
lookup.Properties.EndUpdate()
End Try
lookup.Refresh()
Application.DoEvents()
Dim retryValue = lookup.EditValue
If retryValue IsNot Nothing AndAlso retryValue.Equals(validValue) Then
Logger.Debug($"RestoreLookupValues -> [{controlName}] ✓ Alternative Methode erfolgreich")
Else
Logger.Error($"RestoreLookupValues -> [{controlName}] ✗ Auch alternative Methode fehlgeschlagen!")
End If
End If
Finally
' Event-Guard wiederherstellen
GlobalLookupEventGuard = oldGuard
End Try
Else
Logger.Info($"RestoreLookupValues -> [{controlName}] Keine gültigen Werte zum Wiederherstellen")
End If
Catch ex As Exception
Logger.Error($"RestoreLookupValues -> Fehler bei [{controlName}]: {ex.Message}")
Logger.Error(ex)
End Try
End Sub
End Class End Class

View File

@@ -1,5 +1,4 @@
Imports DDUserManager.UserDataSet Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraGrid.Views.Grid.ViewInfo Imports DevExpress.XtraGrid.Views.Grid.ViewInfo

View File

@@ -1,6 +1,4 @@
Imports DigitalData.Modules.Language.Utils Public Class ClassFinalIndex
Public Class ClassFinalIndex
Public INDEX_TYPE_STRING = 1 Public INDEX_TYPE_STRING = 1
Public INDEX_TYPE_INTEGER = 2 Public INDEX_TYPE_INTEGER = 2
Public INDEX_TYPE_INTEGER64 = 11 Public INDEX_TYPE_INTEGER64 = 11
@@ -114,12 +112,12 @@ Public Class ClassFinalIndex
props.VectorIndex = isVector props.VectorIndex = isVector
If type = INDEX_TYPE_STRING Or type = INDEX_TYPE_VECTOR_STRING Then If type = INDEX_TYPE_STRING Or type = INDEX_TYPE_VECTOR_STRING Then
value = NotNull(value, "") value = ClassAllgemeineFunktionen.NotNullString(value, "")
props.StringValue = value props.StringValue = value
ElseIf type = INDEX_TYPE_INTEGER Or type = INDEX_TYPE_INTEGER64 Or type = INDEX_TYPE_VECTOR_INTEGER_64 Then ElseIf type = INDEX_TYPE_INTEGER Or type = INDEX_TYPE_INTEGER64 Or type = INDEX_TYPE_VECTOR_INTEGER_64 Then
Try Try
value = NotNull(Of Integer)(value, 0) value = ClassAllgemeineFunktionen.NotNullString(value, 0)
If value = String.Empty Then If value = String.Empty Then
props.IntegerValue = 0 props.IntegerValue = 0
Else Else
@@ -138,7 +136,7 @@ Public Class ClassFinalIndex
If value = "SQL-Command" Then If value = "SQL-Command" Then
props.FloatValue = 0 props.FloatValue = 0
Else Else
value = NotNull(Of Double)(value, 0) value = ClassAllgemeineFunktionen.NotNullString(value, 0)
If value = String.Empty Then If value = String.Empty Then
props.FloatValue = 0 props.FloatValue = 0
@@ -148,7 +146,7 @@ Public Class ClassFinalIndex
End If End If
ElseIf type = INDEX_TYPE_BOOLEAN Or type = INDEX_TYPE_VECTOR_BOOLEAN Then 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 If value = "1" Or value.ToLower = "true" Then
props.BoolValue = True props.BoolValue = True

View File

@@ -156,7 +156,7 @@ Public Class ClassFinalizeDoc
End If End If
Return indexierung_erfolgreich Return indexierung_erfolgreich
Catch ex As Exception Catch ex As Exception
LOGGER.Warn("Unvorhergesehener Fehler bei Indexiere_File: " & ex.Message.ToString) LOGGER.Warn("⚠️ Unvorhergesehener Fehler bei Indexiere_File: " & ex.Message.ToString)
Return False Return False
End Try End Try

View File

@@ -28,6 +28,99 @@ Public Class ClassFormat
End Select End Select
End Function End Function
''' <summary>
''' Normalisiert einen numerischen String für die invariante Kultur-Konvertierung.
''' Entfernt Tausendertrennzeichen und ersetzt Dezimaltrennzeichen durch Punkt.
''' </summary>
Private Shared Function NormalizeNumericString(pValue As String) As String
If String.IsNullOrWhiteSpace(pValue) Then
Return pValue
End If
Dim normalized As String = pValue.Trim()
LOGGER.Debug($"[NormalizeNumericString] Input: [{pValue}]")
' Entferne Währungssymbole und Leerzeichen
normalized = System.Text.RegularExpressions.Regex.Replace(normalized, "[€$£¥\s]", "")
Dim hasDot As Boolean = normalized.Contains(".")
Dim hasComma As Boolean = normalized.Contains(",")
LOGGER.Debug($"[NormalizeNumericString] After cleanup: [{normalized}], HasDot={hasDot}, HasComma={hasComma}")
If hasDot AndAlso hasComma Then
' Beide vorhanden: Das letzte ist der Dezimaltrenner
Dim lastDotPos As Integer = normalized.LastIndexOf(".")
Dim lastCommaPos As Integer = normalized.LastIndexOf(",")
LOGGER.Debug($"[NormalizeNumericString] Both separators found: LastDotPos={lastDotPos}, LastCommaPos={lastCommaPos}")
If lastDotPos > lastCommaPos Then
normalized = normalized.Replace(",", "")
Else
normalized = normalized.Replace(".", "").Replace(",", ".")
End If
ElseIf hasComma Then
Dim commaCount As Integer = normalized.Count(Function(c) c = ","c)
LOGGER.Debug($"[NormalizeNumericString] Only comma found: CommaCount={commaCount}")
If commaCount = 1 Then
Dim lastCommaPos As Integer = normalized.LastIndexOf(",")
Dim digitsAfterComma As Integer = normalized.Length - lastCommaPos - 1
LOGGER.Debug($"[NormalizeNumericString] Single comma: DigitsAfterComma={digitsAfterComma}")
If digitsAfterComma <= 3 Then
normalized = normalized.Replace(",", ".")
Else
normalized = normalized.Replace(",", "")
End If
Else
normalized = normalized.Replace(",", "")
End If
ElseIf hasDot Then
Dim dotCount As Integer = normalized.Count(Function(c) c = "."c)
LOGGER.Debug($"[NormalizeNumericString] Only dot found: DotCount={dotCount}")
If dotCount = 1 Then
Dim lastDotPos As Integer = normalized.LastIndexOf(".")
Dim digitsAfterDot As Integer = normalized.Length - lastDotPos - 1
LOGGER.Debug($"[NormalizeNumericString] Single dot: DigitsAfterDot={digitsAfterDot}")
' ✅ KRITISCHE ÄNDERUNG: Prüfe auch Stellen VOR dem Punkt
Dim digitsBeforeDot As Integer = lastDotPos
' Heuristik: Wenn <= 3 Stellen nach Punkt UND >= 1 Stelle davor → Dezimaltrenner
' Wenn > 3 Stellen davor UND <= 3 Stellen nach Punkt → unklar, vermutlich Dezimal
' Wenn > 3 Stellen nach Punkt → definitiv KEIN Dezimaltrenner
If digitsAfterDot > 3 Then
LOGGER.Warn($"⚠️ [NormalizeNumericString] Dot with {digitsAfterDot} digits after → treating as THOUSAND separator!")
normalized = normalized.Replace(".", "")
ElseIf digitsAfterDot >= 1 AndAlso digitsAfterDot <= 3 Then
' Wahrscheinlich Dezimaltrenner (z.B. 5464.17 oder 120.5)
LOGGER.Debug($"[NormalizeNumericString] Dot treated as decimal separator ({digitsBeforeDot} digits before, {digitsAfterDot} after)")
Else
' digitsAfterDot = 0 → Punkt am Ende, vermutlich Fehler
LOGGER.Warn($"⚠️ [NormalizeNumericString] Dot at end of string → removing")
normalized = normalized.Replace(".", "")
End If
Else
' Mehrere Punkte → Tausendertrenner
LOGGER.Debug($"[NormalizeNumericString] Multiple dots → removing all")
normalized = normalized.Replace(".", "")
End If
Else
LOGGER.Debug($"[NormalizeNumericString] No separators found → integer or already normalized")
End If
LOGGER.Debug($"[NormalizeNumericString] Output: [{normalized}]")
Return normalized
End Function
''' <summary> ''' <summary>
''' Converts a string according to the type information, using the invariant culture ''' Converts a string according to the type information, using the invariant culture
@@ -41,25 +134,40 @@ Public Class ClassFormat
Select Case pType Select Case pType
Case ClassControlCreator.CONTROL_TYPE_DOUBLE 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 Try
LOGGER.Debug($"GetConvertedValue: Converting {pValue.ToString} to Currency ") ' ✅ IMMER normalisieren – auch für DB-Werte!
If Double.TryParse(pValue, NumberStyles.Currency, CultureInfo.InvariantCulture, oConvertedValue) Then Dim normalizedValue As String = NormalizeNumericString(pValue?.ToString())
If Double.TryParse(normalizedValue, NumberStyles.Float, CultureInfo.InvariantCulture, oConvertedValue) Then
Return oConvertedValue Return oConvertedValue
End If End If
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
End Try End Try
Case ClassControlCreator.CONTROL_TYPE_CURRENCY
Try
' ✅ KRITISCH: Normalisierung VOR Konvertierung
Dim normalizedValue As String = NormalizeNumericString(pValue?.ToString())
LOGGER.Debug($"GetConvertedValue CURRENCY: Original=[{pValue}], Normalized=[{normalizedValue}]")
If Double.TryParse(normalizedValue, NumberStyles.Float, CultureInfo.InvariantCulture, oConvertedValue) Then
Return oConvertedValue
End If
Catch ex As Exception
LOGGER.Error($"Currency conversion failed for [{pValue}]: {ex.Message}")
LOGGER.Error(ex)
End Try
Case ClassControlCreator.CONTROL_TYPE_INTEGER Case ClassControlCreator.CONTROL_TYPE_INTEGER
If Integer.TryParse(pValue, NumberStyles.Integer, CultureInfo.InvariantCulture, oConvertedValue) Then Try
Return oConvertedValue Dim normalizedValue As String = NormalizeNumericString(pValue?.ToString())
End If If Integer.TryParse(normalizedValue, NumberStyles.Integer, CultureInfo.InvariantCulture, oConvertedValue) Then
Return oConvertedValue
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
Case Else Case Else
LOGGER.Debug($"GetConvertedValue - Case ELSE - pType is {pType}") LOGGER.Debug($"GetConvertedValue - Case ELSE - pType is {pType}")
Try Try
@@ -68,7 +176,6 @@ Public Class ClassFormat
LOGGER.Warn($"Error in GetConvertedValue: pType is {pType} - converting value to String") LOGGER.Warn($"Error in GetConvertedValue: pType is {pType} - converting value to String")
oConvertedValue = "" oConvertedValue = ""
End Try End Try
End Select End Select
Return oConvertedValue Return oConvertedValue
@@ -76,26 +183,32 @@ Public Class ClassFormat
''' <summary> ''' <summary>
''' Converts values to their respective data type and then back to string ''' Converts values to their respective data type and then back to string
''' according to the current culture ''' using INVARIANT culture for consistency across systems.
''' </summary> ''' </summary>
''' <param name="pValue"></param> ''' <param name="pValue"></param>
''' <returns></returns> ''' <returns></returns>
Public Shared Function GetStringValue(pValue As Object) As String Public Shared Function GetStringValue(pValue As Object) As String
' ✅ FIX: Immer InvariantCulture verwenden für DB-Speicherung
Select Case pValue.GetType Select Case pValue.GetType
Case GetType(Single) Case GetType(Single)
Return DirectCast(pValue, Single).ToString(CultureInfo.CurrentCulture) ' ✅ NEU: InvariantCulture statt CurrentCulture
Return DirectCast(pValue, Single).ToString(CultureInfo.InvariantCulture)
Case GetType(Double) Case GetType(Double)
Return DirectCast(pValue, Double).ToString(CultureInfo.CurrentCulture) ' ✅ NEU: InvariantCulture statt CurrentCulture
Return DirectCast(pValue, Double).ToString(CultureInfo.InvariantCulture)
Case GetType(Decimal) Case GetType(Decimal)
Return DirectCast(pValue, Decimal).ToString(CultureInfo.CurrentCulture) ' ✅ NEU: InvariantCulture statt CurrentCulture
Return DirectCast(pValue, Decimal).ToString(CultureInfo.InvariantCulture)
Case GetType(Date) Case GetType(Date)
Return DirectCast(pValue, Date).ToString(CultureInfo.CurrentCulture) ' Datum: ISO 8601 Format für Culture-Unabhängigkeit
Return DirectCast(pValue, Date).ToString("yyyy-MM-dd", CultureInfo.InvariantCulture)
Case GetType(DateTime) Case GetType(DateTime)
Return DirectCast(pValue, DateTime).ToString(CultureInfo.CurrentCulture) ' DateTime: ISO 8601 Format
Return DirectCast(pValue, DateTime).ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture)
Case Else Case Else
Return pValue.ToString Return pValue.ToString

View File

@@ -1,5 +1,75 @@
Public Class ClassIDBData Public Class ClassIDBData
Public DTVWIDB_BE_ATTRIBUTE As DataTable Public DTVWIDB_BE_ATTRIBUTE As DataTable
Public IDBSystemIndices As List(Of String)
''' <summary>
''' Wenn True, werden SQL-Statements nicht sofort ausgeführt,
''' sondern in <see cref="_sqlBatch"/> gesammelt.
''' </summary>
Public Property BatchMode As Boolean = False
Private _sqlBatch As New List(Of String)
''' <summary>
''' Startet den Batch-Sammelmodus.
''' </summary>
Public Sub BeginBatch()
_sqlBatch.Clear()
BatchMode = True
End Sub
''' <summary>
''' Führt alle gesammelten SQL-Statements als einen einzigen String
''' an ExecuteNonQueryIDB weiter. Jeder Block wird in BEGIN...END
''' gekapselt, damit DECLARE-Variablen nicht kollidieren.
''' </summary>
''' <returns>True wenn erfolgreich</returns>
Public Function CommitBatch() As Boolean
BatchMode = False
If _sqlBatch.Count = 0 Then Return True
Try
Dim oStatements = _sqlBatch.
Where(Function(s) Not String.IsNullOrWhiteSpace(s)).
ToList()
' @NEW_OBJ_MD_ID pro Statement eindeutig umbenennen → kein Namenskonflikt im Batch
Dim oNumberedStatements As New List(Of String)
Dim oIndex As Integer = 0
For Each oStatement As String In oStatements
Dim oNumbered = oStatement.Replace("@NEW_OBJ_MD_ID", $"@NEW_OBJ_MD_ID_{oIndex}")
oNumberedStatements.Add(oNumbered)
oIndex += 1
Next
Dim oBatchSQL = String.Join(vbNewLine, oNumberedStatements)
LOGGER.Debug($"⚡ CommitBatch - Executing {oStatements.Count} statements as one batch:{vbNewLine}{oBatchSQL}")
Dim oResult = DatabaseFallback.ExecuteNonQueryIDB(oBatchSQL)
_sqlBatch.Clear()
Return oResult
Catch ex As Exception
LOGGER.Error(ex)
_sqlBatch.Clear()
Return False
End Try
End Function
''' <summary>
''' Verwirft alle gesammelten Statements ohne Ausführung.
''' </summary>
Public Sub RollbackBatch()
_sqlBatch.Clear()
BatchMode = False
End Sub
''' <summary>
''' Führt ein SQL-Statement aus – sofort oder gesammelt je nach BatchMode.
''' </summary>
Private Function ExecuteOrQueue(oSQL As String) As Boolean
If BatchMode Then
_sqlBatch.Add(oSQL)
LOGGER.Debug($"BatchMode - Queued statement: {oSQL}")
Return True
Else
Return DatabaseFallback.ExecuteNonQueryIDB(oSQL)
End If
End Function
''' <summary> ''' <summary>
''' Gets all indices by BusinessEntity. ''' Gets all indices by BusinessEntity.
''' </summary> ''' </summary>
@@ -7,15 +77,17 @@
''' <returns>Array with all Indices</returns> ''' <returns>Array with all Indices</returns>
''' <remarks></remarks> ''' <remarks></remarks>
''' '''
Public Function Init() Public Function Init() As Boolean
Dim oSQL = $"SELECT DISTINCT ATTR_TITLE, TYP_ID, TYP_ID as [TYPE_ID] FROM VWIDB_BE_ATTRIBUTE WHERE SYS_ATTRIBUTE = 0 ORDER BY ATTR_TITLE" Dim oSQL = $"SELECT DISTINCT ATTR_TITLE, TYP_ID, TYP_ID as [TYPE_ID] FROM VWIDB_BE_ATTRIBUTE WHERE SYS_ATTRIBUTE = 0 ORDER BY ATTR_TITLE"
DTVWIDB_BE_ATTRIBUTE = DatabaseFallback.GetDatatableIDB(oSQL) DTVWIDB_BE_ATTRIBUTE = DatabaseFallback.GetDatatableIDB(oSQL)
If IsNothing(DTVWIDB_BE_ATTRIBUTE) Then If IsNothing(DTVWIDB_BE_ATTRIBUTE) Then
oSQL = $"SELECT DISTINCT ATTR_TITLE, TYP_ID, TYP_ID as [TYPE_ID] FROM VWIDB_BE_ATTRIBUTE ORDER BY ATTR_TITLE " oSQL = $"SELECT DISTINCT ATTR_TITLE, TYP_ID, TYP_ID as [TYPE_ID] FROM VWIDB_BE_ATTRIBUTE ORDER BY ATTR_TITLE "
DTVWIDB_BE_ATTRIBUTE = DatabaseFallback.GetDatatableIDB(oSQL) DTVWIDB_BE_ATTRIBUTE = DatabaseFallback.GetDatatableIDB(oSQL)
LOGGER.Info($"[{DTVWIDB_BE_ATTRIBUTE.Rows.Count.ToString}] attributes [VWIDB_BE_ATTRIBUTE] found in IDB.")
End If End If
Return True
End Function End Function
Public IDBSystemIndices As List(Of String)
Public Function GetIndicesByBE(ByVal BusinessEntity As String) As String() Public Function GetIndicesByBE(ByVal BusinessEntity As String) As String()
Try Try
Dim aNames(4) As String Dim aNames(4) As String
@@ -40,10 +112,8 @@
For Each oRow As DataRow In DTVWIDB_BE_ATTRIBUTE.Rows For Each oRow As DataRow In DTVWIDB_BE_ATTRIBUTE.Rows
oCount += 1 oCount += 1
aIndexNames(oCount) = oRow.Item("ATTR_TITLE") aIndexNames(oCount) = oRow.Item("ATTR_TITLE")
Next Next
' Indexarray sortiert zurückgeben ' Indexarray sortiert zurückgeben
Array.Sort(aIndexNames) Array.Sort(aIndexNames)
' Indexarray zurückgeben ' Indexarray zurückgeben
@@ -84,52 +154,64 @@
End Function End Function
Public Function GetVariableValue(oAttributeName As String, Optional oIDBTyp As Integer = 0, Optional FromIDB As Boolean = False) As Object Public Function GetVariableValue(oAttributeName As String, Optional oIDBTyp As Integer = 0, Optional FromIDB As Boolean = False) As Object
Try Try
Dim oSingleAttribute As Boolean = True ' Bestimme, ob es sich um ein Single-Value-Attribut handelt (nicht Typ 8 oder 9)
Select Case oIDBTyp Dim oIsSingleAttribute As Boolean = (oIDBTyp <> 8 AndAlso oIDBTyp <> 9)
Case 8
oSingleAttribute = False LOGGER.Debug($"IDBData - GetVariableValue - Attribute: [{oAttributeName}] - IsSingleAttribute: [{oIsSingleAttribute}] - FromIDB: [{FromIDB}]")
Case 9
oSingleAttribute = False ' Schnellpfad: Direkt aus gecachter DataTable holen
End Select If oIsSingleAttribute AndAlso IDB_DT_DOC_DATA.Rows.Count = 1 AndAlso Not FromIDB Then
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 Try
If oAttributeName = "IDBCreatedWhen" Then Dim oMappedName As String = MapSystemAttributeName(oAttributeName)
oAttributeName = "ADDED_WHEN" Dim oValue As Object = IDB_DT_DOC_DATA.Rows(0).Item(oMappedName)
ElseIf oAttributeName = "IDBCreatedWho" Then LOGGER.Debug($"IDBData - GetVariableValue - Retrieved from cache: Attribute=[{oAttributeName}] MappedName=[{oMappedName}] Value=[{oValue}]")
oAttributeName = "ADDED_WHO" Return oValue
ElseIf oAttributeName = "IDBChangedWhen" Then
oAttributeName = "CHANGED_WHEN"
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 Catch ex As Exception
LOGGER.Debug($"Error getting Attribute from IDB_DT_DOC_DATA: {ex.Message}") LOGGER.Debug($"Error getting Attribute from IDB_DT_DOC_DATA: {ex.Message}")
' Fallthrough zum Datenbank-Fallback
End Try End Try
End If
End If ' Fallback: Wert aus Datenbank über Funktion holen
If Not IsNothing(oAttributeValue) Then LOGGER.Debug($"Retrieving value for attribute [{oAttributeName}] via FNIDB_PM_GET_VARIABLE_VALUE")
LOGGER.Debug($"IDBData - GetVariableValue - Returning value: [{oAttributeValue}]")
Return oAttributeValue Dim oSQL As String = $"SELECT * FROM [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] ({CURRENT_DOC_ID},'{oAttributeName}','{USER_LANGUAGE}',CONVERT(BIT,'{IDB_USES_WMFILESTORE}'))"
LOGGER.Debug($"SQL: {oSQL}")
Dim oResultTable As DataTable = DatabaseFallback.GetDatatableIDB(oSQL)
If oResultTable IsNot Nothing AndAlso oResultTable.Rows.Count = 1 Then
Dim oValue As Object = oResultTable.Rows(0).Item(0)
LOGGER.Debug($"IDBData - GetVariableValue - Retrieved from DB: [{oValue}]")
Return oValue
Else Else
LOGGER.Debug($"oAttributeValue for Attribute [{oAttributeName}] is so far nothing..Now trying FNIDB_PM_GET_VARIABLE_VALUE ") LOGGER.Info($"IDBData - GetVariableValue - No value found in DB for attribute [{oAttributeName}] - SQL [{oSQL}]")
End If 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}") Return oResultTable
oAttributeValue = DatabaseFallback.GetDatatableIDB(oFNSQL)
Dim odt As DataTable = oAttributeValue
If odt.Rows.Count = 1 Then
oAttributeValue = odt.Rows(0).Item(0)
End If
Return oAttributeValue
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
Return Nothing Return Nothing
End Try End Try
End Function
''' <summary>
''' Mappt System-Attributnamen auf interne Spaltennamen.
''' </summary>
Private Function MapSystemAttributeName(attributeName As String) As String
Select Case attributeName
Case "IDBCreatedWhen"
Return "ADDED_WHEN"
Case "IDBCreatedWho"
Return "ADDED_WHO"
Case "IDBChangedWhen"
Return "CHANGED_WHEN"
Case "IDBChangedWho"
Return "CHANGED_WHO"
Case Else
Return attributeName
End Select
End Function End Function
Public Function Delete_Term_Object_From_Metadata(oAttributeName As String, oTerm2Delete As String) As Object Public Function Delete_Term_Object_From_Metadata(oAttributeName As String, oTerm2Delete As String) As Object
Try Try
@@ -138,9 +220,11 @@
If IDB_USES_WMFILESTORE Then If IDB_USES_WMFILESTORE Then
oID_IS_FOREIGN = 1 oID_IS_FOREIGN = 1
End If End If
Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {CURRENT_DOC_ID},'{oAttributeName}','{oTerm2Delete}','{USER_USERNAME}','{USER_LANGUAGE}',{oID_IS_FOREIGN}" oTerm2Delete = oTerm2Delete.Replace("'", "''")
DatabaseFallback.ExecuteNonQueryIDB(oDELSQL) Dim oDELSQL = $"EXEC PRIDB_DELETE_TERM_OBJECT_METADATA {CURRENT_DOC_ID},'{oAttributeName}','{oTerm2Delete}','{USER_USERNAME}','{USER_LANGUAGE}',{oID_IS_FOREIGN};"
LOGGER.Debug($"Delete_Term_Object_From_Metadata: {oDELSQL}")
'DatabaseFallback.ExecuteNonQueryIDB(oDELSQL)
Return ExecuteOrQueue(oDELSQL)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
Return Nothing Return Nothing
@@ -149,9 +233,10 @@
End Function End Function
Public Function Delete_AttributeData(pIDB_OBJID As Int64, pAttributeName As String) As Object Public Function Delete_AttributeData(pIDB_OBJID As Int64, pAttributeName As String) As Object
Try Try
Dim oDELSQL = $"EXEC PRIDB_DELETE_ATTRIBUTE_DATA {pIDB_OBJID},'{pAttributeName}','{USER_USERNAME}'" Dim oDELSQL = $"EXEC PRIDB_DELETE_ATTRIBUTE_DATA {pIDB_OBJID},'{pAttributeName}','{USER_USERNAME}';"
DatabaseFallback.ExecuteNonQueryIDB(oDELSQL) LOGGER.Debug($"Delete_Attribute_Data: {oDELSQL}")
' DatabaseFallback.ExecuteNonQueryIDB(oDELSQL)
Return ExecuteOrQueue(oDELSQL)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
Return Nothing Return Nothing
@@ -161,18 +246,23 @@
Public Function SetVariableValue(oAttributeName As String, oNewValue As Object, Optional CheckDeleted As Boolean = False, Optional oIDBTyp As Integer = 0) Public Function SetVariableValue(oAttributeName As String, oNewValue As Object, Optional CheckDeleted As Boolean = False, Optional oIDBTyp As Integer = 0)
Try Try
Dim omsg = $"IDBData - SetVariableValue - Attribute: [{oAttributeName}] - NewValue: [{oNewValue}] - CheckDeleted: [{CheckDeleted.ToString}] - oIDBTyp: [{oIDBTyp}]"
LOGGER.Debug(omsg)
Dim omytype = oNewValue.GetType.ToString Dim omytype = oNewValue.GetType.ToString
If omytype = "System.Data.DataTable" Then If omytype = "System.Data.DataTable" Then
Dim oDTMyNewValues As DataTable = oNewValue Dim oDTMyNewValues As DataTable = oNewValue
Dim oOldAttributeResult Dim oAttributeResultFromDB
Dim oTypeOldResult Dim oTypeOldResult
' Für DataTable (Mehrfachauswahl/Vektor) IMMER auf gelöschte Werte prüfen,
' unabhängig vom übergebenen CheckDeleted-Parameter.
Dim oEffectiveCheckDeleted As Boolean = True
If CheckDeleted = True Then If oEffectiveCheckDeleted = True Then
oOldAttributeResult = GetVariableValue(oAttributeName, oIDBTyp) oAttributeResultFromDB = GetVariableValue(oAttributeName, oIDBTyp)
oTypeOldResult = oOldAttributeResult.GetType.ToString oTypeOldResult = oAttributeResultFromDB.GetType.ToString
If oTypeOldResult = "System.Data.DataTable" Then If TypeOf oAttributeResultFromDB Is DataTable Then
Dim myOldValues As DataTable = oOldAttributeResult Dim myOldValues As DataTable = oAttributeResultFromDB
If myOldValues.Rows.Count > 1 Then If myOldValues.Rows.Count >= 1 Then
'now Checking whether the old row still remains in Vector? If not it will be deleted as it cannot be replaced in multivalues 'now Checking whether the old row still remains in Vector? If not it will be deleted as it cannot be replaced in multivalues
For Each oOldValueRow As DataRow In myOldValues.Rows For Each oOldValueRow As DataRow In myOldValues.Rows
@@ -198,27 +288,26 @@
'### Old Value is a single value ### '### Old Value is a single value ###
If oDTMyNewValues.Rows.Count > 1 Then If oDTMyNewValues.Rows.Count > 1 Then
'### there is more than one new value ### '### there is more than one new value ###
Dim oExists As Boolean Dim oExists As Boolean = False
For Each oNewValueRow As DataRow In oDTMyNewValues.Rows For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
oExists = False LOGGER.Debug($"Checking oldValue[{oAttributeResultFromDB}] vs NewValue [{oNewValueRow.Item(1)}]")
Dim oInfo1 = $"Checking oldValue[{oOldAttributeResult}] vs NewValue [{oNewValueRow.Item(1)}]" If oNewValueRow.Item(1).ToString.ToUpper = oAttributeResultFromDB.ToString.ToUpper Then
If oNewValueRow.Item(1).ToString.ToUpper = oOldAttributeResult.ToString.ToUpper Then
oExists = True oExists = True
Exit For ' ← sobald gefunden, abbrechen
End If End If
Next Next
If oExists = False Then If oExists = False Then
Dim oInfo2 = $"Value [{oOldAttributeResult}] no longer existing in Vector-Attribute [{oAttributeName}] - will be deleted!" LOGGER.Debug($"Value [{oAttributeResultFromDB}] no longer existing in Attribute [{oAttributeName}] - will be deleted!")
LOGGER.Debug(oInfo2)
'SetVariableValue(CURRENT_PROFILE_LOG_INDEX, oInfo2) 'SetVariableValue(CURRENT_PROFILE_LOG_INDEX, oInfo2)
Delete_Term_Object_From_Metadata(oAttributeName, oOldAttributeResult) Delete_Term_Object_From_Metadata(oAttributeName, oAttributeResultFromDB)
End If End If
Else Else
'### there is only ONE new value ### '### there is only ONE new value ###
If oDTMyNewValues.Rows(0).Item(1) <> oOldAttributeResult Then If oDTMyNewValues.Rows(0).Item(1) <> oAttributeResultFromDB Then
Dim oInfo = $"Value [{oOldAttributeResult}] of Attribute [{oAttributeName}] obviously was updated during runtime - will be deleted!" Dim oInfo = $"Value [{oAttributeResultFromDB}] of Attribute [{oAttributeName}] obviously was updated during runtime - will be deleted!"
LOGGER.Debug(oInfo) LOGGER.Debug(oInfo)
SetVariableValue(CURRENT_PROFILE_LOG_INDEX, oInfo) SetVariableValue(CURRENT_PROFILE_LOG_INDEX, oInfo)
Delete_Term_Object_From_Metadata(oAttributeName, oOldAttributeResult) Delete_Term_Object_From_Metadata(oAttributeName, oAttributeResultFromDB)
Else Else
LOGGER.Debug($"Attributvalue of [{oAttributeName}] did not change!") LOGGER.Debug($"Attributvalue of [{oAttributeName}] did not change!")
End If End If
@@ -230,20 +319,25 @@
End If End If
For Each oNewValueRow As DataRow In oDTMyNewValues.Rows For Each oNewValueRow As DataRow In oDTMyNewValues.Rows
Dim oSuccess As Boolean = False 'Dim oSuccess As Boolean = False
Dim oVALUE = oNewValueRow.Item(1).ToString
Dim oPRSQL = $"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" 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) LOGGER.Debug(oPRSQL)
oSuccess = DatabaseFallback.ExecuteNonQueryIDB(oPRSQL) 'oSuccess = DatabaseFallback.ExecuteNonQueryIDB(oPRSQL)
If oSuccess = False Then If Not ExecuteOrQueue(oPRSQL) Then Return False
Return False 'If oSuccess = False Then
End If ' Return False
'End If
Next Next
Return True Return True
Else Else
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" 'oNewValue = oNewValue.Replace("'", "' + NCHAR(39) + '")
LOGGER.Debug(oFNSQL) oNewValue = oNewValue.Replace("'", "''")
Return DatabaseFallback.ExecuteNonQueryIDB(oFNSQL) Dim oPRIDB_NEW_OBJ_DATA = $"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(oPRIDB_NEW_OBJ_DATA)
' Return DatabaseFallback.ExecuteNonQueryIDB(oPRIDB_NEW_OBJ_DATA)
Return ExecuteOrQueue(oPRIDB_NEW_OBJ_DATA)
End If End If
Catch ex As Exception Catch ex As Exception

View File

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

View File

@@ -1,11 +1,12 @@
Imports DLLLicenseManager Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Config Imports DigitalData.Modules.Config
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports System.Windows.Forms.VisualStyles.VisualStyleElement Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.Logging
Imports DLLLicenseManager
Imports DocumentFormat.OpenXml.Spreadsheet
Public Class ClassInit Public Class ClassInit
Public _lizenzManager As ClassLicenseManager Public _lizenzManager As ClassLicenseManager
@@ -20,21 +21,16 @@ Public Class ClassInit
My.Application.Info.CompanyName, My.Application.Info.CompanyName,
My.Application.Info.ProductName) My.Application.Info.ProductName)
LOGGER = LOGCONFIG.GetLogger("taskFLOW") LOGGER = LOGCONFIG.GetLogger("taskFLOW")
LOGGER.Info("## taskFLOW started - {0}", Now) LOGGER.Info("## taskFLOW started - {0}", Now)
Try Try
Dim directory As New IO.DirectoryInfo(Application.LocalUserAppDataPath & "\Log") Dim directory As New IO.DirectoryInfo(Application.LocalUserAppDataPath & "\Log")
For Each file As IO.FileInfo In directory.GetFiles For Each file As IO.FileInfo In directory.GetFiles
If (Now - file.CreationTime).Days > 29 Then If (Now - file.CreationTime).Days > 29 Then
file.Delete() file.Delete()
Else Else
Exit For Exit For
End If End If
Next Next
Catch ex As Exception Catch ex As Exception
@@ -51,14 +47,21 @@ Public Class ClassInit
Dim oCommonAppDataPath = Application.CommonAppDataPath Dim oCommonAppDataPath = Application.CommonAppDataPath
Dim oStartupPath = Application.StartupPath Dim oStartupPath = Application.StartupPath
' If AppConfig from Startup Path should be forced, rewrite the common app data path
If My.Settings.UseAppConfigConString = True Then If My.Settings.UseAppConfigConString = True Then
' UserAppDataPath = StartupPath
oCommonAppDataPath = oStartupPath oCommonAppDataPath = oStartupPath
End If End If
CONFIG = New ConfigManager(Of ClassConfig)(LOGCONFIG, oUserAppDataPath, oCommonAppDataPath, oStartupPath) CONFIG = New ConfigManager(Of ClassConfig)(LOGCONFIG, oUserAppDataPath, oCommonAppDataPath, oStartupPath)
LOGGER.Info("Config loaded") LOGGER.Info("ConfigManager loaded")
LOGGER.Info($"oUserAppDataPath will be: {oUserAppDataPath}")
If oStartupPath <> oCommonAppDataPath Then
LOGGER.Info($"oCommonAppDataPath will be: {oCommonAppDataPath}")
LOGGER.Info($"oStartupPath will be: {oStartupPath}")
Else
LOGGER.Info($"oStartupPath is the same as oCommonAppDataPath: {oCommonAppDataPath}")
End If
Try Try
If CONFIG.Config.ConnectionStringTest <> String.Empty And CONFIG.Config.TestMode = True Then If CONFIG.Config.ConnectionStringTest <> String.Empty And CONFIG.Config.TestMode = True Then
LOGGER.Debug("Test Connection String loaded") LOGGER.Debug("Test Connection String loaded")
@@ -75,32 +78,32 @@ Public Class ClassInit
If CONFIG.Config.EDMIAppServer <> String.Empty Then If CONFIG.Config.EDMIAppServer <> String.Empty Then
Try Try
LOGGER.Info($"Configuration EDMIAppServer [{CONFIG.Config.EDMIAppServer}] will be used...") LOGGER.Info($"Configuration EDMIAppServer [{CONFIG.Config.EDMIAppServer}] will be used...")
_EDMIClient = New Client(LOGCONFIG, CONFIG.Config.EDMIAppServer, Environment.UserName)
_Client = New Client(LOGCONFIG, CONFIG.Config.EDMIAppServer) If Not IsNothing(_EDMIClient) Then
If Not IsNothing(_Client) Then If _EDMIClient.Connect() Then
If _Client.Connect() Then
EDMIAppServerActive = True EDMIAppServerActive = True
EDMIService.Client = _Client EDMIService.Client = _EDMIClient
EDMIService.Address = CONFIG.Config.EDMIAppServer EDMIService.Address = CONFIG.Config.EDMIAppServer
LOGGER.Info($"✔✔ EDMIAppServer [{CONFIG.Config.EDMIAppServer}] is active!")
LOGGER.Info($"EDMIAppServer [{CONFIG.Config.EDMIAppServer}] is active!")
Else Else
LOGGER.Warn($"#### !!! Could not Connect to APPServer [{CONFIG.Config.EDMIAppServer}]!!! ###") Dim oMsg As String = $"⚠ Verbindung zum AppServer [{CONFIG.Config.EDMIAppServer}] konnte nicht hergestellt werden."
LOGGER.Warn(oMsg)
Throw New Exception(oMsg)
End If End If
End If End If
Catch ex As Exception Catch ex As Exception
LOGGER.Warn($"Could not initialize the AppServer: {ex.Message}") Dim oMsg As String = $"⚠ Fehler beim Initialisieren des AppServers: {ex.Message}"
LOGGER.Fatal(ex, oMsg)
Throw New Exception(oMsg, ex) ' ← inner re-throw
End Try End Try
Else Else
LOGGER.Debug("No EDMI Server Address. (String.empty).") LOGGER.Debug("No EDMI Server Address. (String.empty).")
End If End If
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex, "Unexpected Error Getting CONFIG.EDMIAppServer") LOGGER.Error(ex, "Unexpected Error Getting CONFIG.EDMIAppServer")
Throw ' ← 1. fehlender Throw
End Try End Try
INDEX_DMS_ERSTELLT = CONFIG.Config.IndexDmsErstellt INDEX_DMS_ERSTELLT = CONFIG.Config.IndexDmsErstellt
INDEX_DMS_ERSTELLT_ZEIT = CONFIG.Config.IndexDmsErstelltZeit INDEX_DMS_ERSTELLT_ZEIT = CONFIG.Config.IndexDmsErstelltZeit
@@ -124,6 +127,7 @@ Public Class ClassInit
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
Throw ' ← 2. fehlender Throw
End Try End Try
End Sub End Sub
@@ -201,13 +205,11 @@ Public Class ClassInit
End If End If
End If End If
' We initialize the Class in anycase. ' We initialize the Class in anycase.
' If there is no client, it will fall back to the db by itself ' If there is no client, it will fall back to the db by itself
DatabaseFallback = New DatabaseWithFallback(LOGCONFIG, _Client, Database_ECM, Database_IDB) DatabaseFallback = New DatabaseWithFallback(LOGCONFIG, _EDMIClient, Database_ECM, Database_IDB)
' Nach dem Speichern der Konfiguration:
DatabaseFallback.InvalidateConnectionCache()
If dbECMInitialized = True And CONNECTION_STRING_IDB = String.Empty Then If dbECMInitialized = True And CONNECTION_STRING_IDB = String.Empty Then
Return True Return True
@@ -244,12 +246,12 @@ Public Class ClassInit
Try Try
oLICDATE = CDate(split(1)) oLICDATE = CDate(split(1))
Catch ex As Exception Catch ex As Exception
LOGGER.Warn($"Error Converting Value {split(1)} to DATE") LOGGER.Warn($"⚠️ Error Converting Value {split(1)} to DATE")
Try Try
Dim expenddt As Date = Date.ParseExact(split(1), "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo) Dim expenddt As Date = Date.ParseExact(split(1), "dd.MM.yyyy", System.Globalization.DateTimeFormatInfo.InvariantInfo)
oLICDATE = expenddt oLICDATE = expenddt
Catch ex1 As Exception Catch ex1 As Exception
LOGGER.Warn($"Second Error Converting DATE with ParseExact - Setting Date = Today") LOGGER.Warn($"⚠️Second Error Converting DATE with ParseExact - Setting Date = Today")
oLICDATE = Now.Date oLICDATE = Now.Date
End Try End Try
@@ -329,12 +331,9 @@ Public Class ClassInit
LOGGER.Debug("Username: " & USER_USERNAME) LOGGER.Debug("Username: " & USER_USERNAME)
Dim oFnct As New RefreshHelper.SW("FNDD_LOGIN_USER_MODULE") 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) oSQL = String.Format("SELECT * FROM [dbo].[FNDD_LOGIN_USER_MODULE] ('{0}','PM',{1})", USER_USERNAME, CLIENT_SELECTED)
Dim DT_CHECKUSER_MODULE As DataTable Dim DT_CHECKUSER_MODULE As DataTable
DT_CHECKUSER_MODULE = DatabaseFallback.GetDatatableECM(oSQL)
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() oFnct.Done()
If DT_CHECKUSER_MODULE.Rows.Count = 0 Then If DT_CHECKUSER_MODULE.Rows.Count = 0 Then
@@ -357,6 +356,7 @@ Public Class ClassInit
USER_EMAIL = IIf(IsDBNull(DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")), "", DT_CHECKUSER_MODULE.Rows(0).Item("USER_EMAIL")) 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_LANGUAGE = DT_CHECKUSER_MODULE.Rows(0).Item("USER_LANGUAGE")
USER_MODULE_ID = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ID")
USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS") USER_IN_MODULE = DT_CHECKUSER_MODULE.Rows(0).Item("MODULE_ACCESS")
@@ -380,18 +380,20 @@ Public Class ClassInit
LOGGER.Debug("User Info:") LOGGER.Debug("User Info:")
LOGGER.Debug("Language: [{0}]", USER_LANGUAGE) LOGGER.Debug("Language: [{0}]", USER_LANGUAGE)
LOGGER.Debug("Username: [{0}]", USER_USERNAME) LOGGER.Debug("Username: [{0}]", USER_USERNAME)
LOGGER.Debug("Environment.MachineName: [{0}]", Environment.MachineName)
LOGGER.Debug("CurrentUICulture after set: [{0}]", System.Globalization.CultureInfo.CurrentUICulture.Name)
LOGGER.Debug("CurrentCulture after set: [{0}]", System.Globalization.CultureInfo.CurrentCulture.Name)
Try 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")) 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"))
Catch ex As Exception Catch ex As Exception
LOGGER.Warn("Error in USER_RIGHT_FILE_DELETE: " & ex.Message) LOGGER.Warn("⚠️ Error in USER_RIGHT_FILE_DELETE: " & ex.Message)
USER_RIGHT_FILE_DELETE = False USER_RIGHT_FILE_DELETE = False
End Try End Try
USER_DATE_FORMAT = DT_CHECKUSER_MODULE.Rows(0).Item("USER_DATE_FORMAT") USER_DATE_FORMAT = DT_CHECKUSER_MODULE.Rows(0).Item("USER_DATE_FORMAT")
ClassParamRefresh.Refresh_Params(DT_CHECKUSER_MODULE) ClassParamRefresh.Refresh_Params(DT_CHECKUSER_MODULE, "Load")
FINALINDICES = New ClassFinalIndex() FINALINDICES = New ClassFinalIndex()
@@ -400,18 +402,22 @@ Public Class ClassInit
Try Try
USER_RIGHT_VIEW_ONLY = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT2") USER_RIGHT_VIEW_ONLY = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT2")
LOGGER.Debug("USER_RIGHT_VIEW_ONLY: " & USER_RIGHT_VIEW_ONLY.ToString)
Catch ex As Exception Catch ex As Exception
USER_RIGHT_VIEW_ONLY = False USER_RIGHT_VIEW_ONLY = False
LOGGER.Info("⚠️ Error in USER_RIGHT_VIEW_ONLY: " & ex.Message)
End Try End Try
Try Try
USER_RIGHT3 = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT3") USER_RIGHT3 = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT3")
Catch ex As Exception Catch ex As Exception
USER_RIGHT3 = False USER_RIGHT3 = False
LOGGER.Info("⚠️ Error in USER_RIGHT3: " & ex.Message)
End Try End Try
Try Try
USER_RIGHT4 = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT4") USER_RIGHT4 = DT_CHECKUSER_MODULE.Rows(0).Item("USER_RIGHT4")
Catch ex As Exception Catch ex As Exception
USER_RIGHT4 = False USER_RIGHT4 = False
LOGGER.Info("⚠️ Error in USER_RIGHT4: " & ex.Message)
End Try End Try
LOGGER.Debug("User exists....") LOGGER.Debug("User exists....")
@@ -462,7 +468,7 @@ Public Class ClassInit
' DataASorDB = New ClassDataASorDB ' DataASorDB = New ClassDataASorDB
'End If 'End If
Dim oStopWatch As New RefreshHelper.SW("InitBasics") Dim oStopWatch As New RefreshHelper.SW("InitBasics")
Dim oSql = String.Format("select * from TBPM_KONFIGURATION WHERE GUID = 1") Dim oSql = String.Format("select * from TBPM_KONFIGURATION WITH (NOLOCK) WHERE GUID = 1")
oStep = "TBPM_KONFIGURATION" oStep = "TBPM_KONFIGURATION"
BASEDATA_DT_CONFIG = DatabaseFallback.GetDatatable("TBPM_KONFIGURATION", New GetDatatableOptions(oSql, DatabaseType.ECM) With { BASEDATA_DT_CONFIG = DatabaseFallback.GetDatatable("TBPM_KONFIGURATION", New GetDatatableOptions(oSql, DatabaseType.ECM) With {
@@ -473,10 +479,18 @@ Public Class ClassInit
Settings_LoadBasicConfig() Settings_LoadBasicConfig()
oStep = "TBDD_CONNECTION" oStep = "TBDD_CONNECTION"
oSql = "select * from TBDD_CONNECTION WHERE AKTIV = 1" oSql = "select * from TBDD_CONNECTION WITH (NOLOCK) WHERE AKTIV = 1"
'BASEDATA_DT_TBDD_CONNECTION = DataASorDB.GetDatatable("DD_ECM", oSql, "TBDD_CONNECTION", "") 'BASEDATA_DT_TBDD_CONNECTION = DataASorDB.GetDatatable("DD_ECM", oSql, "TBDD_CONNECTION", "")
BASEDATA_DT_TBDD_CONNECTION = DatabaseFallback.GetDatatable("TBDD_CONNECTION", New GetDatatableOptions(oSql, DatabaseType.ECM)) BASEDATA_DT_TBDD_CONNECTION = DatabaseFallback.GetDatatable("TBDD_CONNECTION", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBDD_CATALOG"
oSql = "select CAT_TITLE,CAT_STRING from TBDD_CATALOG"
BASEDATA_DT_TBDD_CATALOG = DatabaseFallback.GetDatatable("TBDD_CATALOG", New GetDatatableOptions(oSql, DatabaseType.ECM))
For Each oROW As DataRow In BASEDATA_DT_TBDD_CATALOG.Rows
Next
oStep = "TBDD_3RD_PARTY_MODULES" oStep = "TBDD_3RD_PARTY_MODULES"
oSql = "Select * FROM TBDD_3RD_PARTY_MODULES WHERE ACTIVE = 1" oSql = "Select * FROM TBDD_3RD_PARTY_MODULES WHERE ACTIVE = 1"
Dim oTBDD_3RD_PARTY_MODULES As DataTable Dim oTBDD_3RD_PARTY_MODULES As DataTable
@@ -492,37 +506,43 @@ Public Class ClassInit
LOGGER.Warn($"Keine GDPICTURE-Lizenz gefunden. Version Konfiguration: {My.Settings.GDPICTURE_VERSION} - Prüfe TBDD_3RD_PARTY_MODULES") LOGGER.Warn($"Keine GDPICTURE-Lizenz gefunden. Version Konfiguration: {My.Settings.GDPICTURE_VERSION} - Prüfe TBDD_3RD_PARTY_MODULES")
End If End If
oStep = "TBDD_SQL_COMMANDS" oStep = "TBDD_SQL_COMMANDS"
oSql = "Select * FROM TBDD_SQL_COMMANDS" oSql = "Select * FROM TBDD_SQL_COMMANDS WITH (NOLOCK)"
BASEDATA_DT_TBDD_SQL_COMMANDS = DatabaseFallback.GetDatatable("TBDD_SQL_COMMANDS", New GetDatatableOptions(oSql, DatabaseType.ECM)) BASEDATA_DT_TBDD_SQL_COMMANDS = DatabaseFallback.GetDatatable("TBDD_SQL_COMMANDS", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBDD_GUI_LANGUAGE_PHRASE" 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 WITH (NOLOCK) 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 = 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)) BASEDATA_DT_GUI_LANGUAGE_PHRASES = DatabaseFallback.GetDatatable("TBDD_GUI_LANGUAGE_PHRASE", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBPM_PROFILE_SEARCH" oStep = "TBPM_PROFILE_SEARCH"
oSql = "select * from TBPM_PROFILE_SEARCH where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX" oSql = "select * from TBPM_PROFILE_SEARCH WITH (NOLOCK) where TYPE = 'DOC' AND ACTIVE = 1 ORDER BY PROFILE_ID,TAB_INDEX"
BASEDATA_DT_PROFILES_SEARCHES_DOC = DatabaseFallback.GetDatatable("TBPM_PROFILE_SEARCH", New GetDatatableOptions(oSql, DatabaseType.ECM) With { BASEDATA_DT_PROFILES_SEARCHES_DOC = DatabaseFallback.GetDatatable("TBPM_PROFILE_SEARCH", New GetDatatableOptions(oSql, DatabaseType.ECM) With {
.FilterExpression = "TYPE = 'DOC'",
.SortByColumn = "PROFILE_ID,TAB_INDEX" .SortByColumn = "PROFILE_ID,TAB_INDEX"
}) })
DT_FILTERED_PROFILE_SEARCHES_DOC = BASEDATA_DT_PROFILES_SEARCHES_DOC.Clone() DT_FILTERED_PROFILE_SEARCHES_DOC = BASEDATA_DT_PROFILES_SEARCHES_DOC.Clone()
oStep = "TBPM_MAIN_VIEW_GROUPS" oStep = "TBPM_MAIN_VIEW_GROUPS"
oSql = "SELECT * FROM TBPM_MAIN_VIEW_GROUPS WHERE ACTIVE = 1" oSql = "SELECT * FROM TBPM_MAIN_VIEW_GROUPS WITH (NOLOCK) WHERE ACTIVE = 1"
BASEDATA_DTGRID_GROUPS = DatabaseFallback.GetDatatable("TBPM_MAIN_VIEW_GROUPS", New GetDatatableOptions(oSql, DatabaseType.ECM)) BASEDATA_DTGRID_GROUPS = DatabaseFallback.GetDatatable("TBPM_MAIN_VIEW_GROUPS", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBPM_CHART" oStep = "TBPM_CHART"
oSql = "SELECT * FROM TBPM_CHART" oSql = "SELECT * FROM TBPM_CHART WITH (NOLOCK)"
BASEDATA_DT_CHARTS = DatabaseFallback.GetDatatable("TBPM_CHART", New GetDatatableOptions(oSql, DatabaseType.ECM)) BASEDATA_DT_CHARTS = DatabaseFallback.GetDatatable("TBPM_CHART", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStep = "TBDD_GUI_LANGUAGE" oStep = "TBDD_GUI_LANGUAGE"
oSql = "SELECT LANG_CODE FROM TBDD_GUI_LANGUAGE WHERE ACTIVE = 1 ORDER BY LANG_CODE" oSql = "SELECT LANG_CODE FROM TBDD_GUI_LANGUAGE WITH (NOLOCK) WHERE ACTIVE = 1 ORDER BY LANG_CODE"
BASEDATA_DT_LANGUAGE = DatabaseFallback.GetDatatable("TBDD_GUI_LANGUAGE", New GetDatatableOptions(oSql, DatabaseType.ECM)) BASEDATA_DT_LANGUAGE = DatabaseFallback.GetDatatable("TBDD_GUI_LANGUAGE", New GetDatatableOptions(oSql, DatabaseType.ECM))
oSql = "SELECT * FROM TBDD_COLUMNS_FORMAT WITH (NOLOCK) WHERE MODULE = 'taskFLOW'"
BASEDATA_TBDD_COLUMNS_FORMAT = DatabaseFallback.GetDatatable("TBDD_COLUMNS_FORMAT", New GetDatatableOptions(oSql, DatabaseType.ECM))
oStopWatch.Done() oStopWatch.Done()
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info($"Unexpected Error in InitBasics - last Step [{oStep}]: {ex.Message}", True) LOGGER.Info($"Unexpected Error in InitBasics - last Step [{oStep}]: {ex.Message}", True)
@@ -543,6 +563,48 @@ Public Class ClassInit
LOGGER.Warn($"no profiles for user: '{USER_USERNAME}' configured - Check SQL [{oSql}]!", False) LOGGER.Warn($"no profiles for user: '{USER_USERNAME}' configured - Check SQL [{oSql}]!", False)
End If End If
oSql = "SELECT KEY_NAME, VALUE_TEXT1
FROM TBDD_USER_KEY_VALUE_PAIR WITH (NOLOCK)
WHERE FK_USER_ID = " & USER_ID & " And [FK_MODULE_ID] = '" & USER_MODULE_ID & "'"
Dim oDT_USER_KEY_VALUE_PAIR As DataTable = DatabaseFallback.GetDatatable(New GetDatatableOptions(oSql, DatabaseType.ECM))
If UserInheritance_ConfirmationByColumn Is Nothing Then
UserInheritance_ConfirmationByColumn = New List(Of UserInheritanceConfirmation)()
End If
If Not IsNothing(oDT_USER_KEY_VALUE_PAIR) Then
For Each row As DataRow In oDT_USER_KEY_VALUE_PAIR.Rows
Dim keyName As String = row("KEY_NAME").ToString()
' Prüfe ob es sich um einen Inheritance-Key handelt
If keyName.StartsWith("INHERITANCE_CONFIRM_") Then
Dim columnName As String = keyName.Replace("INHERITANCE_CONFIRM_", "")
Dim countValue As Integer = Integer.Parse(row("VALUE_TEXT1").ToString())
Dim existingEntry = UserInheritance_ConfirmationByColumn.FirstOrDefault(
Function(e) String.Equals(e.ColumnName, columnName, StringComparison.OrdinalIgnoreCase))
If existingEntry IsNot Nothing Then
existingEntry.Count = countValue
Else
UserInheritance_ConfirmationByColumn.Add(
New UserInheritanceConfirmation With {
.ColumnName = columnName,
.Count = countValue
})
End If
LOGGER.Debug("Loaded inheritance confirmation for column [{0}] with count [{1}]", columnName, countValue)
End If
Next
Else
LOGGER.Warn("⚠️ oDT_USER_KEY_VALUE_PAIR is nothing")
End If
oStopWatch.Done() oStopWatch.Done()
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
@@ -554,7 +616,7 @@ Public Class ClassInit
<STAThread()> <STAThread()>
Private Function Settings_LoadBasicConfig() Private Function Settings_LoadBasicConfig()
Try Try
Dim oSql As String = "select * from tbdd_Modules where SHORT_NAME = 'PM'" Dim oSql As String = "select * from tbdd_Modules WITH (NOLOCK) where SHORT_NAME = 'PM'"
Dim oDTtbdd_Modules As DataTable Dim oDTtbdd_Modules As DataTable
'oDTtbdd_Modules = DataASorDB.GetDatatable("DD_ECM", oSql, "tbdd_Modules", $" SHORT_NAME = 'PM'") 'oDTtbdd_Modules = DataASorDB.GetDatatable("DD_ECM", oSql, "tbdd_Modules", $" SHORT_NAME = 'PM'")
oDTtbdd_Modules = DatabaseFallback.GetDatatable("TBDD_MODULES", New GetDatatableOptions(oSql, DatabaseType.ECM) With { oDTtbdd_Modules = DatabaseFallback.GetDatatable("TBDD_MODULES", New GetDatatableOptions(oSql, DatabaseType.ECM) With {

View File

@@ -35,7 +35,7 @@ Public Class ClassPMWindream
#End Region #End Region
#Region "+++++ Variablen +++++" #Region "+++++ Variablen +++++"
Private oController As New WMOSearchController 'Private oController As New WMOSearchController
#End Region #End Region
#Region "+++++ Allgemeine Methoden und Funktionen +++++" #Region "+++++ Allgemeine Methoden und Funktionen +++++"
@@ -152,14 +152,20 @@ Public Class ClassPMWindream
'Den Typ des Index-Feldes auslesen 'Den Typ des Index-Feldes auslesen
'MsgBox(value.GetType.ToString) 'MsgBox(value.GetType.ToString)
Select Case vType Select Case vType
'Case WMObjectVariableValueTypeUndefined
Case WMObjectVariableValueTypeString Case WMObjectVariableValueTypeString
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString") LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeString")
convertValue = CStr(value) If value = "DeleteWMAttributeValue" Then
LOGGER.Debug("DeleteWMAttributeValue - simpleAttribute with String.Empty")
convertValue = CStr(String.Empty)
Else
convertValue = CStr(value)
End If
Case WMObjectVariableValueTypeInteger Case WMObjectVariableValueTypeInteger
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger") LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeInteger")
If IsNumeric(value) = False Then If IsNumeric(value) = False Then
If value = "String.Empty" Then If value = String.Empty Then
LOGGER.Debug("Indexing WMObjectVariableValueTypeInteger with vbEmpty")
convertValue = vbEmpty convertValue = vbEmpty
Else Else
frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value frmValidator.idxerr_message = "Unerlaubte Eingabe in Numerisches Feld: " & value
@@ -187,7 +193,8 @@ Public Class ClassPMWindream
Case WMObjectVariableValueTypeFloat Case WMObjectVariableValueTypeFloat
LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat") LOGGER.Debug("Typ des windream-Indexes: WMObjectVariableValueTypeFloat")
Try Try
convertValue = CDbl(value) value = Replace(value, ".", ",")
convertValue = Convert.ToDouble(value)
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!" frmValidator.idxerr_message = "Could't convert value '" & value & "' to double!"
@@ -288,17 +295,9 @@ Public Class ClassPMWindream
LOGGER.Info(" >> Unexpected Error in Logging SetVariableValue for " & aName & ": " & ex.Message, False) LOGGER.Info(" >> Unexpected Error in Logging SetVariableValue for " & aName & ": " & ex.Message, False)
End Try End Try
'Dim ArrValues()
'ReDim ArrValues(0)
'ArrValues(0) = convertValue If _int = True Then
'Dim ArrName()
'ReDim ArrName(0)
'ArrName(0) = "Tournr"
'oDocument.SetValues(ArrName, ArrValues)
If convertValue = "String.Empty" Or convertValue = vbEmpty Then
LOGGER.Debug("Now Indexing simpleAttribute with vbEmpty ...")
oDocument.SetVariableValue(aName, String.Empty)
ElseIf _int = True Then
oDocument.SetVariableValue(aName, CInt(convertValue)) oDocument.SetVariableValue(aName, CInt(convertValue))
ElseIf _date = True Then ElseIf _date = True Then
oDocument.SetVariableValue(aName, CDate(convertValue)) oDocument.SetVariableValue(aName, CDate(convertValue))
@@ -316,120 +315,135 @@ Public Class ClassPMWindream
Else Else
'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST 'VEKTORFELDER, ALSO ÜBERPRÜFEN OB ERGEBNIS-ARRAY GEFÜLLT IST
LOGGER.Debug("VEKTORFELD: Vorbereiten des Arrays", False) LOGGER.Debug("VEKTORFELD: Vorbereiten des Arrays", False)
Dim myArray() If aValues(0).ToString.Contains("DeleteWMAttributeValue") Then
'Dim anz As Integer = 0 'Variante um Vektorfeld zu leeren
'For Each obj In aValues Dim myArray()
'ReDim Preserve myArray(anz) ReDim myArray(aValues.Length - 1)
Select Case vType myArray(0) = String.Empty
Case 4100 LOGGER.Debug("Now Indexing vektor-attribute with String.Empty ...")
'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
If myArray(0) = "String.Empty" Then
LOGGER.Debug("Now Indexing vektor-attribute with vbEmpty ...")
oDocument.SetVariableValue(aName, vbEmpty)
Else
oDocument.SetVariableValue(aName, myArray) 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 End If
LOGGER.Debug("'SetVariableValue' für VEKTOR erfolgreich", False) LOGGER.Debug("'SetVariableValue' für VEKTOR erfolgreich", False)
End If End If
End If End If

View File

@@ -1,7 +1,8 @@
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Public Class ClassParamRefresh Public Class ClassParamRefresh
Public Shared Sub Refresh_Params(DT_CHECKUSER As DataTable) Public Shared Sub Refresh_Params(DT_CHECKUSER As DataTable, pMode As String)
LOGGER.Debug("Refresh_Params starting ...")
Dim oStopwatch As New RefreshHelper.SW("Refresh_Params") Dim oStopwatch As New RefreshHelper.SW("Refresh_Params")
FORCE_LAYOUT_OVERVIEW = False FORCE_LAYOUT_OVERVIEW = False
SHOW_CHARTS = True SHOW_CHARTS = True
@@ -28,16 +29,18 @@ Public Class ClassParamRefresh
End If End If
End If End If
LOGGER.Debug("Refresh_Params BASEDATA_DT_TBDD_SQL_COMMANDS done!")
If DT_CHECKUSER.Rows.Count = 1 Then If DT_CHECKUSER.Rows.Count = 1 Then
If oLicenseoverSQL = False Then If oLicenseoverSQL = False Then
USERCOUNT_LOGGED_IN = DT_CHECKUSER.Rows(0).Item("USERCOUNT_LOGGED_IN") USERCOUNT_LOGGED_IN = DT_CHECKUSER.Rows(0).Item("USERCOUNT_LOGGED_IN")
LOGGER.Debug(String.Format("Refresh_Params USERCOUNT_LOGGED_IN {0}", USERCOUNT_LOGGED_IN.ToString))
End If End If
Try Try
WORKING_MODE = DT_CHECKUSER.Rows(0).Item("WORKING_MODE") WORKING_MODE = DT_CHECKUSER.Rows(0).Item("WORKING_MODE")
LOGGER.Debug(String.Format("Refresh_Params WORKING_MODE {0}", WORKING_MODE.ToString))
Catch ex As Exception Catch ex As Exception
WORKING_MODE = "" WORKING_MODE = ""
End Try End Try
@@ -47,6 +50,7 @@ Public Class ClassParamRefresh
If ADDITIONAL_TITLE = String.Empty Then If ADDITIONAL_TITLE = String.Empty Then
ADDITIONAL_TITLE = My.Application.Info.ProductName ADDITIONAL_TITLE = My.Application.Info.ProductName
End If End If
LOGGER.Debug(String.Format("Refresh_Params ADDITIONAL_TITLE {0}", ADDITIONAL_TITLE.ToString))
Catch ex As Exception Catch ex As Exception
ADDITIONAL_TITLE = My.Application.Info.ProductName ADDITIONAL_TITLE = My.Application.Info.ProductName
End Try End Try
@@ -56,203 +60,242 @@ Public Class ClassParamRefresh
' Use For Each loop over words and display them. ' Use For Each loop over words and display them.
Dim oMode As String Dim oMode As String
For Each oMode In oSplitWorkMode For Each oMode In oSplitWorkMode
LOGGER.Debug($"oWorkingMode Parameter: {oMode}") ProcessWorkingModeParameter(oMode, pMode)
If oMode = "PM.FORCE_LAYOUT_OVERVIEW" Then 'LOGGER.Debug($"oWorkingMode Parameter: {oMode}")
FORCE_LAYOUT_OVERVIEW = True 'If oMode = "PM.FORCE_LAYOUT_OVERVIEW" Then
LOGGER.Debug($"FORCE_LAYOUT_OVERVIEW [{FORCE_LAYOUT_OVERVIEW}]") ' FORCE_LAYOUT_OVERVIEW = True
ElseIf oMode = "PM.NO_MASS_VALIDATOR" Then ' LOGGER.Debug($"FORCE_LAYOUT_OVERVIEW [{FORCE_LAYOUT_OVERVIEW}]")
SHOW_MASS_VALIDATOR = False 'ElseIf oMode = "PM.NO_MASS_VALIDATOR" Then
LOGGER.Info($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]") ' SHOW_MASS_VALIDATOR = False
ElseIf oMode = "PM.NO_CHARTS" Then ' LOGGER.Info($"SHOW_MASS_VALIDATOR [{SHOW_MASS_VALIDATOR}]")
SHOW_CHARTS = False 'ElseIf oMode = "PM.NO_CHARTS" Then
LOGGER.Debug($"SHOW_CHARTS [{SHOW_CHARTS}]") ' SHOW_CHARTS = False
ElseIf oMode = "PM.DEBUG_LOG" Then ' LOGGER.Debug($"SHOW_CHARTS [{SHOW_CHARTS}]")
DEBUG = True 'ElseIf oMode = "PM.DEBUG_LOG" Then
LOGCONFIG.Debug = True ' DEBUG = True
ElseIf oMode.StartsWith("OPERATION_MODE_FS") Then ' LOGCONFIG.Debug = True
OPERATION_MODE_FS = oMode.Replace("OPERATION_MODE_FS=", "") 'ElseIf oMode = "PM.LOG_HOTSPOTS" Then
If OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM Then ' LOG_HOTSPOTS = True
IDB_USES_WMFILESTORE = True 'ElseIf oMode.StartsWith("OPERATION_MODE_FS") Then
End If ' OPERATION_MODE_FS = oMode.Replace("OPERATION_MODE_FS=", "")
LOGGER.Info("OPERATION_MODE_FS: " + OPERATION_MODE_FS) ' If OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM Then
ElseIf oMode = "PM.IDBWITHWMFS" Then ' IDB_USES_WMFILESTORE = True
IDB_USES_WMFILESTORE = True ' End If
ElseIf oMode = "PM.NO_BASICCONF" Then ' LOGGER.Info("OPERATION_MODE_FS: " + OPERATION_MODE_FS)
BASIC_CONF_VISIBLE = False 'ElseIf oMode = "PM.IDBWITHWMFS" Then
LOGGER.Info($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]") ' IDB_USES_WMFILESTORE = True
ElseIf oMode = "PM.SYS_LOCKED_MAINTENANCE" Then 'ElseIf oMode = "PM.NO_BASICCONF" Then
SYS_LOCKED_MAINTENANCE = True ' BASIC_CONF_VISIBLE = False
ElseIf oMode.StartsWith("PM.IDB_CONID!") Then ' LOGGER.Info($"BASIC_CONF_VISIBLE [{BASIC_CONF_VISIBLE}]")
If CONNECTION_STRING_IDB <> "" And dbIDBInitialized = True Then 'ElseIf oMode = "PM.SYS_LOCKED_MAINTENANCE" Then
IDB_ACTIVE = True ' SYS_LOCKED_MAINTENANCE = True
Continue For 'ElseIf oMode.StartsWith("PM.IDB_CONID!") Then
Else ' If CONNECTION_STRING_IDB <> "" And dbIDBInitialized = True Then
Dim Database_IDB As MSSQLServer = Nothing ' IDB_ACTIVE = True
Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "") ' Continue For
' Else
' Dim Database_IDB As MSSQLServer = Nothing
' Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "")
' Dim oConString = DatabaseFallback.GetConnectionString(CON_ID)
' CONNECTION_STRING_IDB = oConString
' Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB)
' If Database_IDB.DBInitialized = True Then
' IDB_ACTIVE = True
' LOGGER.Info($"IDB is active - IDB-Connection [{CON_ID}]!")
' DatabaseFallback.InitializeIDB(Database_IDB)
' Else
' IDB_ACTIVE = False
' End If
' 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($"MONITORING_ACTIVE [{MONITORING_ACTIVE}]")
'ElseIf oMode = "PM.GHOSTMODE" Then
' GHOSTMODE_ACTIVE = True
' LOGGER.Info($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]")
'ElseIf oMode.StartsWith("PM.COLORSCHEME") Then
' Dim oColorScheme = oMode.Replace("PM.COLORSCHEME=", "")
' RIBBON_COLOR_SCHEME = oColorScheme.ToUpper
' LOGGER.Debug($"RIBBON_COLOR_SCHEME [{RIBBON_COLOR_SCHEME}]")
'ElseIf oMode.StartsWith("PM.NO_DETAIL_PROFILES") Then
' NO_DETAIL_PROFILES = True
' LOGGER.Debug($"NO_DETAIL_PROFILES [{NO_DETAIL_PROFILES}]")
'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
Dim oConString = DatabaseFallback.GetConnectionString(CON_ID) 'ElseIf oMode.StartsWith("PM.CONV_IDENTIFICATION") Then
' Dim oIdent = oMode.Replace("PM.CONV_IDENTIFICATION=", "")
' CONV_IDENTIFICATION = oIdent
'ElseIf oMode.StartsWith("PM.INACTIVITY_DURATION") Then
' Dim oInactivityDuration = oMode.Replace("PM.INACTIVITY_DURATION=", "")
' Try
' INACTIVITY_DURATION = CInt(oInactivityDuration)
' LOGGER.Debug($"InactivityDuration [{INACTIVITY_DURATION}]")
' Catch ex As Exception
' LOGGER.Warn($"INACTIVITY_DURATION = 0 - {ex.Message}")
' INACTIVITY_DURATION = 0
' End Try
'ElseIf oMode.StartsWith("PM.COL_LAST_EDITED") Then
' Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_EDITED=", "")
' Try
' LAST_EDITED_COLUMN = oLEDITEDCOL
' LOGGER.Debug($"LAST_EDITED_COLUMN: {oLEDITEDCOL}")
' Catch ex As Exception
' LAST_EDITED_COLUMN = ""
CONNECTION_STRING_IDB = oConString ' End Try
Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB) 'ElseIf oMode.StartsWith("PM.COL_LAST_ADDED") Then
If Database_IDB.DBInitialized = True Then ' Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_ADDED=", "")
IDB_ACTIVE = True ' Try
LOGGER.Info($"IDB is active - IDB-Connection [{CON_ID}]!") ' LAST_ADDED_COLUMN = oLEDITEDCOL
DatabaseFallback.InitializeIDB(Database_IDB) ' LOGGER.Debug($"LAST_ADDED_COLUMN: {oLEDITEDCOL}")
Else ' Catch ex As Exception
IDB_ACTIVE = False ' LAST_ADDED_COLUMN = ""
End If
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($"MONITORING_ACTIVE [{MONITORING_ACTIVE}]")
ElseIf oMode = "PM.GHOSTMODE" Then
GHOSTMODE_ACTIVE = True
LOGGER.Info($"GHOSTMODE_ACTIVE [{GHOSTMODE_ACTIVE}]")
ElseIf oMode.StartsWith("PM.COLORSCHEME") Then
Dim oColorScheme = oMode.Replace("PM.COLORSCHEME=", "")
RIBBON_COLOR_SCHEME = oColorScheme.ToUpper
LOGGER.Debug($"RIBBON_COLOR_SCHEME [{RIBBON_COLOR_SCHEME}]")
ElseIf oMode.StartsWith("PM.NO_DETAIL_PROFILES") Then
NO_DETAIL_PROFILES = True
LOGGER.Debug($"NO_DETAIL_PROFILES [{NO_DETAIL_PROFILES}]")
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 ' End Try
Dim oIdent = oMode.Replace("PM.CONV_IDENTIFICATION=", "") 'ElseIf oMode.StartsWith("PM.MON_COL_CHANGED_WHEN") Then
CONV_IDENTIFICATION = oIdent ' Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_CHANGED_WHEN=", "")
ElseIf oMode.StartsWith("PM.INACTIVITY_DURATION") Then ' Try
Dim oInactivityDuration = oMode.Replace("PM.INACTIVITY_DURATION=", "") ' MON_EDITED_COLUMN = oLEDITEDCOL
Try ' LOGGER.Debug($"MON_EDITED_COLUMN: {oLEDITEDCOL}")
INACTIVITY_DURATION = CInt(oInactivityDuration) ' Catch ex As Exception
LOGGER.Debug($"InactivityDuration [{INACTIVITY_DURATION}]")
Catch ex As Exception
LOGGER.Warn($"INACTIVITY_DURATION = 0 - {ex.Message}")
INACTIVITY_DURATION = 0
End Try
ElseIf oMode.StartsWith("PM.COL_LAST_EDITED") Then
Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_EDITED=", "")
Try
LAST_EDITED_COLUMN = oLEDITEDCOL
LOGGER.Debug($"LAST_EDITED_COLUMN: {oLEDITEDCOL}")
Catch ex As Exception
LAST_EDITED_COLUMN = ""
End Try ' End Try
ElseIf oMode.StartsWith("PM.COL_LAST_ADDED") Then 'ElseIf oMode.StartsWith("PM.MON_COL_ADDED_WHEN") Then
Dim oLEDITEDCOL = oMode.Replace("PM.COL_LAST_ADDED=", "") ' Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_ADDED_WHEN=", "")
Try ' Try
LAST_ADDED_COLUMN = oLEDITEDCOL ' MON_ADDED_COLUMN = oLEDITEDCOL
LOGGER.Debug($"LAST_ADDED_COLUMN: {oLEDITEDCOL}") ' LOGGER.Debug($"MON_COL_ADDED_WHEN: {oLEDITEDCOL}")
Catch ex As Exception ' Catch ex As Exception
LAST_ADDED_COLUMN = ""
End Try ' End Try
ElseIf oMode.StartsWith("PM.MON_COL_CHANGED_WHEN") Then 'ElseIf oMode.StartsWith("PM.USE_APPSERVER") Then
Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_CHANGED_WHEN=", "") ' Dim oUSE_APPSERVER = oMode.Replace("PM.USE_APPSERVER=", "")
Try ' Try
MON_EDITED_COLUMN = oLEDITEDCOL ' USE_APPSERVER = CBool(oUSE_APPSERVER)
LOGGER.Debug($"MON_EDITED_COLUMN: {oLEDITEDCOL}") ' Catch ex As Exception
Catch ex As Exception ' USE_APPSERVER = False
' End Try
'ElseIf oMode.StartsWith("PM.COPYWM2TEMP") Then
' Dim oCOPYWM2TEMP = oMode.Replace("PM.COPYWM2TEMP=", "")
' Try
' COPY_WMFILE_2TEMP = CBool(oCOPYWM2TEMP)
' Catch ex As Exception
' COPY_WMFILE_2TEMP = False
' End Try
'ElseIf oMode.StartsWith("PM.MAP_SHARE_DRIVE") Then
' Dim oMAP_SHARE_DRIVE = oMode.Replace("PM.MAP_SHARE_DRIVE=", "")
' Try
' MAP_SHARE_DRIVE = oMAP_SHARE_DRIVE
' Catch ex As Exception
' oMAP_SHARE_DRIVE = String.Empty
' End Try
'ElseIf oMode.StartsWith("PM.MAP_BLACKLIST") Then
' Dim oMAP_BLACKLIST = oMode.Replace("PM.MAP_BLACKLIST=", "")
' Try
' MAP_BLACKLIST = oMAP_BLACKLIST
' Catch ex As Exception
' MAP_BLACKLIST = String.Empty
' End Try
'ElseIf oMode.StartsWith("PM.SEARCH1") Then
' Dim oSearch1 = oMode.Replace("PM.SEARCH1=", "")
' Try
' SEARCH1 = oSearch1
' Catch ex As Exception
' SEARCH1 = ""
' End Try
'ElseIf oMode.StartsWith("PM.SEARCH2") Then
' Dim oSearch2 = oMode.Replace("PM.SEARCH2=", "")
' Try
' SEARCH2 = oSearch2
' Catch ex As Exception
' SEARCH2 = ""
' End Try
'ElseIf oMode.StartsWith("PM.TRAFFICLIGHT_ICON") Then
' Dim oParam = oMode.Replace("PM.TRAFFICLIGHT_ICON=", "")
' Try
' TL_ICON = CBool(oParam)
' Catch ex As Exception
' TL_ICON = False
' End Try
'ElseIf oMode.StartsWith("PM.TITLE_NOTIFICATIONS") Then
' Dim oParam = oMode.Replace("PM.TITLE_NOTIFICATIONS=", "")
' Try
' TITLE_NOTIFICATIONS = oParam
' Catch ex As Exception
' TITLE_NOTIFICATIONS = ""
' End Try
'ElseIf oMode.StartsWith("TF.InheritanceMsgAmount") And pMode = "Load" Then
' Dim oParam = oMode.Replace("TF.InheritanceMsgAmount=", "")
' Try
' InheritanceMsgAmount = oParam
' Catch ex As Exception
' End Try
'ElseIf oMode.StartsWith("TF.InheritanceCalcReset") And pMode = "Load" Then
' Dim oParam = oMode.Replace("TF.InheritanceCalcReset=", "")
' Try
' If CBool(oParam) = True Then
' LOGGER.Info("Inheritance_Counts werden auf 0 zurückgesetzt bzw gelöscht")
' Dim oDELETESQL = "DELETE FROM TBDD_USER_KEY_VALUE_PAIR
' WHERE FK_USER_ID = " & USER_ID & " And [FK_MODULE_ID] = '" & USER_MODULE_ID & "' AND KEY_NAME LIKE 'INHERITANCE_CONFIRM_%'"
' DatabaseECM.ExecuteNonQuery(oDELETESQL)
End Try ' UserInheritance_ConfirmationByColumn = Nothing
ElseIf oMode.StartsWith("PM.MON_COL_ADDED_WHEN") Then ' CONFIG.Save()
Dim oLEDITEDCOL = oMode.Replace("PM.MON_COL_ADDED_WHEN=", "") ' End If
Try ' Catch ex As Exception
MON_ADDED_COLUMN = oLEDITEDCOL
LOGGER.Debug($"MON_COL_ADDED_WHEN: {oLEDITEDCOL}")
Catch ex As Exception
' End Try
'ElseIf oMode.StartsWith("PM.START_CW") Then
' Dim oAfterReplace = oMode.Replace("PM.START_CW=", "")
' Try
' START_CW = True
' LOGGER.Debug("PM.START_CW = True")
' Dim oSplit As String() = oAfterReplace.Split("~")
' START_CW_CAPTION = oSplit(0)
' Try
' START_CW_LOC_VARIANT = oSplit(1)
' Catch ex As Exception
' START_CW_LOC_VARIANT = "-1"
' LOGGER.Warn($"Could not read START_CW_LOCVARIANT : {ex.Message}")
' End Try
End Try ' Catch ex As Exception
ElseIf oMode.StartsWith("PM.USE_APPSERVER") Then ' LOGGER.Warn($"Could not read START_CW Param: {ex.Message}")
Dim oUSE_APPSERVER = oMode.Replace("PM.USE_APPSERVER=", "") ' START_CW = False
Try ' End Try
USE_APPSERVER = CBool(oUSE_APPSERVER) 'ElseIf oMode.StartsWith("PM.RibbonPageCustTitle") Then
Catch ex As Exception ' Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustTitle=", "")
USE_APPSERVER = False ' RibbonPageCustTitle = oAfterReplace
'ElseIf oMode.StartsWith("PM.RibbonPageCustItm1") Then
End Try ' Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustItm1=", "")
ElseIf oMode.StartsWith("PM.SEARCH1") Then ' RibbonPageCustItm1 = oAfterReplace
Dim oSearch1 = oMode.Replace("PM.SEARCH1=", "") 'ElseIf oMode.StartsWith("PM.ButtonExport2FolderCaption") Then
Try ' Dim oAfterReplace = oMode.Replace("PM.ButtonExport2FolderCaption=", "")
SEARCH1 = oSearch1 ' ButtonExport2Folder_Caption = oAfterReplace
Catch ex As Exception 'ElseIf oMode.StartsWith("PM.ButtonExport2Folder_Mode") Then
SEARCH1 = "" ' Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_Mode=", "")
' ButtonExport2Folder_Mode = oAfterReplace
End Try 'ElseIf oMode.StartsWith("PM.ButtonExport2Folder_RootFolder") Then
ElseIf oMode.StartsWith("PM.SEARCH2") Then ' Dim oAfterReplace = oMode.Replace("PM.ButtonExport2Folder_RootFolder=", "")
Dim oSearch2 = oMode.Replace("PM.SEARCH2=", "") ' ButtonExport2Folder_RootFolder = oAfterReplace
Try 'ElseIf oMode = "MAINFORM_ALLOW_LOGFILES" Then
SEARCH2 = oSearch2 ' MAINFORM_CREATE_LOG_FILES = True
Catch ex As Exception 'Else
SEARCH2 = "" ' LOGGER.Info($"Wrong oMode: {oMode}")
'End If
End Try
ElseIf oMode.StartsWith("PM.TRAFFICLIGHT_ICON") Then
Dim oParam = oMode.Replace("PM.TRAFFICLIGHT_ICON=", "")
Try
TL_ICON = CBool(oParam)
Catch ex As Exception
TL_ICON = False
End Try
ElseIf oMode.StartsWith("PM.TITLE_NOTIFICATIONS") Then
Dim oParam = oMode.Replace("PM.TITLE_NOTIFICATIONS=", "")
Try
TITLE_NOTIFICATIONS = oParam
Catch ex As Exception
TITLE_NOTIFICATIONS = ""
End Try
ElseIf oMode.StartsWith("PM.START_CW") Then
Dim oAfterReplace = oMode.Replace("PM.START_CW=", "")
Try
START_CW = True
LOGGER.Debug("PM.START_CW = True")
Dim oSplit As String() = oAfterReplace.Split("~")
START_CW_CAPTION = oSplit(0)
Try
START_CW_LOC_VARIANT = oSplit(1)
Catch ex As Exception
START_CW_LOC_VARIANT = "-1"
LOGGER.Warn($"Could not read START_CW_LOCVARIANT : {ex.Message}")
End Try
Catch ex As Exception
LOGGER.Warn($"Could not read START_CW Param: {ex.Message}")
START_CW = False
End Try
ElseIf oMode.StartsWith("PM.RibbonPageCustTitle") Then
Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustTitle=", "")
RibbonPageCustTitle = oAfterReplace
ElseIf oMode.StartsWith("PM.RibbonPageCustItm1") Then
Dim oAfterReplace = oMode.Replace("PM.RibbonPageCustItm1=", "")
RibbonPageCustItm1 = oAfterReplace
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
Next Next
'If IDB_ACTIVE Then 'If IDB_ACTIVE Then
' If CONNECTION_STRING_APP_SERVER <> String.Empty Then ' If CONNECTION_STRING_APP_SERVER <> String.Empty Then
@@ -270,4 +313,267 @@ Public Class ClassParamRefresh
End If End If
oStopwatch.Done() oStopwatch.Done()
End Sub End Sub
Private Shared Sub ProcessWorkingModeParameter(oMode As String, pMode As String)
LOGGER.Debug($"Processing Working Mode Parameter: {oMode}")
Select Case True
Case oMode = "PM.FORCE_LAYOUT_OVERVIEW"
SetBooleanParameter(FORCE_LAYOUT_OVERVIEW, True, "FORCE_LAYOUT_OVERVIEW")
Case oMode = "PM.NO_MASS_VALIDATOR"
SetBooleanParameter(SHOW_MASS_VALIDATOR, False, "SHOW_MASS_VALIDATOR", LogLevel.Info)
Case oMode = "PM.NO_CHARTS"
SetBooleanParameter(SHOW_CHARTS, False, "SHOW_CHARTS")
Case oMode = "PM.DEBUG_LOG"
DEBUG = True
LOGCONFIG.Debug = True
LOGGER.Debug($"DEBUG_LOG = True")
Case oMode = "PM.LOG_HOTSPOTS"
SetBooleanParameter(LOG_HOTSPOTS, True, "LOG_HOTSPOTS")
Case oMode.StartsWith("OPERATION_MODE_FS")
OPERATION_MODE_FS = ExtractParameterValue(oMode, "OPERATION_MODE_FS")
If OPERATION_MODE_FS = ClassConstants.OpModeFS_IDBWM Then
IDB_USES_WMFILESTORE = True
End If
LOGGER.Info($"OPERATION_MODE_FS = {OPERATION_MODE_FS}")
Case oMode = "PM.IDBWITHWMFS"
SetBooleanParameter(IDB_USES_WMFILESTORE, True, "IDB_USES_WMFILESTORE", LogLevel.Info)
Case oMode = "PM.NO_BASICCONF"
SetBooleanParameter(BASIC_CONF_VISIBLE, False, "BASIC_CONF_VISIBLE", LogLevel.Info)
Case oMode = "PM.SYS_LOCKED_MAINTENANCE"
SetBooleanParameter(SYS_LOCKED_MAINTENANCE, True, "SYS_LOCKED_MAINTENANCE")
Case oMode.StartsWith("PM.IDB_CONID!")
ProcessIDBConnection(oMode)
Case oMode = "PM.EXCEL_OVERVIEW"
SetBooleanParameter(EXCEL_OVERVIEW, True, "EXCEL_OVERVIEW", LogLevel.Info)
Case oMode = "PM.MONITORING"
SetBooleanParameter(MONITORING_ACTIVE, True, "MONITORING_ACTIVE")
Case oMode = "PM.GHOSTMODE"
SetBooleanParameter(GHOSTMODE_ACTIVE, True, "GHOSTMODE_ACTIVE", LogLevel.Info)
Case oMode.StartsWith("PM.COLORSCHEME")
RIBBON_COLOR_SCHEME = ExtractParameterValue(oMode, "PM.COLORSCHEME").ToUpper
LOGGER.Debug($"RIBBON_COLOR_SCHEME = {RIBBON_COLOR_SCHEME}")
Case oMode.StartsWith("PM.NO_DETAIL_PROFILES")
SetBooleanParameter(NO_DETAIL_PROFILES, True, "NO_DETAIL_PROFILES")
Case oMode = "PM.NO_POPUP"
SetBooleanParameter(POPUP_REMINDER_ACTIVE, False, "POPUP_REMINDER_ACTIVE")
Case oMode.StartsWith("PM.POPUP_TIMELAPS_OVERRIDE")
ProcessPopupTimeLapse(oMode)
Case oMode.StartsWith("PM.CONV_IDENTIFICATION")
CONV_IDENTIFICATION = ExtractParameterValue(oMode, "PM.CONV_IDENTIFICATION")
LOGGER.Debug($"CONV_IDENTIFICATION = {CONV_IDENTIFICATION}")
Case oMode.StartsWith("PM.INACTIVITY_DURATION")
ProcessIntegerParameter(oMode, "PM.INACTIVITY_DURATION", INACTIVITY_DURATION, "InactivityDuration")
Case oMode.StartsWith("PM.COL_LAST_EDITED")
LAST_EDITED_COLUMN = ExtractParameterValue(oMode, "PM.COL_LAST_EDITED")
LOGGER.Debug($"LAST_EDITED_COLUMN = {LAST_EDITED_COLUMN}")
Case oMode.StartsWith("PM.COL_LAST_ADDED")
LAST_ADDED_COLUMN = ExtractParameterValue(oMode, "PM.COL_LAST_ADDED")
LOGGER.Debug($"LAST_ADDED_COLUMN = {LAST_ADDED_COLUMN}")
Case oMode.StartsWith("PM.MON_COL_CHANGED_WHEN")
MON_EDITED_COLUMN = ExtractParameterValue(oMode, "PM.MON_COL_CHANGED_WHEN")
LOGGER.Debug($"MON_EDITED_COLUMN = {MON_EDITED_COLUMN}")
Case oMode.StartsWith("PM.MON_COL_ADDED_WHEN")
MON_ADDED_COLUMN = ExtractParameterValue(oMode, "PM.MON_COL_ADDED_WHEN")
LOGGER.Debug($"MON_ADDED_COLUMN = {MON_ADDED_COLUMN}")
Case oMode.StartsWith("PM.USE_APPSERVER")
ProcessBooleanParameter(oMode, "PM.USE_APPSERVER", USE_APPSERVER, "USE_APPSERVER")
Case oMode.StartsWith("PM.COPYWM2TEMP")
ProcessBooleanParameter(oMode, "PM.COPYWM2TEMP", COPY_WMFILE_2TEMP, "COPY_WMFILE_2TEMP")
Case oMode.StartsWith("PM.MAP_SHARE_DRIVE")
MAP_SHARE_DRIVE = ExtractParameterValue(oMode, "PM.MAP_SHARE_DRIVE")
LOGGER.Debug($"MAP_SHARE_DRIVE = {MAP_SHARE_DRIVE}")
Case oMode.StartsWith("PM.MAP_BLACKLIST")
MAP_BLACKLIST = ExtractParameterValue(oMode, "PM.MAP_BLACKLIST")
LOGGER.Debug($"MAP_BLACKLIST = {MAP_BLACKLIST}")
Case oMode.StartsWith("PM.SEARCH1")
SEARCH1 = ExtractParameterValue(oMode, "PM.SEARCH1")
LOGGER.Debug($"SEARCH1 = {SEARCH1}")
Case oMode.StartsWith("PM.SEARCH2")
SEARCH2 = ExtractParameterValue(oMode, "PM.SEARCH2")
LOGGER.Debug($"SEARCH2 = {SEARCH2}")
Case oMode.StartsWith("PM.TRAFFICLIGHT_ICON")
ProcessBooleanParameter(oMode, "PM.TRAFFICLIGHT_ICON", TL_ICON, "TL_ICON")
Case oMode.StartsWith("PM.TITLE_NOTIFICATIONS")
TITLE_NOTIFICATIONS = ExtractParameterValue(oMode, "PM.TITLE_NOTIFICATIONS")
LOGGER.Debug($"TITLE_NOTIFICATIONS = {TITLE_NOTIFICATIONS}")
Case oMode.StartsWith("TF.InheritanceMsgAmount") AndAlso pMode = "Load"
InheritanceMsgAmount = ExtractParameterValue(oMode, "TF.InheritanceMsgAmount")
LOGGER.Debug($"InheritanceMsgAmount = {InheritanceMsgAmount}")
Case oMode.StartsWith("TF.InheritanceCalcReset") AndAlso pMode = "Load"
ProcessInheritanceReset(oMode)
Case oMode.StartsWith("PM.START_CW")
ProcessStartCW(oMode)
Case oMode.StartsWith("PM.RibbonPageCustTitle")
RibbonPageCustTitle = ExtractParameterValue(oMode, "PM.RibbonPageCustTitle")
LOGGER.Debug($"RibbonPageCustTitle = {RibbonPageCustTitle}")
Case oMode.StartsWith("PM.RibbonPageCustItm1")
RibbonPageCustItm1 = ExtractParameterValue(oMode, "PM.RibbonPageCustItm1")
LOGGER.Debug($"RibbonPageCustItm1 = {RibbonPageCustItm1}")
Case oMode.StartsWith("PM.ButtonExport2FolderCaption")
ButtonExport2Folder_Caption = ExtractParameterValue(oMode, "PM.ButtonExport2FolderCaption")
LOGGER.Debug($"ButtonExport2FolderCaption = {ButtonExport2Folder_Caption}")
Case oMode.StartsWith("PM.ButtonExport2Folder_Mode")
ButtonExport2Folder_Mode = ExtractParameterValue(oMode, "PM.ButtonExport2Folder_Mode")
LOGGER.Debug($"ButtonExport2Folder_Mode = {ButtonExport2Folder_Mode}")
Case oMode.StartsWith("PM.ButtonExport2Folder_RootFolder")
ButtonExport2Folder_RootFolder = ExtractParameterValue(oMode, "PM.ButtonExport2Folder_RootFolder")
LOGGER.Debug($"ButtonExport2Folder_RootFolder = {ButtonExport2Folder_RootFolder}")
Case oMode = "MAINFORM_ALLOW_LOGFILES"
SetBooleanParameter(MAINFORM_CREATE_LOG_FILES, True, "MAINFORM_CREATE_LOG_FILES")
Case Else
LOGGER.Info($"Unknown Working Mode Parameter: {oMode}")
End Select
End Sub
Private Shared Function ExtractParameterValue(parameterString As String, prefix As String) As String
Return parameterString.Replace($"{prefix}=", "")
End Function
Private Shared Sub SetBooleanParameter(ByRef target As Boolean, value As Boolean, paramName As String, Optional logLevel As LogLevel = LogLevel.Debug)
target = value
LogParameterValue(paramName, value.ToString(), logLevel)
End Sub
Private Shared Sub ProcessBooleanParameter(oMode As String, prefix As String, ByRef target As Boolean, paramName As String)
Dim value = ExtractParameterValue(oMode, prefix)
Try
target = CBool(value)
LOGGER.Debug($"{paramName} = {target}")
Catch ex As Exception
target = False
LOGGER.Warn($"Failed to parse {paramName}: {ex.Message}")
End Try
End Sub
Private Shared Sub ProcessIntegerParameter(oMode As String, prefix As String, ByRef target As Integer, paramName As String)
Dim value = ExtractParameterValue(oMode, prefix)
Try
target = CInt(value)
LOGGER.Debug($"{paramName} = {target}")
Catch ex As Exception
LOGGER.Warn($"Failed to parse {paramName}: {ex.Message}. Setting to 0")
target = 0
End Try
End Sub
Private Shared Sub ProcessIDBConnection(oMode As String)
Dim Database_IDB As MSSQLServer = Nothing
Dim CON_ID = oMode.Replace("PM.IDB_CONID!", "")
Dim oConString = DatabaseFallback.GetConnectionString(CON_ID)
CONNECTION_STRING_IDB = oConString
Database_IDB = New MSSQLServer(LOGCONFIG, CONNECTION_STRING_IDB)
If Database_IDB.DBInitialized = True Then
IDB_ACTIVE = True
LOGGER.Info($"IDB is active - IDB-Connection [{CON_ID}]")
DatabaseFallback.InitializeIDB(Database_IDB)
Else
IDB_ACTIVE = False
LOGGER.Warn($"Failed to initialize IDB with Connection [{CON_ID}]")
End If
If CONNECTION_STRING_IDB <> "" AndAlso Database_IDB.DBInitialized = True Then
IDB_ACTIVE = True
LOGGER.Debug("IDB already initialized and active")
Return
End If
End Sub
Private Shared Sub ProcessPopupTimeLapse(oMode As String)
Dim oTimeLapse = ExtractParameterValue(oMode, "PM.POPUP_TIMELAPS_OVERRIDE")
LOGGER.Info($"POPUP_TIMELAPS_OVERRIDE = {oTimeLapse}")
Try
CONFIG.Config.ReminderTimer = oTimeLapse
Catch ex As Exception
LOGGER.Warn($"Failed to set ReminderTimer: {ex.Message}")
End Try
End Sub
Private Shared Sub ProcessInheritanceReset(oMode As String)
Dim oParam = ExtractParameterValue(oMode, "TF.InheritanceCalcReset")
Try
If CBool(oParam) = True Then
LOGGER.Info("Inheritance_Counts werden auf 0 zurückgesetzt bzw gelöscht")
Dim oDELETESQL = "DELETE FROM TBDD_USER_KEY_VALUE_PAIR
WHERE FK_USER_ID = " & USER_ID & " And [FK_MODULE_ID] = '" & USER_MODULE_ID & "' AND KEY_NAME LIKE 'INHERITANCE_CONFIRM_%'"
DatabaseECM.ExecuteNonQuery(oDELETESQL)
UserInheritance_ConfirmationByColumn = Nothing
CONFIG.Save()
End If
Catch ex As Exception
LOGGER.Warn($"Failed to process InheritanceCalcReset: {ex.Message}")
End Try
End Sub
Private Shared Sub ProcessStartCW(oMode As String)
Dim oAfterReplace = ExtractParameterValue(oMode, "PM.START_CW")
Try
START_CW = True
LOGGER.Debug("PM.START_CW = True")
Dim oSplit As String() = oAfterReplace.Split("~")
START_CW_CAPTION = oSplit(0)
Try
START_CW_LOC_VARIANT = oSplit(1)
LOGGER.Debug($"START_CW_LOC_VARIANT = {START_CW_LOC_VARIANT}")
Catch ex As Exception
START_CW_LOC_VARIANT = "-1"
LOGGER.Warn($"Could not read START_CW_LOC_VARIANT: {ex.Message}")
End Try
Catch ex As Exception
LOGGER.Warn($"Could not read START_CW Param: {ex.Message}")
START_CW = False
End Try
End Sub
Private Shared Sub LogParameterValue(paramName As String, value As String, logLevel As LogLevel)
Select Case logLevel
Case LogLevel.Info
LOGGER.Info($"{paramName} = {value}")
Case Else
LOGGER.Debug($"{paramName} = {value}")
End Select
End Sub
Private Enum LogLevel
Debug
Info
End Enum
End Class End Class

View File

@@ -172,6 +172,10 @@ Public Class RefreshHelper
End Sub End Sub
Private Sub SaveExpandedMasterRows() Private Sub SaveExpandedMasterRows()
If _View Is Nothing OrElse _View.GridControl Is Nothing Then
Return
End If
If _View.GridControl.Views.Count = 1 Then If _View.GridControl.Views.Count = 1 Then
Return Return
End If End If
@@ -194,13 +198,32 @@ Public Class RefreshHelper
End Sub End Sub
Private Sub SaveVisibleIndex() Private Sub SaveVisibleIndex()
_VisibleRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _View.TopRowIndex If _View.FocusedRowHandle <> GridControl.InvalidRowHandle AndAlso _View.FocusedRowHandle >= 0 Then
_VisibleRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _View.TopRowIndex
Else
_VisibleRowIndex = 0
End If
End Sub End Sub
Private Sub LoadVisibleIndex() Private Sub LoadVisibleIndex()
Try Try
If _View.FocusedRowHandle = GridControl.InvalidRowHandle OrElse _View.FocusedRowHandle < 0 Then
LOGGER.Debug("No valid focused row handle found. Skipping visible index restoration.")
Return
End If
_View.MakeRowVisible(_View.FocusedRowHandle, True) _View.MakeRowVisible(_View.FocusedRowHandle, True)
_View.TopRowIndex = _View.GetVisibleIndex(_View.FocusedRowHandle) - _VisibleRowIndex
Dim currentVisibleIndex As Integer = _View.GetVisibleIndex(_View.FocusedRowHandle)
Dim newTopRowIndex As Integer = currentVisibleIndex - _VisibleRowIndex
' Verhindere negative oder ungültige TopRowIndex-Werte
If newTopRowIndex >= 0 AndAlso newTopRowIndex < _View.RowCount Then
_View.TopRowIndex = newTopRowIndex
Else
LOGGER.Debug($"Calculated TopRowIndex {newTopRowIndex} is out of bounds. Skipping setting TopRowIndex.")
End If
Catch ex As Exception Catch ex As Exception
_Logger.Error(ex) _Logger.Error(ex)
End Try End Try

View File

@@ -1,8 +1,6 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Drawing.Design Imports System.Drawing.Design
Imports System.Windows.Forms.Design Imports System.Windows.Forms.Design
Imports DigitalData.Modules.Language.Utils
Public Class ClassRegexEditor Public Class ClassRegexEditor
Inherits UITypeEditor Inherits UITypeEditor
@@ -12,7 +10,7 @@ Public Class ClassRegexEditor
Public Overrides Function EditValue(context As ITypeDescriptorContext, provider As IServiceProvider, value As Object) As Object 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 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 If oService IsNot Nothing Then
Using oform As New frmRegexEditor() Using oform As New frmRegexEditor()

View File

@@ -1,7 +1,7 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Drawing.Design Imports System.Drawing.Design
Imports System.Windows.Forms.Design Imports System.Windows.Forms.Design
Imports DD_ProcessManager.InputProperties Imports taskFLOW.InputProperties
Imports DigitalData.GUIs.Common Imports DigitalData.GUIs.Common
Public Class ClassSQLEditor Public Class ClassSQLEditor

View File

@@ -124,7 +124,7 @@ Public Class ClassWindream_allgemein
Public Function Start_WMCC_andCo() Public Function Start_WMCC_andCo()
Try Try
' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist ' 04.10.18: Überprüft, ob der Benutzer Mitglied der SERVER_USER Gruppe ist
Dim sql = "SELECT T.GUID FROM TBDD_GROUPS_USER T INNER JOIN TBDD_GROUPS T1 on T1.GUID = T.GROUP_ID WHERE T1.NAME = 'SERVER_USER' AND T.USER_ID = " & USER_ID Dim sql = "SELECT T.GUID FROM TBDD_GROUPS_USER T WITH (NOLOCK) INNER JOIN TBDD_GROUPS T1 WITH (NOLOCK) on T1.GUID = T.GROUP_ID WHERE T1.NAME = 'SERVER_USER' AND T.USER_ID = " & USER_ID
Dim userExistsInServerUserGroup = DatabaseFallback.GetScalarValueECM(sql) ', CONNECTION_STRING_ECM, "StartWMCC-userExistsInServerUserGroup") Dim userExistsInServerUserGroup = DatabaseFallback.GetScalarValueECM(sql) ', CONNECTION_STRING_ECM, "StartWMCC-userExistsInServerUserGroup")
If WMSESSION_STARTSTOP_STARTUP = True Then If WMSESSION_STARTSTOP_STARTUP = True Then
@@ -211,7 +211,7 @@ LOGGER.Error(ex)
Public Function GetTypeOfIndex(ByVal indexname As String) As Integer Public Function GetTypeOfIndex(ByVal indexname As String) As Integer
Try Try
If IsNothing(Me.oSession) Then If IsNothing(Me.oSession) Then
LOGGER.Warn("GetTypeOfIndex: WMSession is nothing") LOGGER.Warn("⚠️ GetTypeOfIndex: WMSession is nothing")
Return Nothing Return Nothing
End If End If
Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, indexname) Dim oAttribute = Me.oSession.GetWMObjectByName(WINDREAMLib.WMEntity.WMEntityAttribute, indexname)
@@ -272,7 +272,7 @@ LOGGER.Error(ex)
Public Function GetIndicesByObjecttype(ByVal Objecttype_name As String) As String() Public Function GetIndicesByObjecttype(ByVal Objecttype_name As String) As String()
Try Try
If IsNothing(Me.oSession) Then If IsNothing(Me.oSession) Then
LOGGER.Warn("GetIndicesByObjecttype: WMSession is nothing") LOGGER.Warn("⚠️ GetIndicesByObjecttype: WMSession is nothing")
Return Nothing Return Nothing
End If End If
Dim oObjectType As WMObject Dim oObjectType As WMObject
@@ -322,30 +322,30 @@ LOGGER.Error(ex)
''' <param name="objekttypName">Name des Objekttyps</param> ''' <param name="objekttypName">Name des Objekttyps</param>
''' <returns>Objekttyp als WMObject</returns> ''' <returns>Objekttyp als WMObject</returns>
''' <remarks></remarks> ''' <remarks></remarks>
Public Function GetObjecttypeByName(ByVal objekttypName As String) As WMObject 'Public Function GetObjecttypeByName(ByVal objekttypName As String) As WMObject
Try ' Try
If IsNothing(Me.oSession) Then ' If IsNothing(Me.oSession) Then
LOGGER.Warn("GetObjecttypeByName: WMSession is nothing") ' LOGGER.Warn("⚠️ GetObjecttypeByName: WMSession is nothing")
Return Nothing ' Return Nothing
End If ' End If
' alle Objekttypen auslesen ' ' alle Objekttypen auslesen
Dim oObjectTypes As WMObjects = Me.oSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument) ' Dim oObjectTypes As WMObjects = Me.oSession.GetWMObjectTypes(WINDREAMLib.WMEntity.WMEntityDocument)
' alle Objekttypen durchlaufen und nach dem mit dem angegebenen Namen suchen ' ' alle Objekttypen durchlaufen und nach dem mit dem angegebenen Namen suchen
For Each oObjectType As WMObject In oObjectTypes ' For Each oObjectType As WMObject In oObjectTypes
If oObjectType.aName = objekttypName Then ' If oObjectType.aName = objekttypName Then
Return oObjectType ' Return oObjectType
End If ' End If
Next ' Next
Return Nothing ' Return Nothing
Catch ex As Exception ' Catch ex As Exception
LOGGER.Error(ex) ' LOGGER.Error(ex)
MsgBox("Es konnte ein Objekttyp nicht erstellt werden." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, "Objekttyp konnte nicht erstellt werden") ' MsgBox("Es konnte ein Objekttyp nicht erstellt werden." & vbNewLine & vbNewLine & "Fehlernachricht:" & vbNewLine & ex.Message, MsgBoxStyle.Exclamation, "Objekttyp konnte nicht erstellt werden")
Return Nothing ' Return Nothing
End Try ' End Try
End Function 'End Function
''' <summary> ''' <summary>
''' Überprüft ob der angegebene Index im Objekttyp existiert ''' Überprüft ob der angegebene Index im Objekttyp existiert
@@ -359,13 +359,14 @@ LOGGER.Error(ex)
Dim indexnamen() As String = Me.GetIndicesByObjecttype(objekttyp) Dim indexnamen() As String = Me.GetIndicesByObjecttype(objekttyp)
If indexnamen Is Nothing Then Return False If indexnamen Is Nothing Then Return False
MVSource_AllIndicies = MyIndicies
For Each index As String In indexnamen For Each index As String In indexnamen
If index = indexname Then Return True If index = indexname Then Return True
Next Next
Catch ex As Exception 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") 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 End Try

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -29,6 +29,9 @@ Partial Public Class DD_DMSLiteDataSet
End Class End Class
Namespace DD_DMSLiteDataSetTableAdapters Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_INVOICE_MONITORTableAdapter
End Class
Partial Public Class TBPM_PROFILETableAdapter Partial Public Class TBPM_PROFILETableAdapter
Private Sub TBPM_PROFILETableAdapter_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed Private Sub TBPM_PROFILETableAdapter_Disposed(sender As Object, e As EventArgs) Handles Me.Disposed
@@ -41,3 +44,13 @@ Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class TBPM_PROFILE_INDEXETableAdapter Partial Public Class TBPM_PROFILE_INDEXETableAdapter
End Class End Class
End Namespace End Namespace
Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter
End Class
End Namespace
Namespace DD_DMSLiteDataSetTableAdapters
Partial Public Class VWPM_CHART_TOP5TableAdapter
End Class
End Namespace

View File

@@ -4,7 +4,7 @@
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource"> <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"> <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections> <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> </Connections>
<Tables> <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"> <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">
@@ -972,8 +972,8 @@ WHERE (GUID = @Original_GUID)</CommandText>
<CommandText>INSERT INTO TBPM_PROFILE_CONTROLS <CommandText>INSERT INTO TBPM_PROFILE_CONTROLS
(PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, (PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG,
HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH,
REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING) REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT)
VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@ADDED_WHEN,@CHANGED_WHO,@CHANGED_WHEN,@INDEX_NAME,@TYP,@VALIDATION,@CHOICE_LIST,@CONNECTION_ID,@SQL_UEBERPRUEFUNG,@HEIGHT,@WIDTH,@FONT_STYLE,@FONT_SIZE,@FONT_FAMILY,@FONT_COLOR,@READ_ONLY,@LOAD_IDX_VALUE,@DEFAULT_VALUE,@MULTISELECT,@VKT_ADD_ITEM,@VKT_PREVENT_MULTIPLE_VALUES,@REGEX_MATCH,@REGEX_MESSAGE_DE,@REGEX_MESSAGE_EN,@IMAGE_CONTROL,@SQL2,@SQL_ENABLE,@SAVE_CHANGE_ON_ENABLED,@FORMAT_STRING); VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@ADDED_WHEN,@CHANGED_WHO,@CHANGED_WHEN,@INDEX_NAME,@TYP,@VALIDATION,@CHOICE_LIST,@CONNECTION_ID,@SQL_UEBERPRUEFUNG,@HEIGHT,@WIDTH,@FONT_STYLE,@FONT_SIZE,@FONT_FAMILY,@FONT_COLOR,@READ_ONLY,@LOAD_IDX_VALUE,@DEFAULT_VALUE,@MULTISELECT,@VKT_ADD_ITEM,@VKT_PREVENT_MULTIPLE_VALUES,@REGEX_MATCH,@REGEX_MESSAGE_DE,@REGEX_MESSAGE_EN,@IMAGE_CONTROL,@SQL2,@SQL_ENABLE,@SAVE_CHANGE_ON_ENABLED,@FORMAT_STRING,@TEXT_ALIGNMENT);
SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = SCOPE_IDENTITY()) ORDER BY Y_LOC, X_LOC</CommandText> SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = SCOPE_IDENTITY()) ORDER BY Y_LOC, X_LOC</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -1011,7 +1011,8 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD
<Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</InsertCommand> </InsertCommand>
@@ -1020,7 +1021,7 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD
<CommandText>SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, <CommandText>SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID,
SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES,
REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, IMAGE_CONTROL, SQL2, SQL_ENABLE, SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE,
TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT
FROM TBPM_PROFILE_CONTROLS FROM TBPM_PROFILE_CONTROLS
WHERE (GUID = @guid) WHERE (GUID = @guid)
ORDER BY Y_LOC, X_LOC</CommandText> ORDER BY Y_LOC, X_LOC</CommandText>
@@ -1037,8 +1038,8 @@ SET PROFIL_ID = @PROFIL_ID, NAME = @NAME, CTRL_TYPE = @CTRL_TYPE,
FONT_STYLE = @FONT_STYLE, FONT_SIZE = @FONT_SIZE, FONT_FAMILY = @FONT_FAMILY, FONT_COLOR = @FONT_COLOR, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE, FONT_STYLE = @FONT_STYLE, FONT_SIZE = @FONT_SIZE, FONT_FAMILY = @FONT_FAMILY, FONT_COLOR = @FONT_COLOR, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE,
DEFAULT_VALUE = @DEFAULT_VALUE, MULTISELECT = @MULTISELECT, VKT_ADD_ITEM = @VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES = @VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH = @REGEX_MATCH, DEFAULT_VALUE = @DEFAULT_VALUE, MULTISELECT = @MULTISELECT, VKT_ADD_ITEM = @VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES = @VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH = @REGEX_MATCH,
REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, IMAGE_CONTROL = @IMAGE_CONTROL, SQL2 = @SQL2, SQL_ENABLE = @SQL_ENABLE, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, IMAGE_CONTROL = @IMAGE_CONTROL, SQL2 = @SQL2, SQL_ENABLE = @SQL_ENABLE,
SAVE_CHANGE_ON_ENABLED = @SAVE_CHANGE_ON_ENABLED, FORMAT_STRING = @FORMAT_STRING SAVE_CHANGE_ON_ENABLED = @SAVE_CHANGE_ON_ENABLED, FORMAT_STRING = @FORMAT_STRING, TEXT_ALIGNMENT = @TEXT_ALIGNMENT
WHERE (GUID = @Original_GUID); WHERE (GUID = @Original_GUID);
SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = @GUID) ORDER BY Y_LOC, X_LOC</CommandText> SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, INDEX_NAME, TYP, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_UEBERPRUEFUNG, HEIGHT, WIDTH, FONT_STYLE, FONT_SIZE, FONT_FAMILY, FONT_COLOR, READ_ONLY, LOAD_IDX_VALUE, DEFAULT_VALUE, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, REGEX_MATCH, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN FROM TBPM_PROFILE_CONTROLS WHERE (GUID = @GUID) ORDER BY Y_LOC, X_LOC</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -1073,7 +1074,8 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD
<Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL2" ColumnName="SQL2" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL2" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL2" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL_ENABLE" ColumnName="SQL_ENABLE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_ENABLE" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_ENABLE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="FORMAT_STRING" ColumnName="FORMAT_STRING" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(200)" DbType="AnsiString" Direction="Input" ParameterName="@FORMAT_STRING" Precision="0" ProviderType="VarChar" Scale="0" Size="200" SourceColumn="FORMAT_STRING" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters> </Parameters>
@@ -1124,6 +1126,7 @@ SELECT GUID, PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, ADD
<Mapping SourceColumn="TABLE_ORDER_COLUMN" DataSetColumn="TABLE_ORDER_COLUMN" /> <Mapping SourceColumn="TABLE_ORDER_COLUMN" DataSetColumn="TABLE_ORDER_COLUMN" />
<Mapping SourceColumn="SAVE_CHANGE_ON_ENABLED" DataSetColumn="SAVE_CHANGE_ON_ENABLED" /> <Mapping SourceColumn="SAVE_CHANGE_ON_ENABLED" DataSetColumn="SAVE_CHANGE_ON_ENABLED" />
<Mapping SourceColumn="FORMAT_STRING" DataSetColumn="FORMAT_STRING" /> <Mapping SourceColumn="FORMAT_STRING" DataSetColumn="FORMAT_STRING" />
<Mapping SourceColumn="TEXT_ALIGNMENT" DataSetColumn="TEXT_ALIGNMENT" />
</Mappings> </Mappings>
<Sources> <Sources>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="cmdControlExists" Modifier="Public" Name="cmdControlExists" QueryType="Scalar" ScalarCallRetval="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdControlExists"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="cmdControlExists" Modifier="Public" Name="cmdControlExists" QueryType="Scalar" ScalarCallRetval="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdControlExists">
@@ -1211,7 +1214,7 @@ WHERE (GUID = @Guid)</CommandText>
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
</DbSource> </DbSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="cmdInsertAnlage" Modifier="Public" Name="cmdInsertAnlage" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy7" UserSourceName="cmdInsertAnlage"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="cmdInsertAnlage" Modifier="Public" Name="cmdInsertAnlage" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy7" UserSourceName="cmdInsertAnlage">
<InsertCommand> <InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>INSERT INTO TBPM_PROFILE_CONTROLS <CommandText>INSERT INTO TBPM_PROFILE_CONTROLS
@@ -1230,6 +1233,25 @@ VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</InsertCommand> </InsertCommand>
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>INSERT INTO TBPM_PROFILE_CONTROLS
(PROFIL_ID, NAME, CTRL_TYPE, CTRL_TEXT, X_LOC, Y_LOC, ADDED_WHO, HEIGHT, WIDTH, TEXT_ALIGNMENT)
VALUES (@PROFIL_ID,@NAME,@CTRL_TYPE,@CTRL_TEXT,@X_LOC,@Y_LOC,@ADDED_WHO,@HEIGHT,@Width,@TEXT_ALIGNMENT)</CommandText>
<Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="PROFIL_ID" ColumnName="PROFIL_ID" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@PROFIL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="PROFIL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="NAME" ColumnName="NAME" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@NAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="NAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TYPE" ColumnName="CTRL_TYPE" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(10)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TYPE" Precision="0" ProviderType="VarChar" Scale="0" Size="10" SourceColumn="CTRL_TYPE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="CTRL_TEXT" ColumnName="CTRL_TEXT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@CTRL_TEXT" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="CTRL_TEXT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="X_LOC" ColumnName="X_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@X_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="X_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Y_LOC" ColumnName="Y_LOC" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="float" DbType="Double" Direction="Input" ParameterName="@Y_LOC" Precision="0" ProviderType="Float" Scale="0" Size="8" SourceColumn="Y_LOC" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="HEIGHT" ColumnName="HEIGHT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@HEIGHT" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="HEIGHT" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Width" ColumnName="WIDTH" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@Width" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="WIDTH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TEXT_ALIGNMENT" ColumnName="TEXT_ALIGNMENT" DataSourceName="DD_ECM.dbo.TBPM_PROFILE_CONTROLS" DataTypeServer="nvarchar(20)" DbType="String" Direction="Input" ParameterName="@TEXT_ALIGNMENT" Precision="0" ProviderType="NVarChar" Scale="0" Size="20" SourceColumn="TEXT_ALIGNMENT" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource> </DbSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="cmdUpdateIndexname" Modifier="Public" Name="cmdUpdateIndexname" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy8" UserSourceName="cmdUpdateIndexname"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="cmdUpdateIndexname" Modifier="Public" Name="cmdUpdateIndexname" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy8" UserSourceName="cmdUpdateIndexname">
<UpdateCommand> <UpdateCommand>
@@ -1251,7 +1273,7 @@ WHERE (GUID = @Original_GUID);</CommandText>
<CommandText>SELECT dbo.FNPM_LANGUAGE_CONTROL_TEXT(NAME, @USER_LANGUAGE, CTRL_TYPE, CTRL_TEXT) AS CTRL_CAPTION_LANG, ADDED_WHEN, ADDED_WHO, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, <CommandText>SELECT dbo.FNPM_LANGUAGE_CONTROL_TEXT(NAME, @USER_LANGUAGE, CTRL_TYPE, CTRL_TEXT) AS CTRL_CAPTION_LANG, ADDED_WHEN, ADDED_WHO, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID,
CTRL_TEXT, CTRL_TYPE, DEFAULT_VALUE, FONT_COLOR, FONT_FAMILY, FONT_SIZE, FONT_STYLE, GUID, HEIGHT, INDEX_NAME, LOAD_IDX_VALUE, MULTISELECT, NAME, PROFIL_ID, READ_ONLY, REGEX_MATCH, CTRL_TEXT, CTRL_TYPE, DEFAULT_VALUE, FONT_COLOR, FONT_FAMILY, FONT_SIZE, FONT_STYLE, GUID, HEIGHT, INDEX_NAME, LOAD_IDX_VALUE, MULTISELECT, NAME, PROFIL_ID, READ_ONLY, REGEX_MATCH,
REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SQL_UEBERPRUEFUNG, TYP, VALIDATION, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, WIDTH, X_LOC, Y_LOC, IMAGE_CONTROL, SQL2, SQL_ENABLE, REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SQL_UEBERPRUEFUNG, TYP, VALIDATION, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES, WIDTH, X_LOC, Y_LOC, IMAGE_CONTROL, SQL2, SQL_ENABLE,
SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING SET_CONTROL_DATA, SQL_ENABLE_ON_LOAD, SQL_ENABLE_ON_LOAD_CONID, CONTROL_ACTIVE, TABLE_ORDER_COLUMN, SAVE_CHANGE_ON_ENABLED, FORMAT_STRING, TEXT_ALIGNMENT
FROM TBPM_PROFILE_CONTROLS AS T FROM TBPM_PROFILE_CONTROLS AS T
WHERE (PROFIL_ID = @profil_id) WHERE (PROFIL_ID = @profil_id)
ORDER BY Y_LOC, X_LOC</CommandText> ORDER BY Y_LOC, X_LOC</CommandText>
@@ -1279,8 +1301,8 @@ WHERE (GUID = @Original_GUID)</CommandText>
<InsertCommand> <InsertCommand>
<DbCommand CommandType="Text" ModifiedByUser="false"> <DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>INSERT INTO TBPM_CONTROL_TABLE <CommandText>INSERT INTO TBPM_CONTROL_TABLE
(CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, ADDED_WHO, TYPE_COLUMN) (CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, ADDED_WHO, TYPE_COLUMN, INHERIT_VALUE)
VALUES (@CONTROL_ID,@SPALTENNAME,@SPALTEN_HEADER,@SPALTENBREITE,@ADDED_WHO,@TYPE_COLUMN); VALUES (@CONTROL_ID,@SPALTENNAME,@SPALTEN_HEADER,@SPALTENBREITE,@ADDED_WHO,@TYPE_COLUMN,@INHERIT_VALUE);
SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP FROM TBPM_CONTROL_TABLE WHERE (GUID = SCOPE_IDENTITY())</CommandText> SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP FROM TBPM_CONTROL_TABLE WHERE (GUID = SCOPE_IDENTITY())</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="CONTROL_ID" ColumnName="CONTROL_ID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@CONTROL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="CONTROL_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="CONTROL_ID" ColumnName="CONTROL_ID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@CONTROL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="CONTROL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
@@ -1289,13 +1311,15 @@ SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION,
<Parameter AllowDbNull="false" AutogeneratedName="SPALTENBREITE" ColumnName="SPALTENBREITE" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SPALTENBREITE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SPALTENBREITE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SPALTENBREITE" ColumnName="SPALTENBREITE" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SPALTENBREITE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SPALTENBREITE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TYPE_COLUMN" ColumnName="TYPE_COLUMN" DataSourceName="" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@TYPE_COLUMN" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="TYPE_COLUMN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="TYPE_COLUMN" ColumnName="TYPE_COLUMN" DataSourceName="" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@TYPE_COLUMN" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="TYPE_COLUMN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="INHERIT_VALUE" ColumnName="INHERIT_VALUE" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@INHERIT_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="INHERIT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</InsertCommand> </InsertCommand>
<SelectCommand> <SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="false"> <DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, <CommandText>SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO,
CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE,
FORMULA_EXPRESSION, FORMULA_SQL
FROM TBPM_CONTROL_TABLE FROM TBPM_CONTROL_TABLE
WHERE (CONTROL_ID = @CONTROL_ID)</CommandText> WHERE (CONTROL_ID = @CONTROL_ID)</CommandText>
<Parameters> <Parameters>
@@ -1304,38 +1328,43 @@ WHERE (CONTROL_ID = @CONTROL_ID)</CommandText>
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
<UpdateCommand> <UpdateCommand>
<DbCommand CommandType="Text" ModifiedByUser="false"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>UPDATE TBPM_CONTROL_TABLE <CommandText>UPDATE TBPM_CONTROL_TABLE
SET CONTROL_ID = @CONTROL_ID, SPALTENNAME = @SPALTENNAME, SPALTEN_HEADER = @SPALTEN_HEADER, SPALTENBREITE = @SPALTENBREITE, VALIDATION = @VALIDATION, CHOICE_LIST = @CHOICE_LIST, SET CONTROL_ID = @CONTROL_ID, SPALTENNAME = @SPALTENNAME, SPALTEN_HEADER = @SPALTEN_HEADER, SPALTENBREITE = @SPALTENBREITE, VALIDATION = @VALIDATION, CHOICE_LIST = @CHOICE_LIST,
CONNECTION_ID = @CONNECTION_ID, SQL_COMMAND = @SQL_COMMAND, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE, ADDED_WHO = @ADDED_WHO, ADDED_WHEN = @ADDED_WHEN, CONNECTION_ID = @CONNECTION_ID, SQL_COMMAND = @SQL_COMMAND, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE, ADDED_WHO = @ADDED_WHO, ADDED_WHEN = @ADDED_WHEN,
CHANGED_WHO = @CHANGED_WHO, CHANGED_WHEN = @CHANGED_WHEN, REGEX_MATCH = @REGEX_MATCH, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE, CHANGED_WHO = @CHANGED_WHO, CHANGED_WHEN = @CHANGED_WHEN, REGEX_MATCH = @REGEX_MATCH, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE,
SEQUENCE = @SEQUENCE, DEFAULT_VALUE = @DEFAULT_VALUE, ADVANCED_LOOKUP = @ADVANCED_LOOKUP, SAVE_CHANGE_ON_ENABLED = @SAVE_CHANGE_ON_ENABLED SEQUENCE = @SEQUENCE, DEFAULT_VALUE = @DEFAULT_VALUE, ADVANCED_LOOKUP = @ADVANCED_LOOKUP, SAVE_CHANGE_ON_ENABLED = @SAVE_CHANGE_ON_ENABLED, INHERIT_VALUE = @INHERIT_VALUE,
WHERE (GUID = @Original_GUID); LU_CAPTION = @LU_CAPTION, FORMULA_EXPRESSION = @FORMULA_EXPRESSION, FORMULA_SQL = @FORMULA_SQL
WHERE (GUID = @Original_GUID);
SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP FROM TBPM_CONTROL_TABLE WHERE (GUID = @GUID)</CommandText> SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION, CHOICE_LIST, CONNECTION_ID, SQL_COMMAND, READ_ONLY, LOAD_IDX_VALUE, ADDED_WHO, ADDED_WHEN, CHANGED_WHO, CHANGED_WHEN, REGEX_MATCH, REGEX_MESSAGE_EN, REGEX_MESSAGE_DE, SEQUENCE, DEFAULT_VALUE, ADVANCED_LOOKUP FROM TBPM_CONTROL_TABLE WHERE (GUID = @GUID)</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="CONTROL_ID" ColumnName="CONTROL_ID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@CONTROL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="CONTROL_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="CONTROL_ID" ColumnName="CONTROL_ID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@CONTROL_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="CONTROL_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SPALTENNAME" ColumnName="SPALTENNAME" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTENNAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTENNAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SPALTENNAME" ColumnName="SPALTENNAME" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTENNAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTENNAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SPALTEN_HEADER" ColumnName="SPALTEN_HEADER" DataSourceName="" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTEN_HEADER" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTEN_HEADER" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SPALTEN_HEADER" ColumnName="SPALTEN_HEADER" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTEN_HEADER" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTEN_HEADER" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SPALTENBREITE" ColumnName="SPALTENBREITE" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SPALTENBREITE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SPALTENBREITE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SPALTENBREITE" ColumnName="SPALTENBREITE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SPALTENBREITE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SPALTENBREITE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHOICE_LIST" ColumnName="CHOICE_LIST" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(50)" DbType="AnsiString" Direction="Input" ParameterName="@CHOICE_LIST" Precision="0" ProviderType="VarChar" Scale="0" Size="50" SourceColumn="CHOICE_LIST" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CONNECTION_ID" ColumnName="CONNECTION_ID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="smallint" DbType="Int16" Direction="Input" ParameterName="@CONNECTION_ID" Precision="0" ProviderType="SmallInt" Scale="0" Size="2" SourceColumn="CONNECTION_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="SQL_COMMAND" ColumnName="SQL_COMMAND" DataSourceName="" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_COMMAND" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_COMMAND" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="SQL_COMMAND" ColumnName="SQL_COMMAND" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(MAX)" DbType="String" Direction="Input" ParameterName="@SQL_COMMAND" Precision="0" ProviderType="NVarChar" Scale="0" Size="2147483647" SourceColumn="SQL_COMMAND" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHO" ColumnName="ADDED_WHO" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@ADDED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="ADDED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHEN" ColumnName="ADDED_WHEN" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="ADDED_WHEN" ColumnName="ADDED_WHEN" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@ADDED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="ADDED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHEN" ColumnName="CHANGED_WHEN" DataSourceName="" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHEN" ColumnName="CHANGED_WHEN" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="datetime" DbType="DateTime" Direction="Input" ParameterName="@CHANGED_WHEN" Precision="0" ProviderType="DateTime" Scale="0" Size="8" SourceColumn="CHANGED_WHEN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SEQUENCE" ColumnName="SEQUENCE" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SEQUENCE" ColumnName="SEQUENCE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="" DataTypeServer="varchar(MAX)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="2147483647" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(MAX)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="2147483647" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADVANCED_LOOKUP" ColumnName="ADVANCED_LOOKUP" DataSourceName="" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@ADVANCED_LOOKUP" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="ADVANCED_LOOKUP" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="ADVANCED_LOOKUP" ColumnName="ADVANCED_LOOKUP" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@ADVANCED_LOOKUP" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="ADVANCED_LOOKUP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="" DataTypeServer="unknown" DbType="Object" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" Scale="0" Size="1024" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SAVE_CHANGE_ON_ENABLED" ColumnName="SAVE_CHANGE_ON_ENABLED" DataSourceName="" DataTypeServer="unknown" DbType="Object" Direction="Input" ParameterName="@SAVE_CHANGE_ON_ENABLED" Precision="0" Scale="0" Size="1024" SourceColumn="SAVE_CHANGE_ON_ENABLED" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="INHERIT_VALUE" ColumnName="INHERIT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@INHERIT_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="INHERIT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="LU_CAPTION" ColumnName="LU_CAPTION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(150)" DbType="AnsiString" Direction="Input" ParameterName="@LU_CAPTION" Precision="0" ProviderType="VarChar" Scale="0" Size="150" SourceColumn="LU_CAPTION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMULA_EXPRESSION" ColumnName="FORMULA_EXPRESSION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@FORMULA_EXPRESSION" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="FORMULA_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMULA_SQL" ColumnName="FORMULA_SQL" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(3000)" DbType="String" Direction="Input" ParameterName="@FORMULA_SQL" Precision="0" ProviderType="NVarChar" Scale="0" Size="3000" SourceColumn="FORMULA_SQL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
<Parameter AllowDbNull="false" AutogeneratedName="GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</UpdateCommand> </UpdateCommand>
@@ -1366,6 +1395,9 @@ SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION,
<Mapping SourceColumn="SUMMARY_FUNCTION" DataSetColumn="SUMMARY_FUNCTION" /> <Mapping SourceColumn="SUMMARY_FUNCTION" DataSetColumn="SUMMARY_FUNCTION" />
<Mapping SourceColumn="TYPE_COLUMN" DataSetColumn="TYPE_COLUMN" /> <Mapping SourceColumn="TYPE_COLUMN" DataSetColumn="TYPE_COLUMN" />
<Mapping SourceColumn="LU_CAPTION" DataSetColumn="LU_CAPTION" /> <Mapping SourceColumn="LU_CAPTION" DataSetColumn="LU_CAPTION" />
<Mapping SourceColumn="INHERIT_VALUE" DataSetColumn="INHERIT_VALUE" />
<Mapping SourceColumn="FORMULA_EXPRESSION" DataSetColumn="FORMULA_EXPRESSION" />
<Mapping SourceColumn="FORMULA_SQL" DataSetColumn="FORMULA_SQL" />
</Mappings> </Mappings>
<Sources> <Sources>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="cmdUpdate" Modifier="Public" Name="cmdUpdate" QueryType="Scalar" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdUpdate"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DbObjectType="Table" GenerateShortCommands="true" GeneratorSourceName="cmdUpdate" Modifier="Public" Name="cmdUpdate" QueryType="Scalar" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy" UserSourceName="cmdUpdate">
@@ -1374,26 +1406,30 @@ SELECT GUID, CONTROL_ID, SPALTENNAME, SPALTEN_HEADER, SPALTENBREITE, VALIDATION,
<CommandText>UPDATE TBPM_CONTROL_TABLE <CommandText>UPDATE TBPM_CONTROL_TABLE
SET SPALTENNAME = @SPALTENNAME, SPALTEN_HEADER = @SPALTEN_HEADER, SPALTENBREITE = @SPALTENBREITE, VALIDATION = @VALIDATION, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE, SET SPALTENNAME = @SPALTENNAME, SPALTEN_HEADER = @SPALTEN_HEADER, SPALTENBREITE = @SPALTENBREITE, VALIDATION = @VALIDATION, READ_ONLY = @READ_ONLY, LOAD_IDX_VALUE = @LOAD_IDX_VALUE,
CHANGED_WHO = @CHANGED_WHO, REGEX_MATCH = @REGEX_MATCH, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE, DEFAULT_VALUE = @DEFAULT_VALUE, CHANGED_WHO = @CHANGED_WHO, REGEX_MATCH = @REGEX_MATCH, REGEX_MESSAGE_EN = @REGEX_MESSAGE_EN, REGEX_MESSAGE_DE = @REGEX_MESSAGE_DE, DEFAULT_VALUE = @DEFAULT_VALUE,
SEQUENCE = @SEQUENCE, ADVANCED_LOOKUP = @ADVANCED_LOOKUP, SUMMARY_FUNCTION = @SUMMARY_FUNCTION, TYPE_COLUMN = @TYPE_COLUMN, LU_CAPTION = @LU_CAPTION SEQUENCE = @SEQUENCE, ADVANCED_LOOKUP = @ADVANCED_LOOKUP, SUMMARY_FUNCTION = @SUMMARY_FUNCTION, TYPE_COLUMN = @TYPE_COLUMN, LU_CAPTION = @LU_CAPTION,
INHERIT_VALUE = @INHERIT_VALUE, FORMULA_EXPRESSION = @FORMULA_EXPRESSION, FORMULA_SQL = @FORMULA_SQL
WHERE (GUID = @Original_GUID)</CommandText> WHERE (GUID = @Original_GUID)</CommandText>
<Parameters> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="SPALTENNAME" ColumnName="SPALTENNAME" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTENNAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTENNAME" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SPALTENNAME" ColumnName="SPALTENNAME" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTENNAME" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTENNAME" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SPALTEN_HEADER" ColumnName="SPALTEN_HEADER" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTEN_HEADER" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTEN_HEADER" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SPALTEN_HEADER" ColumnName="SPALTEN_HEADER" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(100)" DbType="AnsiString" Direction="Input" ParameterName="@SPALTEN_HEADER" Precision="0" ProviderType="VarChar" Scale="0" Size="100" SourceColumn="SPALTEN_HEADER" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SPALTENBREITE" ColumnName="SPALTENBREITE" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SPALTENBREITE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SPALTENBREITE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SPALTENBREITE" ColumnName="SPALTENBREITE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SPALTENBREITE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SPALTENBREITE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="VALIDATION" ColumnName="VALIDATION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@VALIDATION" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="VALIDATION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="READ_ONLY" ColumnName="READ_ONLY" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@READ_ONLY" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="READ_ONLY" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="LOAD_IDX_VALUE" ColumnName="LOAD_IDX_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@LOAD_IDX_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="LOAD_IDX_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="true" AutogeneratedName="CHANGED_WHO" ColumnName="CHANGED_WHO" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(30)" DbType="AnsiString" Direction="Input" ParameterName="@CHANGED_WHO" Precision="0" ProviderType="VarChar" Scale="0" Size="30" SourceColumn="CHANGED_WHO" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MATCH" ColumnName="REGEX_MATCH" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MATCH" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MATCH" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_EN" ColumnName="REGEX_MESSAGE_EN" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_EN" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_EN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="REGEX_MESSAGE_DE" ColumnName="REGEX_MESSAGE_DE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(1000)" DbType="AnsiString" Direction="Input" ParameterName="@REGEX_MESSAGE_DE" Precision="0" ProviderType="VarChar" Scale="0" Size="1000" SourceColumn="REGEX_MESSAGE_DE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(MAX)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="2147483647" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="DEFAULT_VALUE" ColumnName="DEFAULT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(MAX)" DbType="AnsiString" Direction="Input" ParameterName="@DEFAULT_VALUE" Precision="0" ProviderType="VarChar" Scale="0" Size="2147483647" SourceColumn="DEFAULT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SEQUENCE" ColumnName="SEQUENCE" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SEQUENCE" ColumnName="SEQUENCE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@SEQUENCE" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="SEQUENCE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="ADVANCED_LOOKUP" ColumnName="ADVANCED_LOOKUP" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@ADVANCED_LOOKUP" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="ADVANCED_LOOKUP" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="ADVANCED_LOOKUP" ColumnName="ADVANCED_LOOKUP" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@ADVANCED_LOOKUP" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="ADVANCED_LOOKUP" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="SUMMARY_FUNCTION" ColumnName="SUMMARY_FUNCTION" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@SUMMARY_FUNCTION" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="SUMMARY_FUNCTION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="SUMMARY_FUNCTION" ColumnName="SUMMARY_FUNCTION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@SUMMARY_FUNCTION" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="SUMMARY_FUNCTION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="TYPE_COLUMN" ColumnName="TYPE_COLUMN" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@TYPE_COLUMN" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="TYPE_COLUMN" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="TYPE_COLUMN" ColumnName="TYPE_COLUMN" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(20)" DbType="AnsiString" Direction="Input" ParameterName="@TYPE_COLUMN" Precision="0" ProviderType="VarChar" Scale="0" Size="20" SourceColumn="TYPE_COLUMN" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="LU_CAPTION" ColumnName="LU_CAPTION" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(150)" DbType="AnsiString" Direction="Input" ParameterName="@LU_CAPTION" Precision="0" ProviderType="VarChar" Scale="0" Size="150" SourceColumn="LU_CAPTION" SourceColumnNullMapping="false" SourceVersion="Current" /> <Parameter AllowDbNull="false" AutogeneratedName="LU_CAPTION" ColumnName="LU_CAPTION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="varchar(150)" DbType="AnsiString" Direction="Input" ParameterName="@LU_CAPTION" Precision="0" ProviderType="VarChar" Scale="0" Size="150" SourceColumn="LU_CAPTION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM_TEST.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" /> <Parameter AllowDbNull="false" AutogeneratedName="INHERIT_VALUE" ColumnName="INHERIT_VALUE" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="bit" DbType="Boolean" Direction="Input" ParameterName="@INHERIT_VALUE" Precision="0" ProviderType="Bit" Scale="0" Size="1" SourceColumn="INHERIT_VALUE" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMULA_EXPRESSION" ColumnName="FORMULA_EXPRESSION" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(1000)" DbType="String" Direction="Input" ParameterName="@FORMULA_EXPRESSION" Precision="0" ProviderType="NVarChar" Scale="0" Size="1000" SourceColumn="FORMULA_EXPRESSION" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="FORMULA_SQL" ColumnName="FORMULA_SQL" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="nvarchar(3000)" DbType="String" Direction="Input" ParameterName="@FORMULA_SQL" Precision="0" ProviderType="NVarChar" Scale="0" Size="3000" SourceColumn="FORMULA_SQL" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="false" AutogeneratedName="Original_GUID" ColumnName="GUID" DataSourceName="DD_ECM.dbo.TBPM_CONTROL_TABLE" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@Original_GUID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="GUID" SourceColumnNullMapping="false" SourceVersion="Original" />
</Parameters> </Parameters>
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
@@ -1413,7 +1449,8 @@ WHERE (CONTROL_ID = @CONTROL_ID)</CommandText>
<SelectCommand> <SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT ADDED_WHEN, ADDED_WHO, ADVANCED_LOOKUP, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, CONTROL_ID, DEFAULT_VALUE, GUID, LOAD_IDX_VALUE, READ_ONLY, REGEX_MATCH, <CommandText>SELECT ADDED_WHEN, ADDED_WHO, ADVANCED_LOOKUP, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, CONTROL_ID, DEFAULT_VALUE, GUID, LOAD_IDX_VALUE, READ_ONLY, REGEX_MATCH,
REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SEQUENCE, SPALTENBREITE, SPALTENNAME, SPALTEN_HEADER, SQL_COMMAND, VALIDATION, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SEQUENCE, SPALTENBREITE, SPALTENNAME, SPALTEN_HEADER, SQL_COMMAND, VALIDATION, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE,
FORMULA_EXPRESSION
FROM TBPM_CONTROL_TABLE</CommandText> FROM TBPM_CONTROL_TABLE</CommandText>
<Parameters /> <Parameters />
</DbCommand> </DbCommand>
@@ -1423,7 +1460,8 @@ FROM TBPM_CONTROL_TABLE</CommandText>
<SelectCommand> <SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT ADDED_WHEN, ADDED_WHO, ADVANCED_LOOKUP, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, CONTROL_ID, DEFAULT_VALUE, GUID, LOAD_IDX_VALUE, READ_ONLY, REGEX_MATCH, <CommandText>SELECT ADDED_WHEN, ADDED_WHO, ADVANCED_LOOKUP, CHANGED_WHEN, CHANGED_WHO, CHOICE_LIST, CONNECTION_ID, CONTROL_ID, DEFAULT_VALUE, GUID, LOAD_IDX_VALUE, READ_ONLY, REGEX_MATCH,
REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SEQUENCE, SPALTENBREITE, SPALTENNAME, SPALTEN_HEADER, SQL_COMMAND, VALIDATION, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION REGEX_MESSAGE_DE, REGEX_MESSAGE_EN, SEQUENCE, SPALTENBREITE, SPALTENNAME, SPALTEN_HEADER, SQL_COMMAND, VALIDATION, SUMMARY_FUNCTION, TYPE_COLUMN, LU_CAPTION, INHERIT_VALUE,
FORMULA_EXPRESSION, FORMULA_SQL
FROM TBPM_CONTROL_TABLE FROM TBPM_CONTROL_TABLE
WHERE (GUID = @GUID)</CommandText> WHERE (GUID = @GUID)</CommandText>
<Parameters> <Parameters>
@@ -1763,13 +1801,16 @@ FROM VWPM_CHART_INVOICE_MONITOR</CommandText>
</TableAdapter> </TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" GeneratorDataComponentClassName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" Name="VWPM_CHART_INVOICE_MONITOR_SERIES" UserDataComponentName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter"> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" GeneratorDataComponentClassName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter" Name="VWPM_CHART_INVOICE_MONITOR_SERIES" UserDataComponentName="VWPM_CHART_INVOICE_MONITOR_SERIESTableAdapter">
<MainSource> <MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="false" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand> <SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true"> <DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT Title, Anzahl, NettoSumme, SEQ <CommandText>SELECT Title, Anzahl, NettoSumme, SEQ
FROM VWPM_CHART_INVOICE_MONITOR_SERIES FROM VWPM_CHART_INVOICE_MONITOR_SERIES
WHERE (COCKPIT_CHART_ID = @COCKPIT_CHART_ID)
ORDER BY SEQ</CommandText> ORDER BY SEQ</CommandText>
<Parameters /> <Parameters>
<Parameter AllowDbNull="false" AutogeneratedName="COCKPIT_CHART_ID" ColumnName="COCKPIT_CHART_ID" DataSourceName="DD_ECM.dbo.VWPM_CHART_INVOICE_MONITOR_SERIES" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@COCKPIT_CHART_ID" Precision="0" ProviderType="Int" Scale="0" Size="4" SourceColumn="COCKPIT_CHART_ID" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand> </DbCommand>
</SelectCommand> </SelectCommand>
</DbSource> </DbSource>
@@ -1782,27 +1823,6 @@ ORDER BY SEQ</CommandText>
</Mappings> </Mappings>
<Sources /> <Sources />
</TableAdapter> </TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="VWPM_CHART_TOP5TableAdapter" GeneratorDataComponentClassName="VWPM_CHART_TOP5TableAdapter" Name="VWPM_CHART_TOP5" UserDataComponentName="VWPM_CHART_TOP5TableAdapter">
<MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM_TEST.dbo.VWPM_CHART_TOP5" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT KRED_NAME, ANZ_BELEG, Netto, Skonto
FROM VWPM_CHART_TOP5
ORDER BY Netto DESC</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="KRED_NAME" DataSetColumn="KRED_NAME" />
<Mapping SourceColumn="ANZ_BELEG" DataSetColumn="ANZ_BELEG" />
<Mapping SourceColumn="Netto" DataSetColumn="Netto" />
<Mapping SourceColumn="Skonto" DataSetColumn="Skonto" />
</Mappings>
<Sources />
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBPM_PROFILETableAdapter" GeneratorDataComponentClassName="TBPM_PROFILETableAdapter" Name="TBPM_PROFILE" UserDataComponentName="TBPM_PROFILETableAdapter"> <TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="TBPM_PROFILETableAdapter" GeneratorDataComponentClassName="TBPM_PROFILETableAdapter" Name="TBPM_PROFILE" UserDataComponentName="TBPM_PROFILETableAdapter">
<MainSource> <MainSource>
<DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.TBPM_PROFILE" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill"> <DbSource ConnectionRef="ConnectionString (MySettings)" DbObjectName="DD_ECM.dbo.TBPM_PROFILE" DbObjectType="Table" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="true" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
@@ -2665,8 +2685,15 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnPropNameInTable="SAVE_CHANGE_ON_ENABLEDColumn" msprop:Generator_ColumnPropNameInRow="SAVE_CHANGE_ON_ENABLED" msprop:Generator_UserColumnName="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnVarNameInTable="columnSAVE_CHANGE_ON_ENABLED" type="xs:boolean" /> <xs:element name="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnPropNameInTable="SAVE_CHANGE_ON_ENABLEDColumn" msprop:Generator_ColumnPropNameInRow="SAVE_CHANGE_ON_ENABLED" msprop:Generator_UserColumnName="SAVE_CHANGE_ON_ENABLED" msprop:Generator_ColumnVarNameInTable="columnSAVE_CHANGE_ON_ENABLED" type="xs:boolean" />
<xs:element name="FORMAT_STRING" msprop:Generator_ColumnPropNameInTable="FORMAT_STRINGColumn" msprop:Generator_ColumnPropNameInRow="FORMAT_STRING" msprop:Generator_UserColumnName="FORMAT_STRING" msprop:Generator_ColumnVarNameInTable="columnFORMAT_STRING" type="xs:string" /> <xs:element name="FORMAT_STRING" msprop:Generator_ColumnPropNameInTable="FORMAT_STRINGColumn" msprop:Generator_ColumnPropNameInRow="FORMAT_STRING" msprop:Generator_UserColumnName="FORMAT_STRING" msprop:Generator_ColumnVarNameInTable="columnFORMAT_STRING" type="xs:string" default="" minOccurs="0" />
<xs:element name="BACKCOLOR_IF" msprop:Generator_ColumnPropNameInTable="BACKCOLOR_IFColumn" msprop:Generator_ColumnPropNameInRow="BACKCOLOR_IF" msprop:Generator_UserColumnName="BACKCOLOR_IF" msprop:Generator_ColumnVarNameInTable="columnBACKCOLOR_IF" type="xs:string" minOccurs="0" /> <xs:element name="BACKCOLOR_IF" msprop:Generator_ColumnPropNameInTable="BACKCOLOR_IFColumn" msprop:Generator_ColumnPropNameInRow="BACKCOLOR_IF" msprop:Generator_UserColumnName="BACKCOLOR_IF" msprop:Generator_ColumnVarNameInTable="columnBACKCOLOR_IF" type="xs:string" minOccurs="0" />
<xs:element name="TEXT_ALIGNMENT" msprop:Generator_ColumnPropNameInTable="TEXT_ALIGNMENTColumn" msprop:Generator_ColumnPropNameInRow="TEXT_ALIGNMENT" msprop:Generator_UserColumnName="TEXT_ALIGNMENT" msprop:Generator_ColumnVarNameInTable="columnTEXT_ALIGNMENT" default="Near">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="20" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -2769,6 +2796,21 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </xs:element>
<xs:element name="INHERIT_VALUE" msprop:Generator_ColumnPropNameInTable="INHERIT_VALUEColumn" msprop:Generator_ColumnPropNameInRow="INHERIT_VALUE" msprop:Generator_UserColumnName="INHERIT_VALUE" msprop:Generator_ColumnVarNameInTable="columnINHERIT_VALUE" type="xs:boolean" default="false" />
<xs:element name="FORMULA_EXPRESSION" msprop:Generator_ColumnPropNameInTable="FORMULA_EXPRESSIONColumn" msprop:Generator_ColumnPropNameInRow="FORMULA_EXPRESSION" msprop:Generator_UserColumnName="FORMULA_EXPRESSION" msprop:Generator_ColumnVarNameInTable="columnFORMULA_EXPRESSION" default="">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="FORMULA_SQL" msprop:Generator_ColumnPropNameInTable="FORMULA_SQLColumn" msprop:Generator_ColumnPropNameInRow="FORMULA_SQL" msprop:Generator_UserColumnName="FORMULA_SQL" msprop:Generator_ColumnVarNameInTable="columnFORMULA_SQL" default="">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="3000" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
@@ -3136,22 +3178,6 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>
<xs:element name="VWPM_CHART_TOP5" msprop:Generator_RowEvHandlerName="VWPM_CHART_TOP5RowChangeEventHandler" msprop:Generator_RowDeletedName="VWPM_CHART_TOP5RowDeleted" msprop:Generator_RowDeletingName="VWPM_CHART_TOP5RowDeleting" msprop:Generator_RowEvArgName="VWPM_CHART_TOP5RowChangeEvent" msprop:Generator_TablePropName="VWPM_CHART_TOP5" msprop:Generator_RowChangedName="VWPM_CHART_TOP5RowChanged" msprop:Generator_UserTableName="VWPM_CHART_TOP5" msprop:Generator_RowChangingName="VWPM_CHART_TOP5RowChanging" msprop:Generator_RowClassName="VWPM_CHART_TOP5Row" msprop:Generator_TableClassName="VWPM_CHART_TOP5DataTable" msprop:Generator_TableVarName="tableVWPM_CHART_TOP5">
<xs:complexType>
<xs:sequence>
<xs:element name="KRED_NAME" msprop:Generator_ColumnPropNameInTable="KRED_NAMEColumn" msprop:Generator_ColumnPropNameInRow="KRED_NAME" msprop:Generator_UserColumnName="KRED_NAME" msprop:Generator_ColumnVarNameInTable="columnKRED_NAME">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ANZ_BELEG" msprop:Generator_ColumnPropNameInTable="ANZ_BELEGColumn" msprop:Generator_ColumnPropNameInRow="ANZ_BELEG" msprop:Generator_UserColumnName="ANZ_BELEG" msprop:Generator_ColumnVarNameInTable="columnANZ_BELEG" type="xs:short" />
<xs:element name="Netto" msprop:Generator_ColumnPropNameInTable="NettoColumn" msprop:Generator_ColumnPropNameInRow="Netto" msprop:Generator_UserColumnName="Netto" msprop:Generator_ColumnVarNameInTable="columnNetto" type="xs:decimal" minOccurs="0" />
<xs:element name="Skonto" msprop:Generator_ColumnPropNameInTable="SkontoColumn" msprop:Generator_ColumnPropNameInRow="Skonto" msprop:Generator_UserColumnName="Skonto" msprop:Generator_ColumnVarNameInTable="columnSkonto" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TBPM_PROFILE" msprop:Generator_RowEvHandlerName="TBPM_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILERowDeleted" msprop:Generator_RowDeletingName="TBPM_PROFILERowDeleting" msprop:Generator_RowEvArgName="TBPM_PROFILERowChangeEvent" msprop:Generator_TablePropName="TBPM_PROFILE" msprop:Generator_RowChangedName="TBPM_PROFILERowChanged" msprop:Generator_UserTableName="TBPM_PROFILE" msprop:Generator_RowChangingName="TBPM_PROFILERowChanging" msprop:Generator_RowClassName="TBPM_PROFILERow" msprop:Generator_TableClassName="TBPM_PROFILEDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE"> <xs:element name="TBPM_PROFILE" msprop:Generator_RowEvHandlerName="TBPM_PROFILERowChangeEventHandler" msprop:Generator_RowDeletedName="TBPM_PROFILERowDeleted" msprop:Generator_RowDeletingName="TBPM_PROFILERowDeleting" msprop:Generator_RowEvArgName="TBPM_PROFILERowChangeEvent" msprop:Generator_TablePropName="TBPM_PROFILE" msprop:Generator_RowChangedName="TBPM_PROFILERowChanged" msprop:Generator_UserTableName="TBPM_PROFILE" msprop:Generator_RowChangingName="TBPM_PROFILERowChanging" msprop:Generator_RowClassName="TBPM_PROFILERow" msprop:Generator_TableClassName="TBPM_PROFILEDataTable" msprop:Generator_TableVarName="tableTBPM_PROFILE">
<xs:complexType> <xs:complexType>
<xs:sequence> <xs:sequence>
@@ -3355,9 +3381,9 @@ SELECT GUID, NAME, TITLE, PRIORITY, DESCRIPTION, ACTIVE, WD_SEARCH, NO_OF_DOCUME
</xs:element> </xs:element>
<xs:annotation> <xs:annotation>
<xs:appinfo> <xs:appinfo>
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" /> <msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL1" msdata:parent="TBPM_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL1" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_ParentPropName="TBPM_PROFILE_CONTROLSRow" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL1" />
<msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" /> <msdata:Relationship name="FK_TBPM_CONTROL_TABLE_CONTROL" msdata:parent="TBWH_CHECK_PROFILE_CONTROLS" msdata:child="TBPM_CONTROL_TABLE" msdata:parentkey="GUID" msdata:childkey="CONTROL_ID" msprop:Generator_UserParentTable="TBWH_CHECK_PROFILE_CONTROLS" msprop:Generator_UserChildTable="TBPM_CONTROL_TABLE" msprop:Generator_RelationVarName="relationFK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ChildPropName="GetTBPM_CONTROL_TABLERows" msprop:Generator_UserRelationName="FK_TBPM_CONTROL_TABLE_CONTROL" msprop:Generator_ParentPropName="TBWH_CHECK_PROFILE_CONTROLSRow" />
<msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_ParentPropName="TBPM_PROFILERow" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" /> <msdata:Relationship name="FK_TBPM_PROFILE_CONTROLS_PROFILE" msdata:parent="TBPM_PROFILE" msdata:child="TBPM_PROFILE_CONTROLS" msdata:parentkey="GUID" msdata:childkey="PROFIL_ID" msprop:Generator_UserParentTable="TBPM_PROFILE" msprop:Generator_UserChildTable="TBPM_PROFILE_CONTROLS" msprop:Generator_RelationVarName="relationFK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ChildPropName="GetTBPM_PROFILE_CONTROLSRows" msprop:Generator_UserRelationName="FK_TBPM_PROFILE_CONTROLS_PROFILE" msprop:Generator_ParentPropName="TBPM_PROFILERow" />
</xs:appinfo> </xs:appinfo>
</xs:annotation> </xs:annotation>
</xs:schema> </xs:schema>

View File

@@ -4,44 +4,43 @@
Changes to this file may cause incorrect behavior and will be lost if Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated. the code is regenerated.
</autogenerated>--> </autogenerated>-->
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-27" ViewPortY="-97" 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="715" ViewPortY="340" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes> <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_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" /> <Shape ID="DesignTable:TBPM_KONFIGURATION" ZOrder="4" X="-17" Y="232" Height="262" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="97" />
<Shape ID="DesignTable:TBDD_USER" ZOrder="18" X="608" Y="444" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:TBDD_USER" ZOrder="17" X="608" Y="444" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPM_TYPE" ZOrder="19" X="17" Y="113" Height="203" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" /> <Shape ID="DesignTable:TBPM_TYPE" ZOrder="18" X="17" Y="113" Height="203" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="0" />
<Shape ID="DesignTable:TBPM_ERROR_LOG" ZOrder="21" X="443" Y="-87" Height="111" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="21" /> <Shape ID="DesignTable:TBPM_ERROR_LOG" ZOrder="20" X="443" Y="-87" Height="111" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="21" />
<Shape ID="DesignTable:TBDD_CONNECTION" ZOrder="4" X="408" Y="-78" Height="379" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" /> <Shape ID="DesignTable:TBDD_CONNECTION" ZOrder="6" X="408" Y="-78" Height="379" Width="178" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
<Shape ID="DesignTable:TBPROFILE_USER" ZOrder="15" X="509" Y="-80" Height="267" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" /> <Shape ID="DesignTable:TBPROFILE_USER" ZOrder="2" X="1041" Y="-53" Height="267" Width="266" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:TBPM_PROFILE_FILES" ZOrder="3" X="1391" Y="-70" Height="229" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" /> <Shape ID="DesignTable:TBPM_PROFILE_FILES" ZOrder="5" X="1391" Y="-70" Height="229" Width="268" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:TBWH_CHECK_PROFILE_CONTROLS" ZOrder="23" X="0" Y="-72" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" /> <Shape ID="DesignTable:TBWH_CHECK_PROFILE_CONTROLS" ZOrder="22" X="0" Y="-72" Height="168" Width="158" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="78" />
<Shape ID="DesignTable:TBPM_PROFILE_CONTROLS" ZOrder="12" X="947" Y="400" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBPM_PROFILE_CONTROLS" ZOrder="12" X="947" Y="404" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBPM_CONTROL_TABLE" ZOrder="1" X="1299" Y="326" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBPM_CONTROL_TABLE" ZOrder="3" X="1320" Y="470" Height="381" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="24" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:TBDD_GROUPS" ZOrder="17" X="19" Y="320" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" /> <Shape ID="DesignTable:TBDD_GROUPS" ZOrder="16" X="19" Y="320" Height="286" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
<Shape ID="DesignTable:TBPROFILE_GROUP" ZOrder="13" X="1054" Y="47" Height="286" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" /> <Shape ID="DesignTable:TBPROFILE_GROUP" ZOrder="13" X="1054" Y="47" Height="286" Width="277" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:FNPM_GET_FREE_USER_FOR_PROFILE" ZOrder="16" X="807" Y="155" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" /> <Shape ID="DesignTable:FNPM_GET_FREE_USER_FOR_PROFILE" ZOrder="15" X="807" Y="155" Height="229" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
<Shape ID="DesignTable:TBDD_EMAIL_TEMPLATE" ZOrder="7" X="1645" Y="598" Height="267" Width="287" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" /> <Shape ID="DesignTable:TBDD_EMAIL_TEMPLATE" ZOrder="9" X="1645" Y="598" Height="267" Width="287" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:TBDD_GUI_LANGUAGE_PHRASE" ZOrder="11" X="1427" Y="251" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" /> <Shape ID="DesignTable:TBDD_GUI_LANGUAGE_PHRASE" ZOrder="11" X="1427" Y="251" Height="305" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<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" ZOrder="1" 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_INVOICE_MONITOR_SERIES" ZOrder="10" X="1757" Y="274" 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="8" X="862" Y="-66" 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="23" X="625" Y="114" Height="276" Width="189" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="272" />
<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> </Shapes>
<Connectors> <Connectors>
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL1" ZOrder="22" LineWidth="11"> <Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL1" ZOrder="21" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>1247</X> <X>1247</X>
<Y>542</Y> <Y>690</Y>
</Point> </Point>
<Point> <Point>
<X>1299</X> <X>1320</X>
<Y>542</Y> <Y>690</Y>
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL" ZOrder="20" LineWidth="11"> <Connector ID="DesignRelation:FK_TBPM_CONTROL_TABLE_CONTROL" ZOrder="19" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>141</X> <X>141</X>
@@ -49,15 +48,15 @@
</Point> </Point>
<Point> <Point>
<X>141</X> <X>141</X>
<Y>343</Y> <Y>487</Y>
</Point> </Point>
<Point> <Point>
<X>1299</X> <X>1320</X>
<Y>343</Y> <Y>487</Y>
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>
<Connector ID="DesignRelation:FK_TBPM_PROFILE_CONTROLS_PROFILE" ZOrder="5" LineWidth="11"> <Connector ID="DesignRelation:FK_TBPM_PROFILE_CONTROLS_PROFILE" ZOrder="7" LineWidth="11">
<RoutePoints> <RoutePoints>
<Point> <Point>
<X>965</X> <X>965</X>
@@ -65,7 +64,7 @@
</Point> </Point>
<Point> <Point>
<X>965</X> <X>965</X>
<Y>400</Y> <Y>404</Y>
</Point> </Point>
</RoutePoints> </RoutePoints>
</Connector> </Connector>

View File

@@ -0,0 +1,73 @@
ADO.NET DataColumn.Expression – Kompakte Übersicht
Spalten werden über den Spaltennamen referenziert, z. B. [MENGE].
GRUNDOPERATOREN
- Arithmetik: + - * /
Beispiel: [A] * [B]
- Vergleich: = <> > >= < <=
Beispiel: [MENGE] > 0
- Logik: AND OR NOT
Beispiel: [A] > 0 AND [B] < 10
- Klammern: (...)
Beispiel: ([A] + [B]) * 2
STRING-VERKETTUNG
- Verkettung: +
Beispiel: [VORNAME] + ' - ' + [NACHNAME]
- Typkonvertierung: Convert
Beispiel: Convert([NUMMER], 'System.String')
BEDINGUNGEN
- IIF(Bedingung, True, False)
Beispiel: IIF([A] = 'Harry', 'Blume', 'Tier')
HÄUFIGE FUNKTIONEN
- Len([TEXT])
- Trim([TEXT])
- Substring([TEXT], 0, 3)
- IsNull([WERT], 0)
- Convert([WERT], 'System.Double')
BEISPIELE (FORMULA_EXPRESSION)
- Multiplikation: [MENGE] * [PREIS]
- Addieren: [A] + [B]
- Division: [A] / [B]
- Text zusammensetzen: [SAKNR] + ' - ' + [KST]
- Bedingung: IIF([STATUS] = 'X', 'OK', 'NOK')ADO.NET DataColumn.Expression – Kompakte Übersicht
Spalten werden über den Spaltennamen referenziert, z. B. [MENGE].
GRUNDOPERATOREN
- Arithmetik: + - * /
Beispiel: [A] * [B]
- Vergleich: = <> > >= < <=
Beispiel: [MENGE] > 0
- Logik: AND OR NOT
Beispiel: [A] > 0 AND [B] < 10
- Klammern: (...)
Beispiel: ([A] + [B]) * 2
STRING-VERKETTUNG
- Verkettung: +
Beispiel: [VORNAME] + ' - ' + [NACHNAME]
- Typkonvertierung: Convert
Beispiel: Convert([NUMMER], 'System.String')
BEDINGUNGEN
- IIF(Bedingung, True, False)
Beispiel: IIF([A] = 'Harry', 'Blume', 'Tier')
HÄUFIGE FUNKTIONEN
- Len([TEXT])
- Trim([TEXT])
- Substring([TEXT], 0, 3)
- IsNull([WERT], 0)
- Convert([WERT], 'System.Double')
BEISPIELE (FORMULA_EXPRESSION)
- Multiplikation: [MENGE] * [PREIS]
- Addieren: [A] + [B]
- Division: [A] / [B]
- Text zusammensetzen: [SAKNR] + ' - ' + [KST]
- Bedingung: IIF([STATUS] = 'X', 'OK', 'NOK')

View File

@@ -1213,7 +1213,7 @@ Namespace FinalIndexDataSetTableAdapters
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _ Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")> _
Private Sub InitConnection() Private Sub InitConnection()
Me._connection = New Global.System.Data.SqlClient.SqlConnection() 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 End Sub
<Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _

View File

@@ -4,7 +4,7 @@
<xs:appinfo source="urn:schemas-microsoft-com:xml-msdatasource"> <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"> <DataSource DefaultConnectionIndex="0" FunctionsComponentName="QueriesTableAdapter" Modifier="AutoLayout, AnsiClass, Class, Public" SchemaSerializationMode="IncludeSchema" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
<Connections> <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> </Connections>
<Tables> <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"> <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> </DataSource>
</xs:appinfo> </xs:appinfo>
</xs:annotation> </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:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded"> <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:complexType>
<xs:sequence> <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="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_ColumnVarNameInTable="columnPROFIL_ID" msprop:Generator_ColumnPropNameInRow="PROFIL_ID" msprop:Generator_ColumnPropNameInTable="PROFIL_IDColumn" msprop:Generator_UserColumnName="PROFIL_ID" 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_ColumnVarNameInTable="columnCONNECTION_ID" msprop:Generator_ColumnPropNameInRow="CONNECTION_ID" msprop:Generator_ColumnPropNameInTable="CONNECTION_IDColumn" msprop:Generator_UserColumnName="CONNECTION_ID" type="xs:short" /> <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_ColumnVarNameInTable="columnSQL_COMMAND" msprop:Generator_ColumnPropNameInRow="SQL_COMMAND" msprop:Generator_ColumnPropNameInTable="SQL_COMMANDColumn" msprop:Generator_UserColumnName="SQL_COMMAND"> <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:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="2147483647" /> <xs:maxLength value="2147483647" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </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:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="100" /> <xs:maxLength value="100" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </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:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="100" /> <xs:maxLength value="100" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </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:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="30" /> <xs:maxLength value="30" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </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="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_ColumnVarNameInTable="columnCHANGED_WHO" msprop:Generator_ColumnPropNameInRow="CHANGED_WHO" msprop:Generator_ColumnPropNameInTable="CHANGED_WHOColumn" msprop:Generator_UserColumnName="CHANGED_WHO" minOccurs="0"> <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:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="30" /> <xs:maxLength value="30" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </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="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_ColumnVarNameInTable="columnDESCRIPTION" msprop:Generator_ColumnPropNameInRow="DESCRIPTION" msprop:Generator_ColumnPropNameInTable="DESCRIPTIONColumn" msprop:Generator_UserColumnName="DESCRIPTION"> <xs:element name="DESCRIPTION" msprop:Generator_ColumnPropNameInRow="DESCRIPTION" msprop:Generator_ColumnPropNameInTable="DESCRIPTIONColumn" msprop:Generator_ColumnVarNameInTable="columnDESCRIPTION" msprop:Generator_UserColumnName="DESCRIPTION">
<xs:simpleType> <xs:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="2147483647" /> <xs:maxLength value="2147483647" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </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="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_ColumnVarNameInTable="columnPREVENT_DUPLICATES" msprop:Generator_ColumnPropNameInRow="PREVENT_DUPLICATES" msprop:Generator_ColumnPropNameInTable="PREVENT_DUPLICATESColumn" msprop:Generator_UserColumnName="PREVENT_DUPLICATES" 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_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="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_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="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:simpleType>
<xs:restriction base="xs:string"> <xs:restriction base="xs:string">
<xs:maxLength value="25" /> <xs:maxLength value="25" />
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
</xs:element> </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="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_ColumnVarNameInTable="columnCONTINUE_INDETERMINED" msprop:Generator_ColumnPropNameInRow="CONTINUE_INDETERMINED" msprop:Generator_ColumnPropNameInTable="CONTINUE_INDETERMINEDColumn" msprop:Generator_UserColumnName="CONTINUE_INDETERMINED" type="xs:boolean" /> <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:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>

View File

@@ -2,8 +2,7 @@
Imports System.ComponentModel.Design Imports System.ComponentModel.Design
Imports System.Drawing.Design Imports System.Drawing.Design
Imports System.Globalization Imports System.Globalization
Imports DigitalData.Modules.Language.Utils Imports DevExpress.XtraPrinting.Native
Public Module ModuleControlProperties Public Module ModuleControlProperties
Public Enum IndexTypes Public Enum IndexTypes
@@ -32,6 +31,8 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_GENERAL)> <Category(ClassConstants.CAT_GENERAL)>
Public Property Name() As String Public Property Name() As String
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property Active() As Boolean
<Category(ClassConstants.CAT_DISPLAY)> <Category(ClassConstants.CAT_DISPLAY)>
Public Property Location() As Point Public Property Location() As Point
@@ -69,6 +70,35 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_DISPLAY)> <Category(ClassConstants.CAT_DISPLAY)>
Public Property TextColor As Color 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 Class FontConverter
Inherits TypeConverter Inherits TypeConverter
@@ -90,9 +120,6 @@ Public Module ModuleControlProperties
Private _default_value Private _default_value
Friend _set_control_data As String Friend _set_control_data As String
<Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property Active() As Boolean
<Category(ClassConstants.CAT_VALIDATION)> <Category(ClassConstants.CAT_VALIDATION)>
Public Property Required() As Boolean Public Property Required() As Boolean
@@ -124,7 +151,7 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_DATA)> <Category(ClassConstants.CAT_DATA)>
Public Property SQLCommand() As SQLValue Public Property SQLCommand() As SQLValue
Get Get
Return New SQLValue(NotNull(_sql_command, "")) ', _sql_connection Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_sql_command, "")) ', _sql_connection
End Get End Get
Set(ByVal value As SQLValue) Set(ByVal value As SQLValue)
_sql_command = value.Value _sql_command = value.Value
@@ -150,7 +177,7 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_BEHAVIOUR)> <Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property Enable_SQL() As SQLValue Public Property Enable_SQL() As SQLValue
Get Get
Return New SQLValue(NotNull(_Enable_SQL, "")) ', _sql_connection Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Enable_SQL, "")) ', _sql_connection
End Get End Get
Set(ByVal value As SQLValue) Set(ByVal value As SQLValue)
_Enable_SQL = value.Value _Enable_SQL = value.Value
@@ -163,7 +190,7 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_BEHAVIOUR)> <Category(ClassConstants.CAT_BEHAVIOUR)>
Public Property Enable_SQL_OnLoad() As SQLValue Public Property Enable_SQL_OnLoad() As SQLValue
Get Get
Return New SQLValue(NotNull(_Enable_SQL_ONLOAD, "")) ', _sql_connection Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Enable_SQL_ONLOAD, "")) ', _sql_connection
End Get End Get
Set(ByVal value As SQLValue) Set(ByVal value As SQLValue)
_Enable_SQL_ONLOAD = value.Value _Enable_SQL_ONLOAD = value.Value
@@ -263,7 +290,15 @@ Public Module ModuleControlProperties
Public Class ComboboxProperties Public Class ComboboxProperties
Inherits InputPropertiesWithControlData Inherits InputPropertiesWithControlData
<DisplayName("Regex Pattern")>
<Category(ClassConstants.CAT_VALIDATION)>
<Editor(GetType(ClassRegexEditor), GetType(UITypeEditor))>
Public Property Regex As String
<DisplayName("Regex Failure Message")>
<Category(ClassConstants.CAT_VALIDATION)>
<Editor(GetType(MultilineStringEditor), GetType(UITypeEditor))>
Public Property RegexMessage As String
<Category(ClassConstants.CAT_DISPLAY)> <Category(ClassConstants.CAT_DISPLAY)>
Public Property Text() As String Public Property Text() As String
@@ -335,7 +370,7 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_DISPLAY)> <Category(ClassConstants.CAT_DISPLAY)>
Public Property CtrlImage() As ImageValue Public Property CtrlImage() As ImageValue
Get Get
Return New ImageValue(NotNull(_image_Value, "")) Return New ImageValue(ClassAllgemeineFunktionen.NotNullString(_image_Value, ""))
End Get End Get
Set(ByVal value As ImageValue) Set(ByVal value As ImageValue)
_image_Value = value.Value _image_Value = value.Value
@@ -346,7 +381,7 @@ Public Module ModuleControlProperties
<Category(ClassConstants.CAT_VALIDATION)> <Category(ClassConstants.CAT_VALIDATION)>
Public Property Override_SQL() As SQLValue Public Property Override_SQL() As SQLValue
Get Get
Return New SQLValue(NotNull(_Override_SQL, "")) ', _sql_connection Return New SQLValue(ClassAllgemeineFunktionen.NotNullString(_Override_SQL, "")) ', _sql_connection
End Get End Get
Set(ByVal value As SQLValue) Set(ByVal value As SQLValue)
_Override_SQL = value.Value _Override_SQL = value.Value

View File

@@ -1,7 +1,7 @@
Imports System.ComponentModel Imports System.ComponentModel
Imports System.Drawing.Design Imports System.Drawing.Design
Imports System.Globalization Imports System.Globalization
Imports FormsUtils Imports FormsUtils 'FormsUtils.dll als Fremdbibliothek für die Properties
Module ModuleFinalIndexProperties Module ModuleFinalIndexProperties
<TypeConverter(GetType(PropertiesDeluxeTypeConverter))> <TypeConverter(GetType(PropertiesDeluxeTypeConverter))>

View File

@@ -4,6 +4,9 @@
Public Property CONNECTION_STRING_ECM As String = "" Public Property CONNECTION_STRING_ECM As String = ""
Public Property CONNECTION_STRING_IDB As String = "" Public Property CONNECTION_STRING_IDB As String = ""
Public Property IDB_ACTIVE As Boolean = False Public Property IDB_ACTIVE As Boolean = False
Public Property COPY_WMFILE_2TEMP As Boolean = False
Public Property MAP_SHARE_DRIVE As String = String.Empty
Public Property MAP_BLACKLIST As String = String.Empty
Public Property EDMIAppServerActive As Boolean = False Public Property EDMIAppServerActive As Boolean = False
Public Property OPERATION_MODE_FS As String = "PURE_WM" Public Property OPERATION_MODE_FS As String = "PURE_WM"
@@ -14,7 +17,7 @@
Public Property NO_DETAIL_PROFILES As Boolean = False Public Property NO_DETAIL_PROFILES As Boolean = False
' Debug Settings ' Debug Settings
Public Property DEBUG As Boolean = False Public Property DEBUG As Boolean = False
Public Property LOG_HOTSPOTS As Boolean = False
Public Property INDEX_DMS_ERSTELLT = "DMS erstellt" Public Property INDEX_DMS_ERSTELLT = "DMS erstellt"
Public Property INDEX_DMS_ERSTELLT_ZEIT = "DMS erstellt (Zeit)" Public Property INDEX_DMS_ERSTELLT_ZEIT = "DMS erstellt (Zeit)"

View File

@@ -1,10 +1,11 @@
Imports WINDREAMLib Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Config
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Database Imports DigitalData.Modules.Database
Imports DigitalData.Modules.ZooFlow Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.Windream Imports DigitalData.Modules.Windream
Imports DigitalData.Modules.ZooFlow
Imports taskFLOW.ClassConfig
Imports WINDREAMLib
Module ModuleRuntimeVariables Module ModuleRuntimeVariables
@@ -18,6 +19,7 @@ Module ModuleRuntimeVariables
' Diese Werte müssen später zur Laufzeit geladen werden ' Diese Werte müssen später zur Laufzeit geladen werden
Public Property ActiveWorkflowType As Integer Public Property ActiveWorkflowType As Integer
Public Property BASEDATA_DT_TBDD_CONNECTION As DataTable Public Property BASEDATA_DT_TBDD_CONNECTION As DataTable
Public Property BASEDATA_DT_TBDD_CATALOG As DataTable
Public Property BASEDATA_DT_TBDD_SQL_COMMANDS As DataTable Public Property BASEDATA_DT_TBDD_SQL_COMMANDS As DataTable
Public Property BASEDATA_DT_CONFIG As DataTable Public Property BASEDATA_DT_CONFIG As DataTable
Public Property BASEDATA_DTGRID_GROUPS As DataTable Public Property BASEDATA_DTGRID_GROUPS As DataTable
@@ -28,14 +30,19 @@ Module ModuleRuntimeVariables
Public Property BASEDATA_DT_PROFILES_SEARCHES_DOC As DataTable Public Property BASEDATA_DT_PROFILES_SEARCHES_DOC As DataTable
Public Property DT_FILTERED_PROFILE_SEARCHES_DOC As DataTable Public Property DT_FILTERED_PROFILE_SEARCHES_DOC As DataTable
Public Property BASEDATA_DT_PROFILES_SEARCHES_SQL As DataTable Public Property BASEDATA_DT_PROFILES_SEARCHES_DATA As DataTable
Public Property BASEDATA_DT_PROFILE_SEARCHES_SQL As DataTable Public Property DT_FILTERED_PROFILE_SEARCHES_DATA As DataTable
Public Property BASEDATA_DT_VW_PROFILE_USER As DataTable Public Property BASEDATA_DT_VW_PROFILE_USER As DataTable
Public Property BASEDATA_TBDD_COLUMNS_FORMAT As DataTable
Public Property BASEDATA_TBPM_PROFILE_CONTROLS As DataTable
Public Property CURRENT_ProfilGUID As Integer Public Property CURRENT_ProfilGUID As Integer
Public Property CURRENT_ProfilName As String Public Property CURRENT_ProfilName As String
Public Property CURRENT_PROFILE_LOG_INDEX As String Public Property CURRENT_PROFILE_LOG_INDEX As String
Public Property PROFILE_SHOW_DOCUMENT As Boolean = True Public Property PROFILE_SHOW_DOCUMENT As Boolean = True
Public Property PROFILE_NOT_RESP_COMMENT As Boolean = True
Public Property CURRENT_DOC_GUID As Int64 Public Property CURRENT_DOC_GUID As Int64
Public Property CURRENT_DOC_ID As Int64 Public Property CURRENT_DOC_ID As Int64
@@ -57,6 +64,7 @@ Module ModuleRuntimeVariables
Public Property USER_IS_ADMIN As Boolean = False Public Property USER_IS_ADMIN As Boolean = False
Public Property USER_ID = 0 Public Property USER_ID = 0
Public Property USER_MODULE_ID = 0
Public Property USER_PRENAME = "" Public Property USER_PRENAME = ""
Public Property USER_SURNAME = "" Public Property USER_SURNAME = ""
Public Property USER_SHORTNAME = "" Public Property USER_SHORTNAME = ""
@@ -75,6 +83,15 @@ Module ModuleRuntimeVariables
Public Property USER_USERNAME_ORG As String = "" Public Property USER_USERNAME_ORG As String = ""
Public Property USER_GHOST_MODE_ACTIVE As Boolean = False Public Property USER_GHOST_MODE_ACTIVE As Boolean = False
Public Property USER_GHOST_MODE_USRNAME As String = "" Public Property USER_GHOST_MODE_USRNAME As String = ""
''' <summary>
''' Temporärer Ordner für Dokumentkopien (wenn COPY_WMFILE_2TEMP = True)
''' </summary>
Public TEMP_DOCUMENT_FOLDER As String = String.Empty
Public Class UserInheritanceConfirmation
Public Property ColumnName As String = ""
Public Property Count As Integer
End Class
Public Property UserInheritance_ConfirmationByColumn As New List(Of UserInheritanceConfirmation)
Public Property FORCE_LAYOUT_OVERVIEW As Boolean = False Public Property FORCE_LAYOUT_OVERVIEW As Boolean = False
Public Property SHOW_CHARTS As Boolean = True Public Property SHOW_CHARTS As Boolean = True
@@ -89,6 +106,7 @@ Module ModuleRuntimeVariables
Public Property POPUP_REMINDER_ACTIVE As Boolean = True Public Property POPUP_REMINDER_ACTIVE As Boolean = True
Public Property INACTIVITY_DURATION As Integer = 0 Public Property INACTIVITY_DURATION As Integer = 0
Public Property INACTIVITYRecognized As Boolean = False Public Property INACTIVITYRecognized As Boolean = False
Public Property InheritanceMsgAmount As Integer = 5
Public Property LAST_EDITED_COLUMN As String = "NONE" Public Property LAST_EDITED_COLUMN As String = "NONE"
Public Property LAST_ADDED_COLUMN As String = "NONE" Public Property LAST_ADDED_COLUMN As String = "NONE"
Public Property MON_EDITED_COLUMN As String = "NONE" Public Property MON_EDITED_COLUMN As String = "NONE"
@@ -132,24 +150,21 @@ Module ModuleRuntimeVariables
Public Property CURRENT_DT_MASS_CHANGE_DOCS As DataTable Public Property CURRENT_DT_MASS_CHANGE_DOCS As DataTable
Public Property CURRENT_DT_FINAL_INDEXING As DataTable Public Property CURRENT_DT_FINAL_INDEXING As DataTable
Public Property CURRENT_DT_PROFILES As DataTable Public Property CURRENT_DT_PROFILES As DataTable
Public Property CURRENT_DT_PROFILE_LANGUAGE As DataTable Public Property CURRENT_DT_PROFILE_LANGUAGE As DataTable
Public Property CURRENT_DT_PROFILE As DataTable Public Property CURRENT_DT_PROFILE As DataTable
Public Property CURRENT_CONTROL_NAME_LIST As New List(Of String) Public Property CURRENT_CONTROL_NAME_LIST As New List(Of String)
Public Property COCKPIT_MONITOR_ID As Integer = 0
Public Property COCKPIT_MONITOR_CAPTION As String = ""
Public Property COCKPIT_CHART_ID As Integer
Public Property DTVWCONTROLS_INDEX As DataTable Public Property DTVWCONTROLS_INDEX As DataTable
Public Property DTVWCONTROL_INDEX As DataTable Public Property DTVWCONTROL_INDEX As DataTable
Public Property DTCONTROLS_WITH_SQL As DataTable Public Property DTCONTROLS_WITH_SQL As DataTable
Public Property DTTBPM_PROFILE_FINAL_INDEXING As DataTable
Public Property CURRENT_CONTROL_ID As Integer Public Property CURRENT_CONTROL_ID As Integer
Public Property errormessage As String Public Property errormessage As String
Public Property WINDREAM As ClassPMWindream Public Property WINDREAM As ClassPMWindream
Public Property WINDREAM_MOD As Windream Public Property WINDREAM_MOD As Windream
Public Property WINDREAM_ALLG As ClassWindream_allgemein Public Property WINDREAM_ALLG As ClassWindream_allgemein
@@ -164,7 +179,7 @@ Module ModuleRuntimeVariables
Public Property MyIndicies As List(Of String) Public Property MyIndicies As List(Of String)
Public Property MyIndicies_Types As List(Of Integer) Public Property MyIndicies_Types As List(Of Integer)
Public Property _Client As Client Public Property _EDMIClient As Client
Public Property WMSUFFIX As String Public Property WMSUFFIX As String
Public Property WMDRIVE_LETTER As String Public Property WMDRIVE_LETTER As String

View File

@@ -32,7 +32,7 @@ Namespace My
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _ <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm() Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.DD_ProcessManager.frmMain Me.MainForm = Global.taskFLOW.frmMain
End Sub End Sub
<Global.System.Diagnostics.DebuggerStepThroughAttribute()> _ <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _

View File

@@ -8,5 +8,5 @@
<AuthenticationMode>0</AuthenticationMode> <AuthenticationMode>0</AuthenticationMode>
<MinimumSplashScreenDisplayTime>0</MinimumSplashScreenDisplayTime> <MinimumSplashScreenDisplayTime>0</MinimumSplashScreenDisplayTime>
<SaveMySettingsOnExit>true</SaveMySettingsOnExit> <SaveMySettingsOnExit>true</SaveMySettingsOnExit>
<HighDpiMpde>false</HighDpiMpde> <HighDpiMode>0</HighDpiMode>
</MyApplicationData> </MyApplicationData>

View File

@@ -0,0 +1,36 @@
Namespace My
Partial Friend Class MyApplication
Private Sub MyApplication_UnhandledException(sender As Object, e As Microsoft.VisualBasic.ApplicationServices.UnhandledExceptionEventArgs) Handles Me.UnhandledException
Try
' LOGGER könnte noch Nothing sein - daher Try/Catch
If LOGGER IsNot Nothing Then
LOGGER.Fatal("UNHANDLED EXCEPTION (MyApplication_UnhandledException)")
LOGGER.Fatal(e.Exception)
End If
Catch
' LOGGER nicht verfügbar - ignorieren
End Try
Try
' Fallback: In Datei schreiben wenn LOGGER nicht verfügbar
Dim oLogPath As String = System.IO.Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
"taskFLOW_crash.log")
System.IO.File.AppendAllText(oLogPath,
$"[{DateTime.Now}] CRASH: {e.Exception?.ToString()}{Environment.NewLine}")
Catch
End Try
Try
MessageBox.Show(
$"Unerwarteter Fehler:{Environment.NewLine}{e.Exception?.Message}",
"taskFLOW - Kritischer Fehler",
MessageBoxButtons.OK,
MessageBoxIcon.Error)
Catch
End Try
e.ExitApplication = True
End Sub
End Class
End Namespace

View File

@@ -13,7 +13,7 @@ Imports System.Runtime.InteropServices
<Assembly: AssemblyDescription("")> <Assembly: AssemblyDescription("")>
<Assembly: AssemblyCompany("Digital Data")> <Assembly: AssemblyCompany("Digital Data")>
<Assembly: AssemblyProduct("taskFLOW")> <Assembly: AssemblyProduct("taskFLOW")>
<Assembly: AssemblyCopyright("Copyright © Digital Data 2025")> <Assembly: AssemblyCopyright("Digital Data 2026")>
<Assembly: AssemblyTrademark("")> <Assembly: AssemblyTrademark("")>
<Assembly: ComVisible(False)> <Assembly: ComVisible(False)>
@@ -32,6 +32,6 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben: ' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")> ' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("2.5.4.3")> <Assembly: AssemblyVersion("3.6.1.0")>
<Assembly: AssemblyFileVersion("1.0.0.0")> <Assembly: AssemblyFileVersion("1.0.0.0")>
<Assembly: NeutralResourcesLanguage("")> <Assembly: NeutralResourcesLanguage("")>

View File

@@ -39,7 +39,7 @@ Namespace My.Resources
Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get Get
If Object.ReferenceEquals(resourceMan, Nothing) Then 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 resourceMan = temp
End If End If
Return resourceMan Return resourceMan

View File

@@ -119,7 +119,7 @@
</resheader> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <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"> <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> <value>..\Resources\actions_user.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="lbl" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\lbl.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -131,7 +131,7 @@
<value>..\Resources\taskFlow_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\taskFlow_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="delete" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\delete.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\delete.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="hide_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="hide_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\hide_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\hide_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -185,7 +185,7 @@
<value>..\Resources\_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="chartdesigner" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="chartdesigner" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\chartdesigner.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\chartdesigner.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="zoom_in" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="zoom_in" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zoom_in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\zoom_in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -200,13 +200,13 @@
<value>..\Resources\Settings.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Settings.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="security_key" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\security_key.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="bo_unknown" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\bo_unknown.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="Security_Lock" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Security_Lock" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Security_Lock.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\Security_Lock.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="application_form_edit" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="application_form_edit" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\application_form_edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\application_form_edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -233,16 +233,16 @@
<value>..\Resources\database_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\database_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="pencolor" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\pencolor.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="DD_Icons_ICO_CBWATCHER_48px" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <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>
<data name="markcomplete" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\markcomplete.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="adateoccuring" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\adateoccuring.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="information" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -260,7 +260,7 @@
<value>..\Resources\xls.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\xls.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="save1" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\save.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="dxf" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\dxf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -275,13 +275,13 @@
<value>..\Resources\image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="enablesearch" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="enablesearch" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\enablesearch.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\enablesearch.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="Properties" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Properties" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Properties.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Properties.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="insertcombobox" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\insertcombobox.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="page_copy" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\page_copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -314,13 +314,13 @@
<value>..\Resources\world_link.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\world_link.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="actions_table" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="actions_table" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_table.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\actions_table.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="search_glyph" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="search_glyph" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\search_glyph.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\search_glyph.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="itemtypechecked" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\itemtypechecked.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="properties_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\properties_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -329,10 +329,10 @@
<value>..\Resources\database_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\database_refresh.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="Security_Unlock" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\Security_Unlock.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="chartdesigner2" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\chartdesigner2.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="bullet_red" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\bullet_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -404,7 +404,7 @@
<value>..\Resources\hide_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\hide_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="chartdesigner1" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="chartdesigner1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\chartdesigner1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value> <value>..\Resources\chartdesigner1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="database_link" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="database_link" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\database_link.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\database_link.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -413,7 +413,7 @@
<value>..\Resources\show_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\show_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="cancel1" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\cancel.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="ComboBox_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\ComboBox_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -443,7 +443,7 @@
<value>..\Resources\Image_File.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Image_File.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="textthatcontains" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\textthatcontains.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="Files_7954" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="Files_7954" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Files_7954.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\Files_7954.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -455,7 +455,7 @@
<value>..\Resources\flag_green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\flag_green.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="groupby" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\groupby.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="Monitor_Screen_16xLG" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\Monitor_Screen_16xLG.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -509,7 +509,7 @@
<value>..\Resources\cmb.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\cmb.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="formatastable" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\formatastable.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="zoom_out" type="System.Resources.ResXFileRef, System.Windows.Forms"> <data name="zoom_out" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zoom_out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\zoom_out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -527,7 +527,7 @@
<value>..\Resources\bullet_red1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value> <value>..\Resources\bullet_red1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data> </data>
<data name="color" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\color.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data> </data>
<data name="user_red" type="System.Resources.ResXFileRef, System.Windows.Forms"> <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> <value>..\Resources\user_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>

View File

@@ -0,0 +1,538 @@
<?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>
<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="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>
<data name="delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\delete.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="hide_32x32" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\hide_32x32.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="GoToDeclaration_5576" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\GoToDeclaration_5576.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="database_go1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\database_go1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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>
</data>
<data name="SQL_Letters" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SQL_Letters.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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>
<data name="flag_purple" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\flag_purple.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Checked-outforEdit_Color_13297" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Checked-outforEdit_Color_13297.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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>
<data name="_blank" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chartdesigner" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\chartdesigner.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="zoom_in" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zoom_in.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="ampel-rot" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ampel-rot.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="SendReply" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\SendReply.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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>
</data>
<data name="Security_Lock" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Security_Lock.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="application_form_edit" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\application_form_edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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>
<data name="searchFlow_icon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\searchFlow_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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>
<data name="doc_excel_csv" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\doc_excel_csv.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="database_go" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\database_go.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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="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>
</data>
<data name="TextBox_708" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\TextBox_708.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="xls" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\xls.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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="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>
</data>
<data name="image" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\image.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="enablesearch" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\enablesearch.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="Properties" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Properties.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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="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="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="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>
</data>
<data name="resultset_next" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\resultset_next.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="world_link" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\world_link.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="actions_table" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\actions_table.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="search_glyph" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\search_glyph.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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>
</data>
<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="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="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>
</data>
<data name="user" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\user.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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="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="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="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>
</data>
<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="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>
</data>
<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="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>
<data name="page_red" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\page_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="hide_16x16" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\hide_16x16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="chartdesigner1" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\chartdesigner1.svg;DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a</value>
</data>
<data name="database_link" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\database_link.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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>
</data>
<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="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>
<data name="flag_red" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\flag_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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="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>
</data>
<data name="Files_7954" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Files_7954.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="conversation_color" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\conversation_color.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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>
</data>
<data name="database_save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\database_save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="OpenFileDialog_692" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\OpenFileDialog_692.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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="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>
</data>
<data name="ampel-gelb" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\ampel-gelb.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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="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="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>
</data>
<data name="zoom_out" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\zoom_out.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="search" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\search.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<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="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="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="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 Namespace My
<Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.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)> _ Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _
Partial Friend NotInheritable Class MySettings Partial Friend NotInheritable Class MySettings
Inherits Global.System.Configuration.ApplicationSettingsBase Inherits Global.System.Configuration.ApplicationSettingsBase
@@ -156,7 +156,7 @@ Namespace My
<Global.System.Configuration.UserScopedSettingAttribute(), _ <Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.DefaultSettingValueAttribute("563")> _ Global.System.Configuration.DefaultSettingValueAttribute("346")> _
Public Property frmValSearchSplitterDistance() As Integer Public Property frmValSearchSplitterDistance() As Integer
Get Get
Return CType(Me("frmValSearchSplitterDistance"),Integer) Return CType(Me("frmValSearchSplitterDistance"),Integer)
@@ -199,8 +199,9 @@ Namespace My
<Global.System.Configuration.ApplicationScopedSettingAttribute(), _ <Global.System.Configuration.ApplicationScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
Global.System.Configuration.SpecialSettingAttribute(Global.System.Configuration.SpecialSetting.ConnectionString), _ 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 "& _ Global.System.Configuration.DefaultSettingValueAttribute("Data Source=SDD-VHP04-SQL19\DD_TESTING01;Initial Catalog=DD_ECM;Persist Security "& _
"Info=True;User ID=sa;Password=dd;Encrypt=False")> _ "Info=True;User ID=sa;Password=123456789dD!;Encrypt=False;TrustServerCertificate="& _
"True")> _
Public ReadOnly Property ConnectionString() As String Public ReadOnly Property ConnectionString() As String
Get Get
Return CType(Me("ConnectionString"),String) Return CType(Me("ConnectionString"),String)
@@ -263,9 +264,9 @@ Namespace My
Friend Module MySettingsProperty Friend Module MySettingsProperty
<Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _ <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 Get
Return Global.DD_ProcessManager.My.MySettings.Default Return Global.taskFLOW.My.MySettings.Default
End Get End Get
End Property End Property
End Module End Module

View File

@@ -27,7 +27,7 @@
<Value Profile="(Default)">0, 0</Value> <Value Profile="(Default)">0, 0</Value>
</Setting> </Setting>
<Setting Name="frmValSearchSplitterDistance" Type="System.Int32" Scope="User"> <Setting Name="frmValSearchSplitterDistance" Type="System.Int32" Scope="User">
<Value Profile="(Default)">563</Value> <Value Profile="(Default)">346</Value>
</Setting> </Setting>
<Setting Name="frmMainWindowState" Type="System.String" Scope="User"> <Setting Name="frmMainWindowState" Type="System.String" Scope="User">
<Value Profile="(Default)">Normal</Value> <Value Profile="(Default)">Normal</Value>
@@ -41,10 +41,10 @@
<Setting Name="ConnectionString" Type="(Connection string)" Scope="Application"> <Setting Name="ConnectionString" Type="(Connection string)" Scope="Application">
<DesignTimeValue Profile="(Default)">&lt;?xml version="1.0" encoding="utf-16"?&gt; <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;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;ConnectionString&gt;Data Source=SDD-VHP04-SQL19\DD_TESTING01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=123456789dD!;Encrypt=False;TrustServerCertificate=True&lt;/ConnectionString&gt;
&lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt; &lt;ProviderName&gt;System.Data.SqlClient&lt;/ProviderName&gt;
&lt;/SerializableConnectionString&gt;</DesignTimeValue> &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> <Value Profile="(Default)">Data Source=SDD-VHP04-SQL19\DD_TESTING01;Initial Catalog=DD_ECM;Persist Security Info=True;User ID=sa;Password=123456789dD!;Encrypt=False;TrustServerCertificate=True</Value>
</Setting> </Setting>
<Setting Name="frmTableColumns_Position" Roaming="true" Type="System.Drawing.Point" Scope="User"> <Setting Name="frmTableColumns_Position" Roaming="true" Type="System.Drawing.Point" Scope="User">
<Value Profile="(Default)">0, 0</Value> <Value Profile="(Default)">0, 0</Value>

View File

@@ -1,15 +0,0 @@
DevExpress.XtraEditors.Repository.RepositoryItemComboBox, 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

@@ -1,12 +0,0 @@
DevExpress.XtraNavBar.NavBarControl, DevExpress.XtraNavBar.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.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.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.XtraEditors.CheckEdit, DevExpress.XtraEditors.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.XtraLayout.LayoutControl, DevExpress.XtraLayout.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

View File

@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:simpleType name="parameterDirection">
<xs:restriction base="xs:string">
<xs:enumeration value="Output"/>
<xs:enumeration value="InputOutput"/>
<xs:enumeration value="ReturnValue"/>
<xs:enumeration value="Implicit"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="customBoolean">
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ONSParameters">
<xs:restriction base="xs:string">
<xs:enumeration value="nodeList"/>
<!--<xs:enumeration value="walletFile"/>
<xs:enumeration value="walletPassword"/>-->
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ONSModeValues">
<xs:restriction base="xs:string">
<xs:enumeration value="local"/>
<xs:enumeration value="remote"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="datatype">
<xs:restriction base="xs:string">
<xs:enumeration value="System.Binary"/>
<xs:enumeration value="System.Boolean"/>
<xs:enumeration value="System.Byte"/>
<xs:enumeration value="System.Byte[]"/>
<xs:enumeration value="System.Char"/>
<xs:enumeration value="System.DateTime"/>
<xs:enumeration value="System.DateTimeOffset"/>
<xs:enumeration value="System.Decimal"/>
<xs:enumeration value="System.Double"/>
<xs:enumeration value="System.Guid"/>
<xs:enumeration value="System.Int16"/>
<xs:enumeration value="System.Int32"/>
<xs:enumeration value="System.Int64"/>
<xs:enumeration value="System.SByte"/>
<xs:enumeration value="System.Single"/>
<xs:enumeration value="System.String"/>
<xs:enumeration value="System.TimeSpan"/>
<xs:enumeration value="System.UInt16"/>
<xs:enumeration value="System.UInt32"/>
<xs:enumeration value="System.UInt64"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="providerType">
<xs:restriction base="xs:string">
<xs:enumeration value="BFile"/>
<xs:enumeration value="BinaryFloat"/>
<xs:enumeration value="BinaryDouble"/>
<xs:enumeration value="Blob"/>
<xs:enumeration value="Byte"/>
<xs:enumeration value="Char"/>
<xs:enumeration value="Clob"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="Decimal"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="Int16"/>
<xs:enumeration value="Int32"/>
<xs:enumeration value="Int64"/>
<xs:enumeration value="IntervalDS"/>
<xs:enumeration value="IntervalYM"/>
<xs:enumeration value="Long"/>
<xs:enumeration value="LongRaw"/>
<xs:enumeration value="NChar"/>
<xs:enumeration value="NClob"/>
<xs:enumeration value="NVarchar2"/>
<xs:enumeration value="Object"/>
<xs:enumeration value="Raw"/>
<xs:enumeration value="Single"/>
<xs:enumeration value="TimeStamp"/>
<xs:enumeration value="TimeStampLTZ"/>
<xs:enumeration value="TimeStampTZ"/>
<xs:enumeration value="Varchar2"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="nativeDataType">
<xs:restriction base="xs:string">
<xs:enumeration value="BFile"/>
<xs:enumeration value="Binary_Float"/>
<xs:enumeration value="Binary_Double"/>
<xs:enumeration value="Blob"/>
<xs:enumeration value="Char"/>
<xs:enumeration value="Clob"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="Number"/>
<xs:enumeration value="Interval Day To Second"/>
<xs:enumeration value="Interval Year To Month"/>
<xs:enumeration value="Long"/>
<xs:enumeration value="Long Raw"/>
<xs:enumeration value="NChar"/>
<xs:enumeration value="NClob"/>
<xs:enumeration value="NVarchar2"/>
<xs:enumeration value="Raw"/>
<xs:enumeration value="Rowid"/>
<xs:enumeration value="Timestamp"/>
<xs:enumeration value="Timestamp With Local Time Zone"/>
<xs:enumeration value="Timestamp With Time Zone"/>
<xs:enumeration value="URowid"/>
<xs:enumeration value="UserDefinedType"/>
<xs:enumeration value="Varchar2"/>
<xs:enumeration value="XmlType"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="providerDBType">
<xs:restriction base="xs:string">
<xs:enumeration value="AnsiString"/>
<xs:enumeration value="AnsiStringFixedLength"/>
<xs:enumeration value="Binary"/>
<xs:enumeration value="Byte"/>
<xs:enumeration value="Date"/>
<xs:enumeration value="DateTime"/>
<xs:enumeration value="DateTimeOffset"/>
<xs:enumeration value="Decimal"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="Int16"/>
<xs:enumeration value="Int32"/>
<xs:enumeration value="Int64"/>
<xs:enumeration value="Object"/>
<xs:enumeration value="Single"/>
<xs:enumeration value="String"/>
<xs:enumeration value="StringFixedLength"/>
<xs:enumeration value="Time"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>

View File

@@ -0,0 +1,221 @@
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="Oracle.DataAccess.Common.Configuration.Section.xsd"/>
<xs:element name="oracle.manageddataaccess.client" >
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="version" type="odpmversiontype" minOccurs="0" />
</xs:choice>
</xs:complexType>
</xs:element>
<xs:complexType name="odpmversiontype">
<xs:complexContent>
<xs:extension base="odpmparameters">
<xs:attribute name="number" type="xs:string" use="required" />
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="odpmparameters">
<xs:all>
<xs:element minOccurs="0" name="settings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="udtMappings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="udtMapping">
<xs:complexType>
<xs:attribute name="typeName" type="xs:string" use="required" />
<xs:attribute name="factoryName" type="xs:string" use="required" />
<xs:attribute name="dataSource" type="xs:string" use="required" />
<xs:attribute name="schemaName" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="LDAPsettings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="LDAPsetting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="distributedTransaction">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="dataSources">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="dataSource">
<xs:complexType>
<xs:attribute name="alias" type="xs:string" use="required" />
<xs:attribute name="descriptor" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="connectionPools">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="connectionPool">
<xs:complexType>
<xs:attribute name="connectionString" type="xs:string" use="required" />
<xs:attribute name="poolName" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="edmMappings">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="edmMapping">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="add">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="precision" type="xs:int" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="dataType" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="edmNumberMapping">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded" name="add">
<xs:complexType>
<xs:attribute name="NETType" type="xs:string" use="required" />
<xs:attribute name="MinPrecision" type="xs:int" use="required" />
<xs:attribute name="MaxPrecision" type="xs:int" use="required" />
<xs:attribute name="DBType" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="implicitRefCursor">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="storedProcedure">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="1" name="refCursor">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="1" name="bindInfo">
<xs:complexType>
<xs:attribute name="mode" type="parameterDirection" use="required" />
</xs:complexType>
</xs:element>
<xs:element maxOccurs="unbounded" minOccurs="0" name="metadata">
<xs:complexType>
<xs:attribute name="columnOrdinal" type="xs:int" use="required" />
<xs:attribute name="columnName" type="xs:string" use="required" />
<xs:attribute name="baseColumnName" type="xs:string" use="optional" />
<xs:attribute name="baseSchemaName" type="xs:string" use="optional" />
<xs:attribute name="baseTableName" type="xs:string" use="optional" />
<xs:attribute name="providerType" type="providerType" use="optional" />
<xs:attribute name="columnSize" type="xs:int" use="optional" />
<xs:attribute name="numericPrecision" type="xs:int" use="optional" />
<xs:attribute name="numericScale" type="xs:int" use="optional" />
<xs:attribute name="isUnique" type="customBoolean" use="optional" />
<xs:attribute name="isKey" type="customBoolean" use="optional" />
<xs:attribute name="isRowID" type="customBoolean" use="optional" />
<xs:attribute name="dataType" type="datatype" use="optional" />
<xs:attribute name="allowDBNull" type="customBoolean" use="optional" />
<xs:attribute name="isAliased" type="customBoolean" use="optional" />
<xs:attribute name="isByteSemantic" type="customBoolean" use="optional" />
<xs:attribute name="isExpression" type="customBoolean" use="optional" />
<xs:attribute name="isHidden" type="customBoolean" use="optional" />
<xs:attribute name="isReadOnly" type="customBoolean" use="optional" />
<xs:attribute name="isLong" type="customBoolean" use="optional" />
<xs:attribute name="udtTypeName" type="xs:string" use="optional" />
<xs:attribute name="nativeDataType" type="nativeDataType" use="optional" />
<xs:attribute name="providerDBType" type="providerDBType" use="optional" />
<xs:attribute name="objectName" type="xs:string" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="optional" />
<xs:attribute name="position" type="xs:int" use="optional" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="schema" type="xs:string" use="optional" />
<xs:attribute name="name" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="onsConfig">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="settings">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="2" minOccurs="0" name="setting">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="unbounded" name="ons">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="3" minOccurs="1" name="add">
<xs:complexType>
<xs:attribute name="name" type="ONSParameters" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="database" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="configFile" type="xs:string" use="optional" />
<xs:attribute name="mode" type="ONSModeValues" use="required" />
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>

View File

@@ -1,5 +0,0 @@
BASE MODULE
===========
This module is intended for often used constants and datastructures.
Therefor it is important that this module does not have any dependencies on other modules!!

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" /> <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.props" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" />
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -9,8 +9,8 @@
<SchemaVersion>2.0</SchemaVersion> <SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6ACA1432-09A2-47EF-A704-C0AA73905756}</ProjectGuid> <ProjectGuid>{6ACA1432-09A2-47EF-A704-C0AA73905756}</ProjectGuid>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<StartupObject>DD_ProcessManager.My.MyApplication</StartupObject> <StartupObject>taskFLOW.My.MyApplication</StartupObject>
<RootNamespace>DD_ProcessManager</RootNamespace> <RootNamespace>taskFLOW</RootNamespace>
<AssemblyName>taskFLOW</AssemblyName> <AssemblyName>taskFLOW</AssemblyName>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<MyType>WindowsForms</MyType> <MyType>WindowsForms</MyType>
@@ -35,6 +35,10 @@
<NuGetPackageImportStamp> <NuGetPackageImportStamp>
</NuGetPackageImportStamp> </NuGetPackageImportStamp>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget> <PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
@@ -77,141 +81,121 @@
<PropertyGroup> <PropertyGroup>
<ApplicationManifest>My Project\app.manifest</ApplicationManifest> <ApplicationManifest>My Project\app.manifest</ApplicationManifest>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<GdPictureAssemblies Include="$(SolutionDir)lib\GdPicture14*.dll" />
</ItemGroup>
<Target Name="CopyGdPictureDlls" AfterTargets="Build">
<Copy SourceFiles="@(GdPictureAssemblies)" DestinationFolder="$(TargetDir)" SkipUnchangedFiles="true" />
</Target>
<ItemGroup> <ItemGroup>
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL"> <Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath> <HintPath>..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
</Reference> </Reference>
<Reference Include="DD_LIB_Standards, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DevExpress.Charts.v25.2.Core, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>P:\Visual Studio Projekte\Bibliotheken\DD_LIB_Standards.dll</HintPath>
</Reference>
<Reference Include="DevExpress.Charts.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.CodeParser.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Data.Desktop.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.DataAccess.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.DataAccess.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.DataAccess.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Diagram.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Dialogs.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Images.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.Pdf.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.DataAccess.v25.2.UI, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.Pdf.v21.2.Drawing, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.PivotGrid.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.Drawing.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Printing.v25.2.Core, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Office.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.Utils.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.RichEdit.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.RichEdit.v21.2.Export, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Sparkline.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.Data.Desktop.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Xpf.PdfViewer.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.Xpo.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraBars.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.XtraBars.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraCharts.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"> <Reference Include="DevExpress.XtraCharts.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraCharts.v21.2.Extensions, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"> <Reference Include="DevExpress.XtraCharts.v25.2.UI, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraCharts.v21.2.UI, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"> <Reference Include="DevExpress.XtraDialogs.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraCharts.v21.2.Wizard, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"> <Reference Include="DevExpress.XtraEditors.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraDiagram.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraGrid.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.XtraDialogs.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraGauges.v21.2.Core, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraNavBar.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraPdfViewer.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL"> <Reference Include="DevExpress.XtraLayout.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraPrinting.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <Reference Include="DevExpress.XtraPdfViewer.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DevExpress.XtraReports.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraReports.v21.2.Extensions, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraRichEdit.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraTreeList.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
</Reference> </Reference>
<Reference Include="DevExpress.XtraVerticalGrid.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" /> <Reference Include="DevExpress.XtraPrinting.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<Reference Include="DigitalData.Controls.DocumentViewer, Version=1.9.8.0, Culture=neutral, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\DigitalData.Controls.DocumentViewer.1.9.8\lib\net462\DigitalData.Controls.DocumentViewer.dll</HintPath> </Reference>
<Reference Include="DevExpress.XtraReports.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.XtraTreeList.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DevExpress.XtraVerticalGrid.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
</Reference>
<Reference Include="DigitalData.Controls.DocumentViewerDD">
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.DocumentViewer\bin\Debug\DigitalData.Controls.DocumentViewerDD.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Controls.LookupGrid"> <Reference Include="DigitalData.Controls.LookupGrid">
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.LookupGrid\bin\Debug\DigitalData.Controls.LookupGrid.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.LookupGrid\bin\Debug\DigitalData.Controls.LookupGrid.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Controls.SnapPanel, Version=1.0.1.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Controls.SnapPanel">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.SnapPanel\bin\Debug\DigitalData.Controls.SnapPanel.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\Controls.SnapPanel\bin\Debug\DigitalData.Controls.SnapPanel.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.GUIs.Common, Version=2.6.2.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.GUIs.Common, Version=2.7.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.GUIs.Common.2.6.2\lib\net462\DigitalData.GUIs.Common.dll</HintPath> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\2_DLL Projekte\DDMonorepo\GUIs.Common\bin\Debug\DigitalData.GUIs.Common.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Base, Version=1.3.8.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Base, Version=1.3.9.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.Modules.Base.1.3.8\lib\net462\DigitalData.Modules.Base.dll</HintPath> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\Base\bin\Debug\DigitalData.Modules.Base.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Config, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Config, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.Modules.Config.1.3.0\lib\net462\DigitalData.Modules.Config.dll</HintPath> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\Config\bin\Debug\DigitalData.Modules.Config.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Database, Version=2.3.5.4, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Database">
<HintPath>..\packages\DigitalData.Modules.Database.2.3.5.4\lib\net462\DigitalData.Modules.Database.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\Database\bin\Debug\DigitalData.Modules.Database.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.EDMI.API"> <Reference Include="DigitalData.Modules.EDMI.API">
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\EDMIAPI\bin\Debug\DigitalData.Modules.EDMI.API.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\EDMIAPI\bin\Debug\DigitalData.Modules.EDMI.API.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Encryption, Version=1.3.1.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Encryption, Version=1.3.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.Modules.Encryption.1.3.1\lib\net462\DigitalData.Modules.Encryption.dll</HintPath> <SpecificVersion>False</SpecificVersion>
</Reference> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\Encryption\bin\Debug\DigitalData.Modules.Encryption.dll</HintPath>
<Reference Include="DigitalData.Modules.Filesystem, Version=1.3.3.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.Modules.Filesystem.1.3.3\lib\net462\DigitalData.Modules.Filesystem.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Interfaces"> <Reference Include="DigitalData.Modules.Interfaces">
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\Interfaces\bin\Debug\DigitalData.Modules.Interfaces.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\Interfaces\bin\Debug\DigitalData.Modules.Interfaces.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Language, Version=1.7.1.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Digital Data\DigitalData.Modules.Language.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.License">
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\License\bin\Debug\DigitalData.Modules.License.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Logging, Version=2.6.5.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Logging, Version=2.6.5.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Messaging, Version=1.9.8.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\Logging\bin\Debug\DigitalData.Modules.Logging.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Messaging">
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\Messaging\bin\Debug\DigitalData.Modules.Messaging.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.Patterns, Version=1.3.1.0, Culture=neutral, processorArchitecture=MSIL"> <Reference Include="DigitalData.Modules.Patterns, Version=1.3.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.Modules.Patterns.1.3.1\lib\net462\DigitalData.Modules.Patterns.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Windows, Version=1.5.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\DigitalData.Modules.Windows.1.5.1\lib\net462\DigitalData.Modules.Windows.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Windream, Version=1.9.6.2, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion> <SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\Patterns\bin\Debug\DigitalData.Modules.Patterns.dll</HintPath>
</Reference>
<Reference Include="DigitalData.Modules.Windream">
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\Windream\bin\Debug\DigitalData.Modules.Windream.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\Windream\bin\Debug\DigitalData.Modules.Windream.dll</HintPath>
</Reference> </Reference>
<Reference Include="DigitalData.Modules.ZooFlow"> <Reference Include="DigitalData.Modules.ZooFlow">
<HintPath>..\..\..\..\2_DLL Projekte\DDModules\ZooFlow\bin\Debug\DigitalData.Modules.ZooFlow.dll</HintPath> <HintPath>..\..\..\..\2_DLL Projekte\DDModules\ZooFlow\bin\Debug\DigitalData.Modules.ZooFlow.dll</HintPath>
</Reference> </Reference>
<Reference Include="DLLLicenseManager"> <Reference Include="DLLLicenseManager">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\DLLLicenseManager.dll</HintPath> <HintPath>M:\Bibliotheken\Digital Data\DD_Modules\DLLLicenseManager.dll</HintPath>
</Reference> </Reference>
<Reference Include="DocumentFormat.OpenXml, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL"> <Reference Include="DocumentFormat.OpenXml, Version=3.2.0.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
<HintPath>..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll</HintPath> <HintPath>..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
@@ -232,103 +216,142 @@
<HintPath>..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath> <HintPath>..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll</HintPath>
</Reference> </Reference>
<Reference Include="FormsUtils"> <Reference Include="FormsUtils">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\FormsUtils.dll</HintPath> <HintPath>M:\Bibliotheken\3rdParty\FormsUtils.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.barcode.1d.writer, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.barcode.2d.writer, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.CAD, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.CAD, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.CAD.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.CAD.DWG, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.CAD.DWG.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Common, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Common, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Common.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Common.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Document, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Document, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Document.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Document.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Email, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Email, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Email.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Email.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.HTML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.HTML, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.HTML.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.HTML.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Imaging, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Imaging, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Imaging.Formats, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Formats.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Imaging.Formats.Conversion, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Imaging.Rendering, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.Markdown, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.Markdown.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.OpenDocument, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.MSOfficeBinary, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.OpenXML, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.OpenDocument, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenDocument.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.OpenXML, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenXML.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.PDF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.OpenXML.Templating, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.PDF.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.RTF, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.PDF, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.RTF.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.PDF.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.3.3.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.RTF, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.SVG.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.RTF.dll</HintPath>
</Reference>
<Reference Include="GdPicture.NET.14.SVG, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.SVG.dll</HintPath>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL"> <Reference Include="GdPicture.NET.14.wia.gateway, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6973b5c22dcf45f7, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.3.3\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath> <HintPath>..\packages\GdPicture.14.4.4\lib\net462\GdPicture.NET.14.wia.gateway.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes> <EmbedInteropTypes>True</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="GdPicture.NET.14.WinForms, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.WinForms.14.4.4\lib\net462\GdPicture.NET.14.WinForms.dll</HintPath>
</Reference>
<Reference Include="Google.Protobuf, Version=3.33.2.0, Culture=neutral, PublicKeyToken=a7d26565bac4d604, processorArchitecture=MSIL">
<HintPath>..\packages\Google.Protobuf.3.33.2\lib\net45\Google.Protobuf.dll</HintPath>
</Reference>
<Reference Include="Interop.WINDREAMLib"> <Reference Include="Interop.WINDREAMLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WINDREAMLib.dll</HintPath> <HintPath>M:\Bibliotheken\3rdParty\windream\Interop.WINDREAMLib.dll</HintPath>
<EmbedInteropTypes>False</EmbedInteropTypes> <EmbedInteropTypes>False</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="Interop.WMOBRWSLib"> <Reference Include="Interop.WMOBRWSLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOBRWSLib.dll</HintPath> <HintPath>M:\Bibliotheken\3rdParty\windream\Interop.WMOBRWSLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes> <EmbedInteropTypes>True</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="Interop.WMOSRCHLib"> <Reference Include="Interop.WMOSRCHLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOSRCHLib.dll</HintPath> <HintPath>M:\Bibliotheken\3rdParty\windream\Interop.WMOSRCHLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes> <EmbedInteropTypes>True</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="Interop.WMOTOOLLib"> <Reference Include="Interop.WMOTOOLLib">
<HintPath>P:\Visual Studio Projekte\Bibliotheken\windream\Interop.WMOTOOLLib.dll</HintPath> <HintPath>M:\Bibliotheken\3rdParty\windream\Interop.WMOTOOLLib.dll</HintPath>
<EmbedInteropTypes>True</EmbedInteropTypes> <EmbedInteropTypes>True</EmbedInteropTypes>
</Reference> </Reference>
<Reference Include="Mail"> <Reference Include="Mail">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Limilabs\Mail.dll</HintPath> <HintPath>M:\Bibliotheken\3rdParty\Limilabs\Mail.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=10.0.0.13, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath> <HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.10.0.13\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.Bcl.Cryptography, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="Microsoft.Bcl.Cryptography, Version=10.0.0.13, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Cryptography.9.0.0\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath> <HintPath>..\packages\Microsoft.Bcl.Cryptography.10.0.13\lib\net462\Microsoft.Bcl.Cryptography.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.HashCode, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.HashCode.6.0.0\lib\net462\Microsoft.Bcl.HashCode.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.Identity.Client, Version=4.55.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.DependencyInjection, Version=10.0.0.13, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Identity.Client.4.55.0\lib\net461\Microsoft.Identity.Client.dll</HintPath> <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.10.0.13\lib\net462\Microsoft.Extensions.DependencyInjection.dll</HintPath>
</Reference> </Reference>
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=6.22.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=10.0.0.13, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.6.22.0\lib\net461\Microsoft.IdentityModel.Abstractions.dll</HintPath> <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.10.0.13\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging, Version=10.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.10.0.9\lib\net462\Microsoft.Extensions.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=10.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.10.0.9\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Options, Version=10.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Options.10.0.9\lib\net462\Microsoft.Extensions.Options.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Primitives, Version=10.0.0.9, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Primitives.10.0.9\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Identity.Client, Version=4.91.1.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Identity.Client.4.91.1\lib\net462\Microsoft.Identity.Client.dll</HintPath>
</Reference>
<Reference Include="Microsoft.IdentityModel.Abstractions, Version=8.14.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IdentityModel.Abstractions.8.14.0\lib\net462\Microsoft.IdentityModel.Abstractions.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Exceptions, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Exceptions.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Settings.dll</HintPath>
</Reference>
<Reference Include="NativeSDK.Settings.Edition, Version=14.4.4.0, Culture=neutral, PublicKeyToken=f52a2e60ad468dbb, processorArchitecture=MSIL">
<HintPath>..\packages\GdPicture.14.4.4\lib\net462\NativeSDK.Settings.Edition.dll</HintPath>
</Reference> </Reference>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
@@ -339,15 +362,13 @@
<Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL"> <Reference Include="NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath> <HintPath>..\packages\NLog.5.0.5\lib\net46\NLog.dll</HintPath>
</Reference> </Reference>
<Reference Include="OpenMcdf, Version=2.4.1.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL"> <Reference Include="OpenMcdf, Version=3.3.0.0, Culture=neutral, PublicKeyToken=fdbb1629d7c00800, processorArchitecture=MSIL">
<HintPath>..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll</HintPath> <HintPath>..\packages\OpenMcdf.3.3.0\lib\netstandard2.0\OpenMcdf.dll</HintPath>
</Reference> </Reference>
<Reference Include="Oracle.ManagedDataAccess"> <Reference Include="Oracle.ManagedDataAccess, Version=4.122.21.1, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\Oracle.ManagedDataAccess.dll</HintPath> <HintPath>..\packages\Oracle.ManagedDataAccess.21.15.0\lib\net462\Oracle.ManagedDataAccess.dll</HintPath>
</Reference>
<Reference Include="PdfSharp-gdi">
<HintPath>P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\DLL_Bibliotheken\PdfSharp-gdi.dll</HintPath>
</Reference> </Reference>
<Reference Include="PresentationCore" />
<Reference Include="protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL"> <Reference Include="protobuf-net, Version=3.0.0.0, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll</HintPath> <HintPath>..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll</HintPath>
</Reference> </Reference>
@@ -357,18 +378,15 @@
<Reference Include="RtfPipe, Version=2.0.7677.4303, Culture=neutral, PublicKeyToken=5f6ab4ce530296d2, processorArchitecture=MSIL"> <Reference Include="RtfPipe, Version=2.0.7677.4303, Culture=neutral, PublicKeyToken=5f6ab4ce530296d2, processorArchitecture=MSIL">
<HintPath>..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll</HintPath> <HintPath>..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll</HintPath>
</Reference> </Reference>
<Reference Include="S22.Imap, Version=3.6.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\S22.Imap.3.6.0.0\lib\net40\S22.Imap.dll</HintPath>
</Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Buffers, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll</HintPath> <HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.CodeDom, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.CodeDom, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.CodeDom.9.0.0\lib\net462\System.CodeDom.dll</HintPath> <HintPath>..\packages\System.CodeDom.9.0.0\lib\net462\System.CodeDom.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Collections.Immutable, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Collections.Immutable, Version=10.0.0.5, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Collections.Immutable.9.0.0\lib\net462\System.Collections.Immutable.dll</HintPath> <HintPath>..\packages\System.Collections.Immutable.10.0.5\lib\net462\System.Collections.Immutable.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.ComponentModel.DataAnnotations" /> <Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" /> <Reference Include="System.Configuration" />
@@ -380,53 +398,65 @@
<Reference Include="System.Data.OracleClient" /> <Reference Include="System.Data.OracleClient" />
<Reference Include="System.Deployment" /> <Reference Include="System.Deployment" />
<Reference Include="System.Design" /> <Reference Include="System.Design" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=10.0.0.9, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.10.0.9\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.DirectoryServices" /> <Reference Include="System.DirectoryServices" />
<Reference Include="System.DirectoryServices.AccountManagement" /> <Reference Include="System.DirectoryServices.AccountManagement" />
<Reference Include="System.Drawing" /> <Reference Include="System.Drawing" />
<Reference Include="System.Formats.Asn1, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Formats.Asn1, Version=10.0.0.13, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Formats.Asn1.9.0.0\lib\net462\System.Formats.Asn1.dll</HintPath> <HintPath>..\packages\System.Formats.Asn1.10.0.13\lib\net462\System.Formats.Asn1.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.IdentityModel" /> <Reference Include="System.IdentityModel" />
<Reference Include="System.IO.Compression" /> <Reference Include="System.IO.Compression" />
<Reference Include="System.IO.Packaging, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.IO.Packaging, Version=10.0.0.5, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Packaging.9.0.0\lib\net462\System.IO.Packaging.dll</HintPath> <HintPath>..\packages\System.IO.Packaging.10.0.5\lib\net462\System.IO.Packaging.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.IO.Pipelines, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.IO.Pipelines, Version=10.0.0.12, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll</HintPath> <HintPath>..\packages\System.IO.Pipelines.10.0.12\lib\net462\System.IO.Pipelines.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Management" /> <Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Memory, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll</HintPath> <HintPath>..\packages\System.Memory.4.6.3\lib\net462\System.Memory.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Net.Http" /> <Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <Reference Include="System.Net.Http.Formatting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath> <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Numerics" /> <Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll</HintPath> <HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.3.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath> <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.2\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
<Private>True</Private>
<Private>True</Private>
</Reference>
<Reference Include="System.Runtime.Remoting" />
<Reference Include="System.Runtime.Serialization" /> <Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security" /> <Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Pkcs, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Security.Cryptography.Pkcs, Version=10.0.0.13, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.9.0.0\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath> <HintPath>..\packages\System.Security.Cryptography.Pkcs.10.0.13\lib\net462\System.Security.Cryptography.Pkcs.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.ServiceModel" /> <Reference Include="System.ServiceModel" />
<Reference Include="System.Text.Encodings.Web, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Text.Encodings.Web, Version=10.0.0.12, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll</HintPath> <HintPath>..\packages\System.Text.Encodings.Web.10.0.12\lib\net462\System.Text.Encodings.Web.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Text.Json, Version=10.0.0.12, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll</HintPath> <HintPath>..\packages\System.Text.Json.10.0.12\lib\net462\System.Text.Json.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.Threading.Channels, Version=10.0.0.5, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath> <HintPath>..\packages\System.Threading.Channels.10.0.5\lib\net462\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.6.3\lib\net462\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Transactions" /> <Reference Include="System.Transactions" />
<Reference Include="System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL"> <Reference Include="System.ValueTuple, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll</HintPath> <HintPath>..\packages\System.ValueTuple.4.6.2\lib\net462\System.ValueTuple.dll</HintPath>
</Reference> </Reference>
<Reference Include="System.Web.Services" /> <Reference Include="System.Web.Services" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
@@ -449,8 +479,7 @@
<Import Include="System.Xml.Linq" /> <Import Include="System.Xml.Linq" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Compile Include="ApplicationEvents.vb" /> <Compile Include="ClassCockpit.vb" />
<Compile Include="ClassAnnotation.vb" />
<Compile Include="ClassConfig.vb" /> <Compile Include="ClassConfig.vb" />
<Compile Include="ClassConstants.vb" /> <Compile Include="ClassConstants.vb" />
<Compile Include="ClassControlCreator.vb" /> <Compile Include="ClassControlCreator.vb" />
@@ -476,6 +505,12 @@
<Compile Include="clsWMDocGrid.vb" /> <Compile Include="clsWMDocGrid.vb" />
<Compile Include="ControlCreator\Constants.vb" /> <Compile Include="ControlCreator\Constants.vb" />
<Compile Include="ControlCreator\GridControl.vb" /> <Compile Include="ControlCreator\GridControl.vb" />
<Compile Include="crmCockpit_UserTest.Designer.vb">
<DependentUpon>crmCockpit_UserTest.vb</DependentUpon>
</Compile>
<Compile Include="crmCockpit_UserTest.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="FinalIndexDataSet.Designer.vb"> <Compile Include="FinalIndexDataSet.Designer.vb">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
@@ -513,6 +548,12 @@
<Compile Include="frmAdminPasswort.vb"> <Compile Include="frmAdminPasswort.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="frmAdmin_AppserviceTest.Designer.vb">
<DependentUpon>frmAdmin_AppserviceTest.vb</DependentUpon>
</Compile>
<Compile Include="frmAdmin_AppserviceTest.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmAdmin_notResponsibleConfig.Designer.vb"> <Compile Include="frmAdmin_notResponsibleConfig.Designer.vb">
<DependentUpon>frmAdmin_notResponsibleConfig.vb</DependentUpon> <DependentUpon>frmAdmin_notResponsibleConfig.vb</DependentUpon>
</Compile> </Compile>
@@ -537,6 +578,12 @@
<Compile Include="frmClientLogin.vb"> <Compile Include="frmClientLogin.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="frmCockpitConfig.Designer.vb">
<DependentUpon>frmCockpitConfig.vb</DependentUpon>
</Compile>
<Compile Include="frmCockpitConfig.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmConnection.Designer.vb"> <Compile Include="frmConnection.Designer.vb">
<DependentUpon>frmConnection.vb</DependentUpon> <DependentUpon>frmConnection.vb</DependentUpon>
</Compile> </Compile>
@@ -549,12 +596,6 @@
<Compile Include="frmColumn_Detail.vb"> <Compile Include="frmColumn_Detail.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="frmDashboard1.Designer.vb">
<DependentUpon>frmDashboard1.vb</DependentUpon>
</Compile>
<Compile Include="frmDashboard1.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmDesignerLayout.Designer.vb"> <Compile Include="frmDesignerLayout.Designer.vb">
<DependentUpon>frmDesignerLayout.vb</DependentUpon> <DependentUpon>frmDesignerLayout.vb</DependentUpon>
</Compile> </Compile>
@@ -592,6 +633,12 @@
<Compile Include="frmError.vb"> <Compile Include="frmError.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="frmExpression_Designer.Designer.vb">
<DependentUpon>frmExpression_Designer.vb</DependentUpon>
</Compile>
<Compile Include="frmExpression_Designer.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmFileInfo.Designer.vb"> <Compile Include="frmFileInfo.Designer.vb">
<DependentUpon>frmFileInfo.vb</DependentUpon> <DependentUpon>frmFileInfo.vb</DependentUpon>
</Compile> </Compile>
@@ -694,6 +741,12 @@
<Compile Include="frmMain.vb"> <Compile Include="frmMain.vb">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="frmUserSelect.Designer.vb">
<DependentUpon>frmUserSelect.vb</DependentUpon>
</Compile>
<Compile Include="frmUserSelect.vb">
<SubType>Form</SubType>
</Compile>
<Compile Include="frmValidator.Designer.vb"> <Compile Include="frmValidator.Designer.vb">
<DependentUpon>frmValidator.vb</DependentUpon> <DependentUpon>frmValidator.vb</DependentUpon>
</Compile> </Compile>
@@ -729,6 +782,7 @@
<Compile Include="ModuleHelper.vb" /> <Compile Include="ModuleHelper.vb" />
<Compile Include="ModuleMySettings.vb" /> <Compile Include="ModuleMySettings.vb" />
<Compile Include="ModuleRuntimeVariables.vb" /> <Compile Include="ModuleRuntimeVariables.vb" />
<Compile Include="My Project\ApplicationEvents.vb" />
<Compile Include="My Project\AssemblyInfo.vb" /> <Compile Include="My Project\AssemblyInfo.vb" />
<Compile Include="My Project\Application.Designer.vb"> <Compile Include="My Project\Application.Designer.vb">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
@@ -764,6 +818,9 @@
</Compile> </Compile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="crmCockpit_UserTest.resx">
<DependentUpon>crmCockpit_UserTest.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmAbout.resx"> <EmbeddedResource Include="frmAbout.resx">
<DependentUpon>frmAbout.vb</DependentUpon> <DependentUpon>frmAbout.vb</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -782,21 +839,34 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmAdminPasswort.resx"> <EmbeddedResource Include="frmAdminPasswort.resx">
<DependentUpon>frmAdminPasswort.vb</DependentUpon> <DependentUpon>frmAdminPasswort.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmAdmin_AppserviceTest.resx">
<DependentUpon>frmAdmin_AppserviceTest.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmAdmin_notResponsibleConfig.resx"> <EmbeddedResource Include="frmAdmin_notResponsibleConfig.resx">
<DependentUpon>frmAdmin_notResponsibleConfig.vb</DependentUpon> <DependentUpon>frmAdmin_notResponsibleConfig.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmAdmin_rejectionConfig.resx"> <EmbeddedResource Include="frmAdmin_rejectionConfig.resx">
<DependentUpon>frmAdmin_rejectionConfig.vb</DependentUpon> <DependentUpon>frmAdmin_rejectionConfig.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmAnnotations.resx"> <EmbeddedResource Include="frmAnnotations.resx">
<DependentUpon>frmAnnotations.vb</DependentUpon> <DependentUpon>frmAnnotations.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmClientLogin.en.resx"> <EmbeddedResource Include="frmClientLogin.en.resx">
<DependentUpon>frmClientLogin.vb</DependentUpon> <DependentUpon>frmClientLogin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmClientLogin.resx"> <EmbeddedResource Include="frmClientLogin.resx">
<DependentUpon>frmClientLogin.vb</DependentUpon> <DependentUpon>frmClientLogin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmCockpitConfig.resx">
<DependentUpon>frmCockpitConfig.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmConnection.resx"> <EmbeddedResource Include="frmConnection.resx">
<DependentUpon>frmConnection.vb</DependentUpon> <DependentUpon>frmConnection.vb</DependentUpon>
@@ -804,30 +874,38 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmColumn_Detail.resx"> <EmbeddedResource Include="frmColumn_Detail.resx">
<DependentUpon>frmColumn_Detail.vb</DependentUpon> <DependentUpon>frmColumn_Detail.vb</DependentUpon>
</EmbeddedResource> <SubType>Designer</SubType>
<EmbeddedResource Include="frmDashboard1.resx">
<DependentUpon>frmDashboard1.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout.resx"> <EmbeddedResource Include="frmDesignerLayout.resx">
<DependentUpon>frmDesignerLayout.vb</DependentUpon> <DependentUpon>frmDesignerLayout.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout\Editors\frmDatasourceEditor.resx"> <EmbeddedResource Include="frmDesignerLayout\Editors\frmDatasourceEditor.resx">
<DependentUpon>frmDatasourceEditor.vb</DependentUpon> <DependentUpon>frmDatasourceEditor.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmDesignerLayout\Editors\frmStaticListEditor.resx"> <EmbeddedResource Include="frmDesignerLayout\Editors\frmStaticListEditor.resx">
<DependentUpon>frmStaticListEditor.vb</DependentUpon> <DependentUpon>frmStaticListEditor.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmError.en.resx"> <EmbeddedResource Include="frmError.en.resx">
<DependentUpon>frmError.vb</DependentUpon> <DependentUpon>frmError.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmError.fr.resx"> <EmbeddedResource Include="frmError.fr.resx">
<DependentUpon>frmError.vb</DependentUpon> <DependentUpon>frmError.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmError.resx"> <EmbeddedResource Include="frmError.resx">
<DependentUpon>frmError.vb</DependentUpon> <DependentUpon>frmError.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmExpression_Designer.resx">
<DependentUpon>frmExpression_Designer.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmFileInfo.resx"> <EmbeddedResource Include="frmFileInfo.resx">
<DependentUpon>frmFileInfo.vb</DependentUpon> <DependentUpon>frmFileInfo.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmFormDesigner.resx"> <EmbeddedResource Include="frmFormDesigner.resx">
<DependentUpon>frmFormDesigner.vb</DependentUpon> <DependentUpon>frmFormDesigner.vb</DependentUpon>
@@ -835,6 +913,7 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmGhostMode.en-US.resx"> <EmbeddedResource Include="frmGhostMode.en-US.resx">
<DependentUpon>frmGhostMode.vb</DependentUpon> <DependentUpon>frmGhostMode.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmGhostMode.resx"> <EmbeddedResource Include="frmGhostMode.resx">
<DependentUpon>frmGhostMode.vb</DependentUpon> <DependentUpon>frmGhostMode.vb</DependentUpon>
@@ -842,21 +921,31 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmInvDashboard.resx"> <EmbeddedResource Include="frmInvDashboard.resx">
<DependentUpon>frmInvDashboard.vb</DependentUpon> <DependentUpon>frmInvDashboard.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmLicense.resx"> <EmbeddedResource Include="frmLicense.resx">
<DependentUpon>frmLicense.vb</DependentUpon> <DependentUpon>frmLicense.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmLoginAdmin.resx"> <EmbeddedResource Include="frmLoginAdmin.resx">
<DependentUpon>frmLoginAdmin.vb</DependentUpon> <DependentUpon>frmLoginAdmin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmMain.aa.resx">
<DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMain.en.resx"> <EmbeddedResource Include="frmMain.en.resx">
<DependentUpon>frmMain.vb</DependentUpon> <DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMain.fr.resx"> <EmbeddedResource Include="frmMain.fr.resx">
<DependentUpon>frmMain.vb</DependentUpon> <DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMassValidator.resx"> <EmbeddedResource Include="frmMassValidator.resx">
<DependentUpon>frmMassValidator.vb</DependentUpon> <DependentUpon>frmMassValidator.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmAdministration.resx"> <EmbeddedResource Include="frmAdministration.resx">
<DependentUpon>frmAdministration.vb</DependentUpon> <DependentUpon>frmAdministration.vb</DependentUpon>
@@ -864,50 +953,66 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmKonfig.resx"> <EmbeddedResource Include="frmKonfig.resx">
<DependentUpon>frmKonfig.vb</DependentUpon> <DependentUpon>frmKonfig.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmKonfig.en.resx"> <EmbeddedResource Include="frmKonfig.en.resx">
<DependentUpon>frmKonfig.vb</DependentUpon> <DependentUpon>frmKonfig.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmKonfig.fr.resx"> <EmbeddedResource Include="frmKonfig.fr.resx">
<DependentUpon>frmKonfig.vb</DependentUpon> <DependentUpon>frmKonfig.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMetadataFile.resx"> <EmbeddedResource Include="frmMetadataFile.resx">
<DependentUpon>frmMetadataFile.vb</DependentUpon> <DependentUpon>frmMetadataFile.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMonitor.resx"> <EmbeddedResource Include="frmMonitor.resx">
<DependentUpon>frmMonitor.vb</DependentUpon> <DependentUpon>frmMonitor.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmPreviewHtml.resx"> <EmbeddedResource Include="frmPreviewHtml.resx">
<DependentUpon>frmPreviewHtml.vb</DependentUpon> <DependentUpon>frmPreviewHtml.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmRegexEditor.resx"> <EmbeddedResource Include="frmRegexEditor.resx">
<DependentUpon>frmRegexEditor.vb</DependentUpon> <DependentUpon>frmRegexEditor.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmRejectionCommit.en.resx"> <EmbeddedResource Include="frmRejectionCommit.en.resx">
<DependentUpon>frmRejectionCommit.vb</DependentUpon> <DependentUpon>frmRejectionCommit.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmRejectionCommit.fr.resx"> <EmbeddedResource Include="frmRejectionCommit.fr.resx">
<DependentUpon>frmRejectionCommit.vb</DependentUpon> <DependentUpon>frmRejectionCommit.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmRejectionCommit.resx"> <EmbeddedResource Include="frmRejectionCommit.resx">
<DependentUpon>frmRejectionCommit.vb</DependentUpon> <DependentUpon>frmRejectionCommit.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmSplash.resx"> <EmbeddedResource Include="frmSplash.resx">
<DependentUpon>frmSplash.vb</DependentUpon> <DependentUpon>frmSplash.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmSQL_Admin.resx"> <EmbeddedResource Include="frmSQL_Admin.resx">
<DependentUpon>frmSQL_Admin.vb</DependentUpon> <DependentUpon>frmSQL_Admin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmSQL_Admin.en.resx"> <EmbeddedResource Include="frmSQL_Admin.en.resx">
<DependentUpon>frmSQL_Admin.vb</DependentUpon> <DependentUpon>frmSQL_Admin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmSQL_Admin.fr.resx"> <EmbeddedResource Include="frmSQL_Admin.fr.resx">
<DependentUpon>frmSQL_Admin.vb</DependentUpon> <DependentUpon>frmSQL_Admin.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmMain.resx"> <EmbeddedResource Include="frmMain.resx">
<DependentUpon>frmMain.vb</DependentUpon> <DependentUpon>frmMain.vb</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmUserSelect.resx">
<DependentUpon>frmUserSelect.vb</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="frmValidator.en.resx"> <EmbeddedResource Include="frmValidator.en.resx">
<DependentUpon>frmValidator.vb</DependentUpon> <DependentUpon>frmValidator.vb</DependentUpon>
<SubType>Designer</SubType> <SubType>Designer</SubType>
@@ -922,9 +1027,14 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmValidatorSearch.en.resx"> <EmbeddedResource Include="frmValidatorSearch.en.resx">
<DependentUpon>frmValidatorSearch.vb</DependentUpon> <DependentUpon>frmValidatorSearch.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="frmValidatorSearch.fr-FR.resx">
<DependentUpon>frmValidatorSearch.vb</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmValidatorSearch.fr.resx"> <EmbeddedResource Include="frmValidatorSearch.fr.resx">
<DependentUpon>frmValidatorSearch.vb</DependentUpon> <DependentUpon>frmValidatorSearch.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmValidatorSearch.resx"> <EmbeddedResource Include="frmValidatorSearch.resx">
<DependentUpon>frmValidatorSearch.vb</DependentUpon> <DependentUpon>frmValidatorSearch.vb</DependentUpon>
@@ -932,18 +1042,23 @@
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmValidator_Messages.resx"> <EmbeddedResource Include="frmValidator_Messages.resx">
<DependentUpon>frmValidator_Messages.vb</DependentUpon> <DependentUpon>frmValidator_Messages.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmWorkflow.resx"> <EmbeddedResource Include="frmWorkflow.resx">
<DependentUpon>frmWorkflow.vb</DependentUpon> <DependentUpon>frmWorkflow.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmYesNo.en.resx"> <EmbeddedResource Include="frmYesNo.en.resx">
<DependentUpon>frmYesNo.vb</DependentUpon> <DependentUpon>frmYesNo.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmYesNo.fr.resx"> <EmbeddedResource Include="frmYesNo.fr.resx">
<DependentUpon>frmYesNo.vb</DependentUpon> <DependentUpon>frmYesNo.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="frmYesNo.resx"> <EmbeddedResource Include="frmYesNo.resx">
<DependentUpon>frmYesNo.vb</DependentUpon> <DependentUpon>frmYesNo.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="My Project\licenses.licx" /> <EmbeddedResource Include="My Project\licenses.licx" />
<EmbeddedResource Include="My Project\Resources.resx"> <EmbeddedResource Include="My Project\Resources.resx">
@@ -962,16 +1077,23 @@
<CustomToolNamespace>My.Resources</CustomToolNamespace> <CustomToolNamespace>My.Resources</CustomToolNamespace>
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>frmMain_Strings.Designer.vb</LastGenOutput> <LastGenOutput>frmMain_Strings.Designer.vb</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Translations\frmValidator_Strings.en.resx">
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Translations\frmValidator_Strings.fr.resx">
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Translations\frmValidator_Strings.en.resx" />
<EmbeddedResource Include="Translations\frmValidator_Strings.fr.resx" />
<EmbeddedResource Include="Translations\frmValidator_Strings.resx"> <EmbeddedResource Include="Translations\frmValidator_Strings.resx">
<CustomToolNamespace>My.Resources</CustomToolNamespace> <CustomToolNamespace>My.Resources</CustomToolNamespace>
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>frmValidator_Strings.Designer.vb</LastGenOutput> <LastGenOutput>frmValidator_Strings.Designer.vb</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="XtraReport1.resx"> <EmbeddedResource Include="XtraReport1.resx">
<DependentUpon>XtraReport1.vb</DependentUpon> <DependentUpon>XtraReport1.vb</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@@ -1010,6 +1132,12 @@
</None> </None>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="Oracle.DataAccess.Common.Configuration.Section.xsd">
<SubType>Designer</SubType>
</None>
<None Include="Oracle.ManagedDataAccess.Client.Configuration.Section.xsd">
<SubType>Designer</SubType>
</None>
<None Include="packages.config" /> <None Include="packages.config" />
<None Include="Resources\syncreon.png" /> <None Include="Resources\syncreon.png" />
</ItemGroup> </ItemGroup>
@@ -1192,24 +1320,10 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="Changelog.md" /> <None Include="Changelog.md" />
<Content Include="DataColumnExpression.txt" />
<Content Include="DD_Icons_ICO_PMANAGER_48px.ico" /> <Content Include="DD_Icons_ICO_PMANAGER_48px.ico" />
<Content Include="DD_taskFLOW_ICON.ico" /> <Content Include="DD_taskFLOW_ICON.ico" />
<Content Include="GdPicture.NET.14.barcode.1d.reader.64.dll" /> <Content Include="logtaskflow.txt" />
<Content Include="GdPicture.NET.14.barcode.1d.reader.dll" />
<Content Include="GdPicture.NET.14.barcode.2d.reader.64.dll" />
<Content Include="GdPicture.NET.14.barcode.2d.reader.dll" />
<Content Include="GdPicture.NET.14.filters.64.dll" />
<Content Include="GdPicture.NET.14.filters.dll" />
<Content Include="GdPicture.NET.14.image.gdimgplug.64.dll" />
<Content Include="GdPicture.NET.14.image.gdimgplug.dll" />
<Content Include="GdPicture.NET.14.Imaging.ML.64.dll" />
<Content Include="GdPicture.NET.14.Imaging.ML.dll" />
<Content Include="GdPicture.NET.14.Imaging.Rendering.Skia.64.dll" />
<Content Include="GdPicture.NET.14.Imaging.Rendering.Skia.dll" />
<Content Include="GdPicture.NET.14.machine.vision.64.dll" />
<Content Include="GdPicture.NET.14.machine.vision.dll" />
<Content Include="GdPicture.NET.14.twain.client.64.dll" />
<Content Include="GdPicture.NET.14.twain.client.dll" />
<Content Include="MailLicense.xml"> <Content Include="MailLicense.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
@@ -1237,7 +1351,6 @@
<None Include="Resources\DD_taskFLOW_BOOT.png" /> <None Include="Resources\DD_taskFLOW_BOOT.png" />
<None Include="Resources\DD_taskFLOW_ICON.png" /> <None Include="Resources\DD_taskFLOW_ICON.png" />
<None Include="Resources\AttachFileHS.png" /> <None Include="Resources\AttachFileHS.png" />
<Content Include="README.txt" />
<Content Include="task.ico" /> <Content Include="task.ico" />
<None Include="Resources\searchFlow_icon.png" /> <None Include="Resources\searchFlow_icon.png" />
<None Include="Resources\taskFlow_icon.png" /> <None Include="Resources\taskFlow_icon.png" />
@@ -1310,16 +1423,16 @@
</BootstrapperPackage> </BootstrapperPackage>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup> <PropertyGroup>
<ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText> <ErrorText>Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}".</ErrorText>
</PropertyGroup> </PropertyGroup>
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.3.3\build\net462\GdPicture.runtimes.windows.targets'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" /> <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.props'))" />
<Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" /> <Error Condition="!Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\EntityFramework.6.4.4\build\EntityFramework.targets'))" />
<Error Condition="!Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets'))" />
</Target> </Target>
<Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" /> <Import Project="..\packages\EntityFramework.6.4.4\build\EntityFramework.targets" Condition="Exists('..\packages\EntityFramework.6.4.4\build\EntityFramework.targets')" />
<Import Project="..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets" Condition="Exists('..\packages\GdPicture.runtimes.windows.14.4.4\build\net462\GdPicture.runtimes.windows.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets. Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
@@ -1327,4 +1440,7 @@
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
<ItemGroup>
<Analyzer Include="D:\ProgramFiles\DevExpress 25.2\Components\Offline Packages\devexpress.data\25.2.3\analyzers\dotnet\DevExpress.Generator.dll" Visible="false" Condition="Exists('D:\ProgramFiles\DevExpress 25.2\Components\Offline Packages\devexpress.data\25.2.3\analyzers\dotnet\DevExpress.Generator.dll')" />
</ItemGroup>
</Project> </Project>

View File

@@ -43,7 +43,7 @@ Namespace My.Resources
Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get Get
If Object.ReferenceEquals(resourceMan, Nothing) Then If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DD_ProcessManager.frmMain_Strings", GetType(frmMain_Strings).Assembly) Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("taskFLOW.frmMain_Strings", GetType(frmMain_Strings).Assembly)
resourceMan = temp resourceMan = temp
End If End If
Return resourceMan Return resourceMan
@@ -92,7 +92,7 @@ Namespace My.Resources
End Property End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Aktuell keine Workflowdaten vorhanden! {0} ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Aktuell keine Workflowdaten vorhanden - {0} ähnelt.
'''</summary> '''</summary>
Friend Shared ReadOnly Property Aktuell_keine_Workflowdaten_vorhanden___0_() As String Friend Shared ReadOnly Property Aktuell_keine_Workflowdaten_vorhanden___0_() As String
Get Get

View File

@@ -120,36 +120,27 @@
<data name="Achtung:" xml:space="preserve"> <data name="Achtung:" xml:space="preserve">
<value>Attention:</value> <value>Attention:</value>
</data> </data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Currently no workflow data available - {0}</value>
</data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>Current license has expired or is invalid!</value>
</data>
<data name="Anzahl angemeldete Benutzer: {0}" xml:space="preserve"> <data name="Anzahl angemeldete Benutzer: {0}" xml:space="preserve">
<value>Logged in users: {0}</value> <value>Logged in users: {0}</value>
</data> </data>
<data name="Anzahl Lizenzen: {0}" xml:space="preserve"> <data name="Anzahl Lizenzen: {0}" xml:space="preserve">
<value>Number of licenses: {0}</value> <value>Number of licenses: {0}</value>
</data> </data>
<data name="Bitte schließen Sie den offenen Workflow!" xml:space="preserve">
<value>Please close the currently open workflow!</value>
</data>
<data name="Größer" xml:space="preserve">
<value>Bigger</value>
</data>
<data name="Kleiner" xml:space="preserve">
<value>Smaller</value>
</data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Currently no workflow data available! {0}</value>
</data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>Current license has expired or is invalid!</value>
</data>
<data name="Bitte konfigurieren Sie eine Datenbankverbindung!" xml:space="preserve"> <data name="Bitte konfigurieren Sie eine Datenbankverbindung!" xml:space="preserve">
<value>Please configure a database connection!</value> <value>Please configure a database connection!</value>
</data> </data>
<data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve"> <data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve">
<value>Please contact your administrator!</value> <value>Please contact your administrator!</value>
</data> </data>
<data name="Bitte schließen Sie den offenen Workflow!" xml:space="preserve">
<value>Please close the currently open workflow!</value>
</data>
<data name="Bitte wählen Sie ein Profil aus!" xml:space="preserve"> <data name="Bitte wählen Sie ein Profil aus!" xml:space="preserve">
<value>Please select a profile!</value> <value>Please select a profile!</value>
</data> </data>
@@ -177,9 +168,18 @@
<data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve"> <data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve">
<value>Deactivate ({0}) Ghost Mode</value> <value>Deactivate ({0}) Ghost Mode</value>
</data> </data>
<data name="Größer" xml:space="preserve">
<value>Bigger</value>
</data>
<data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve"> <data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve">
<value>NOTE: Debug mode is switched on!</value> <value>NOTE: Debug mode is switched on!</value>
</data> </data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Active</value>
</data>
<data name="Kleiner" xml:space="preserve">
<value>Smaller</value>
</data>
<data name="Letzte Synchronisation: {0}" xml:space="preserve"> <data name="Letzte Synchronisation: {0}" xml:space="preserve">
<value>Last synchronization: {0}</value> <value>Last synchronization: {0}</value>
</data> </data>
@@ -189,6 +189,9 @@
<data name="Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!" xml:space="preserve"> <data name="Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!" xml:space="preserve">
<value>Mass completion could not be executed because windream could not be initialised!</value> <value>Mass completion could not be executed because windream could not be initialised!</value>
</data> </data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve"> <data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve">
<value>Next activity check: {0} {1}</value> <value>Next activity check: {0} {1}</value>
</data> </data>
@@ -213,7 +216,4 @@
<data name="{0} Vorgänge" xml:space="preserve"> <data name="{0} Vorgänge" xml:space="preserve">
<value>{0} Processes</value> <value>{0} Processes</value>
</data> </data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Active</value>
</data>
</root> </root>

View File

@@ -120,36 +120,27 @@
<data name="Achtung:" xml:space="preserve"> <data name="Achtung:" xml:space="preserve">
<value>Attention:</value> <value>Attention:</value>
</data> </data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Actuellement, aucune donnée de workflow n'est disponible - {0}</value>
</data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>La licence actuelle a expiré ou n'est plus valable !</value>
</data>
<data name="Anzahl angemeldete Benutzer: {0}" xml:space="preserve"> <data name="Anzahl angemeldete Benutzer: {0}" xml:space="preserve">
<value>Nombre d'utilisateurs connectés: {0}</value> <value>Nombre d'utilisateurs connectés: {0}</value>
</data> </data>
<data name="Anzahl Lizenzen: {0}" xml:space="preserve"> <data name="Anzahl Lizenzen: {0}" xml:space="preserve">
<value>Nombre de licences: {0}</value> <value>Nombre de licences: {0}</value>
</data> </data>
<data name="Bitte schließen Sie den offenen Workflow!" xml:space="preserve">
<value>Veuillez fermer le workflow ouvert !</value>
</data>
<data name="Größer" xml:space="preserve">
<value>Plus grand</value>
</data>
<data name="Kleiner" xml:space="preserve">
<value>Petit</value>
</data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Actuellement, aucune donnée de workflow n'est disponible ! {0}</value>
</data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>La licence actuelle a expiré ou n'est plus valable !</value>
</data>
<data name="Bitte konfigurieren Sie eine Datenbankverbindung!" xml:space="preserve"> <data name="Bitte konfigurieren Sie eine Datenbankverbindung!" xml:space="preserve">
<value>Veuillez configurer une connexion à la base de données !</value> <value>Veuillez configurer une connexion à la base de données !</value>
</data> </data>
<data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve"> <data name="Bitte kontaktieren Sie Ihren Administrator!" xml:space="preserve">
<value>Veuillez contacter votre administrateur !</value> <value>Veuillez contacter votre administrateur !</value>
</data> </data>
<data name="Bitte schließen Sie den offenen Workflow!" xml:space="preserve">
<value>Veuillez fermer le workflow ouvert !</value>
</data>
<data name="Bitte wählen Sie ein Profil aus!" xml:space="preserve"> <data name="Bitte wählen Sie ein Profil aus!" xml:space="preserve">
<value>Veuillez sélectionner un profil !</value> <value>Veuillez sélectionner un profil !</value>
</data> </data>
@@ -177,9 +168,18 @@
<data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve"> <data name="Ghost Modus ({0}) deaktivieren" xml:space="preserve">
<value>Désactiver ({0}) le Mode Fantôme</value> <value>Désactiver ({0}) le Mode Fantôme</value>
</data> </data>
<data name="Größer" xml:space="preserve">
<value>Plus grand</value>
</data>
<data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve"> <data name="HINWEIS: Debug Modus ist eingeschaltet!" xml:space="preserve">
<value>REMARQUE : le mode de débogage est activé !</value> <value>REMARQUE : le mode de débogage est activé !</value>
</data> </data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Aktif</value>
</data>
<data name="Kleiner" xml:space="preserve">
<value>Petit</value>
</data>
<data name="Letzte Synchronisation: {0}" xml:space="preserve"> <data name="Letzte Synchronisation: {0}" xml:space="preserve">
<value>Dernière synchronisation : {0}</value> <value>Dernière synchronisation : {0}</value>
</data> </data>
@@ -189,6 +189,9 @@
<data name="Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!" xml:space="preserve"> <data name="Massenabschluss konnte nicht ausgeführt werden, weil windream nicht initialisiert werden konnte!" xml:space="preserve">
<value>La clôture en masse n'a pas pu être exécutée parce que windream n'a pas pu être initialisé !</value> <value>La clôture en masse n'a pas pu être exécutée parce que windream n'a pas pu être initialisé !</value>
</data> </data>
<data name="Normal" xml:space="preserve">
<value>Normal</value>
</data>
<data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve"> <data name="Nächste Aktivitätsüberprüfung: {0} {1}" xml:space="preserve">
<value>Prochaine vérification d'activité : {0} {1}</value> <value>Prochaine vérification d'activité : {0} {1}</value>
</data> </data>
@@ -213,7 +216,4 @@
<data name="{0} Vorgänge" xml:space="preserve"> <data name="{0} Vorgänge" xml:space="preserve">
<value>{0} Opérations</value> <value>{0} Opérations</value>
</data> </data>
<data name="IDB Aktiv" xml:space="preserve">
<value>IDB Aktif</value>
</data>
</root> </root>

View File

@@ -121,7 +121,7 @@
<value>Achtung:</value> <value>Achtung:</value>
</data> </data>
<data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve"> <data name="Aktuell keine Workflowdaten vorhanden! {0}" xml:space="preserve">
<value>Aktuell keine Workflowdaten vorhanden! {0}</value> <value>Aktuell keine Workflowdaten vorhanden - {0}</value>
</data> </data>
<data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve"> <data name="Aktuelle Lizenz ist abgelaufen oder ungültig!" xml:space="preserve">
<value>Aktuelle Lizenz ist abgelaufen oder ungültig!</value> <value>Aktuelle Lizenz ist abgelaufen oder ungültig!</value>

View File

@@ -43,7 +43,7 @@ Namespace My.Resources
Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager Friend Shared ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager
Get Get
If Object.ReferenceEquals(resourceMan, Nothing) Then If Object.ReferenceEquals(resourceMan, Nothing) Then
Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("DD_ProcessManager.frmValidator_Strings", GetType(frmValidator_Strings).Assembly) Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("taskFLOW.frmValidator_Strings", GetType(frmValidator_Strings).Assembly)
resourceMan = temp resourceMan = temp
End If End If
Return resourceMan Return resourceMan
@@ -64,6 +64,15 @@ Namespace My.Resources
End Set End Set
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Bestätigung ähnelt.
'''</summary>
Friend Shared ReadOnly Property Bestaetigung() As String
Get
Return ResourceManager.GetString("Bestaetigung", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Bitte validieren Sie die rot markierten Felder! ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Bitte validieren Sie die rot markierten Felder! ähnelt.
'''</summary> '''</summary>
@@ -109,6 +118,24 @@ Namespace My.Resources
End Get End Get
End Property End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Vererbung Werte Grid aktiv ähnelt.
'''</summary>
Friend Shared ReadOnly Property Inheritance_Messages_Active() As String
Get
Return ResourceManager.GetString("Inheritance_Messages_Active", resourceCulture)
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Vererbung Werte Grid inaktiv ähnelt.
'''</summary>
Friend Shared ReadOnly Property Inheritance_Messages_Inactive() As String
Get
Return ResourceManager.GetString("Inheritance_Messages_Inactive", resourceCulture)
End Get
End Property
'''<summary> '''<summary>
''' Sucht eine lokalisierte Zeichenfolge, die Speichern - Nächster Vorgang (F2) ähnelt. ''' Sucht eine lokalisierte Zeichenfolge, die Speichern - Nächster Vorgang (F2) ähnelt.
'''</summary> '''</summary>

View File

@@ -117,9 +117,6 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="Bestaetigung" xml:space="preserve">
<value>Confirmation</value>
</data>
<data name="Bitte validieren Sie die rot markierten Felder!" xml:space="preserve"> <data name="Bitte validieren Sie die rot markierten Felder!" xml:space="preserve">
<value>Please validate red marked fields!</value> <value>Please validate red marked fields!</value>
</data> </data>
@@ -144,4 +141,13 @@
<data name="Wollen Sie die Konversation beenden?" xml:space="preserve"> <data name="Wollen Sie die Konversation beenden?" xml:space="preserve">
<value>Would You like to end this conversation?</value> <value>Would You like to end this conversation?</value>
</data> </data>
<data name="Bestaetigung" xml:space="preserve">
<value>Confirmation</value>
</data>
<data name="Inheritance_Messages_Active" xml:space="preserve">
<value>Confirmation of inheritance Values Grid active</value>
</data>
<data name="Inheritance_Messages_Inactive" xml:space="preserve">
<value>Confirmation of inheritance Values Grid inactive</value>
</data>
</root> </root>

View File

@@ -117,9 +117,6 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="Bestaetigung" xml:space="preserve">
<value>Confirmation</value>
</data>
<data name="Bitte validieren Sie die rot markierten Felder!" xml:space="preserve"> <data name="Bitte validieren Sie die rot markierten Felder!" xml:space="preserve">
<value>Veuillez valider les champs marqués en rouge!</value> <value>Veuillez valider les champs marqués en rouge!</value>
</data> </data>
@@ -144,4 +141,13 @@
<data name="Wollen Sie die Konversation beenden?" xml:space="preserve"> <data name="Wollen Sie die Konversation beenden?" xml:space="preserve">
<value>Vous voulez mettre fin à la conversation?</value> <value>Vous voulez mettre fin à la conversation?</value>
</data> </data>
<data name="Bestaetigung" xml:space="preserve">
<value>Confirmation</value>
</data>
<data name="Inheritance_Messages_Active" xml:space="preserve">
<value>Confirmation Héritage Valeurs Grille active</value>
</data>
<data name="Inheritance_Messages_Inactive" xml:space="preserve">
<value>Confirmation Héritage Valeurs Grille inactive</value>
</data>
</root> </root>

View File

@@ -141,4 +141,13 @@
<data name="Wollen Sie die Konversation beenden?" xml:space="preserve"> <data name="Wollen Sie die Konversation beenden?" xml:space="preserve">
<value>Wollen Sie die Konversation beenden?</value> <value>Wollen Sie die Konversation beenden?</value>
</data> </data>
<data name="Bestaetigung" xml:space="preserve">
<value>Bestätigung</value>
</data>
<data name="Inheritance_Messages_Active" xml:space="preserve">
<value>Vererbung Werte Grid aktiv</value>
</data>
<data name="Inheritance_Messages_Inactive" xml:space="preserve">
<value>Vererbung Werte Grid inaktiv</value>
</data>
</root> </root>

View File

@@ -163,7 +163,7 @@ Public Class Validator
' Logger.Error(ex) ' Logger.Error(ex)
' Dim st As New StackTrace(True) ' Dim st As New StackTrace(True)
' st = New StackTrace(ex, True) ' st = New StackTrace(ex, True)
' Logger.Warn("Unexpected error in Check_UpdateIndexe TextBox :" & ex.Message, True) ' LOGGER.Warn("⚠️ Unexpected error in Check_UpdateIndexe TextBox :" & ex.Message, True)
' Return False ' Return False
' End Try ' End Try
'End Function 'End Function

View File

@@ -68,7 +68,7 @@ Partial Public Class XtraReport1
' '
'SqlDataSource1 'SqlDataSource1
' '
Me.SqlDataSource1.ConnectionName = "DD_ProcessManager.My.MySettings.ConnectionString" Me.SqlDataSource1.ConnectionName = "taskFLOW.My.MySettings.ConnectionString"
Me.SqlDataSource1.Name = "SqlDataSource1" Me.SqlDataSource1.Name = "SqlDataSource1"
ColumnExpression1.ColumnName = "Anzahl" ColumnExpression1.ColumnName = "Anzahl"
Table4.Name = "VWPM_CHART_INVOICE_MONITOR" Table4.Name = "VWPM_CHART_INVOICE_MONITOR"

View File

@@ -1,11 +1,11 @@
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports WINDREAMLib Imports DevExpress.Xpo.Helpers.AssociatedCollectionCriteriaHelper
Imports DigitalData.Controls.LookupGrid
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraEditors Imports DevExpress.XtraEditors
Imports DigitalData.Modules.Language Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Columns
Imports DevExpress.XtraGrid.Views.Grid
Imports DigitalData.Controls.LookupGrid
Imports WINDREAMLib
''' <summary> ''' <summary>
''' Defines common Functions for Checking for and replacing placeholders. ''' Defines common Functions for Checking for and replacing placeholders.
''' This Class also includes a child class `Pattern` for passing around Patterns. ''' This Class also includes a child class `Pattern` for passing around Patterns.
@@ -51,7 +51,7 @@ Public Class clsPatterns
Public Const INT_VALUE_WMDocID = "WMDocID" Public Const INT_VALUE_WMDocID = "WMDocID"
Public Const INT_VALUE_IDBID = "IDBObjID" Public Const INT_VALUE_IDBID = "IDBObjID"
Public Const MAX_TRY_COUNT = 20 Public Const MAX_TRY_COUNT = 5
''' <summary> ''' <summary>
''' This value will be valid as any datatype, ''' This value will be valid as any datatype,
@@ -64,6 +64,88 @@ Public Class clsPatterns
Private Shared ReadOnly complexPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL, PATTERN_IDBA} Private Shared ReadOnly complexPatterns As New List(Of String) From {PATTERN_WMI, PATTERN_CTRL, PATTERN_IDBA}
Private Shared ReadOnly simplePatterns As New List(Of String) From {PATTERN_USER, PATTERN_INT} Private Shared ReadOnly simplePatterns As New List(Of String) From {PATTERN_USER, PATTERN_INT}
Private Shared _ControlLookupCache As Dictionary(Of String, Control)
''' <summary>
''' Clears the control lookup cache. Call when controls are dynamically added/removed.
''' </summary>
Public Shared Sub ClearControlCache()
_ControlLookupCache = Nothing
LOGGER.Debug("Control cache cleared")
End Sub
''' <summary>
''' Aktualisiert den Wert eines Controls im Cache
''' </summary>
Public Shared Sub UpdateControlInCache(controlName As String, newValue As Object)
' FIX: SyncLock auf Nothing ist illegal → GetType(clsPatterns) als stabilen Lock-Anker nutzen
SyncLock GetType(clsPatterns)
If _ControlLookupCache Is Nothing OrElse Not _ControlLookupCache.ContainsKey(controlName) Then
LOGGER.Warn($"Control [{controlName}] not found in cache for update")
Return
End If
' Hole das Control aus dem Cache
Dim ctrl As Control = _ControlLookupCache(controlName)
' Aktualisiere den WERT des Controls basierend auf seinem Typ
Try
Select Case ctrl.GetType
Case GetType(TextEdit), GetType(MemoEdit)
DirectCast(ctrl, BaseEdit).EditValue = newValue
Case GetType(LookupControl3)
Dim lookup = DirectCast(ctrl, LookupControl3)
If TypeOf newValue Is List(Of String) Then
lookup.Properties.SelectedValues = DirectCast(newValue, List(Of String))
ElseIf TypeOf newValue Is String Then
lookup.Properties.SelectedValues = New List(Of String) From {newValue.ToString()}
End If
' ========== FIX START: Beide ComboBox-Typen unterstützen ==========
Case GetType(System.Windows.Forms.ComboBox)
DirectCast(ctrl, System.Windows.Forms.ComboBox).Text = newValue?.ToString()
Case GetType(DevExpress.XtraEditors.ComboBoxEdit)
DirectCast(ctrl, DevExpress.XtraEditors.ComboBoxEdit).Text = newValue?.ToString()
' ========== FIX END ==========
Case GetType(CheckBox)
If TypeOf newValue Is Boolean Then
DirectCast(ctrl, CheckBox).Checked = CBool(newValue)
End If
Case GetType(DateTimePicker)
If TypeOf newValue Is Date Then
DirectCast(ctrl, DateTimePicker).Value = CDate(newValue)
End If
Case Else
LOGGER.Warn($"Unsupported control type for cache update: {ctrl.GetType.Name}")
End Select
LOGGER.Debug($"Cache updated for control [{controlName}] with value type [{newValue?.GetType().Name}]")
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Warn($"Failed to update control [{controlName}]: {ex.Message}")
End Try
End SyncLock
End Sub
''' <summary>
''' Batch-Update für mehrere Controls
''' </summary>
Public Shared Sub UpdateMultipleControlsInCache(updates As Dictionary(Of String, Object))
If updates Is Nothing OrElse updates.Count = 0 Then Return
' FIX: Gleicher Lock-Anker wie UpdateControlInCache → kein Deadlock
' Die eigentliche Aktualisierung läuft sequenziell über UpdateControlInCache,
' da SyncLock in VB.NET re-entrant auf demselben Thread ist.
For Each kvp In updates
UpdateControlInCache(kvp.Key, kvp.Value)
Next
LOGGER.Debug($"Batch cache update completed for {updates.Count} controls")
End Sub
''' <summary> ''' <summary>
''' Wraps a pattern-type and -value in the common format: {#type#value} ''' Wraps a pattern-type and -value in the common format: {#type#value}
''' </summary> ''' </summary>
@@ -72,66 +154,68 @@ Public Class clsPatterns
End Function End Function
Public Shared Function ReplaceAllValues(input As String, panel As DevExpress.XtraEditors.XtraScrollableControl, is_SQL As Boolean) As String Public Shared Function ReplaceAllValues(input As String, panel As DevExpress.XtraEditors.XtraScrollableControl, is_SQL As Boolean) As String
Dim oResult = input
Try Try
Dim result = input
If Not HasAnyPatterns(result) Then If Not HasAnyPatterns(oResult) Then
Return result Return oResult
End If End If
LOGGER.Debug($"input BEFORE replacing: [{result}]") LOGGER.Debug($"input BEFORE replacing: [{oResult}]")
result = ReplaceInternalValues(result) oResult = ReplaceInternalValues(oResult)
If Not IsNothing(CURRENT_WMFILE) Then If Not IsNothing(CURRENT_WMFILE) Then
result = ReplaceWindreamIndicies(result, CURRENT_WMFILE, is_SQL) oResult = ReplaceWindreamIndicies(oResult, CURRENT_WMFILE, is_SQL)
End If End If
If IDB_ACTIVE = True Then If IDB_ACTIVE = True Then
result = ReplaceIDBAttributes(result, is_SQL) oResult = ReplaceIDBAttributes(oResult, is_SQL)
End If End If
'vorher hinter result = ReplaceInternalValues(result) 'vorher hinter result = ReplaceInternalValues(result)
result = ReplaceControlValues(result, panel, is_SQL) oResult = ReplaceControlValues(oResult, panel, is_SQL)
If Not IsNothing(result) Then If Not IsNothing(oResult) Then
result = ReplaceUserValues(result) oResult = ReplaceUserValues(oResult)
LOGGER.Debug($"input AFTER replacing: [{result}]") LOGGER.Debug($"input AFTER replacing: [{oResult}]")
End If End If
Return result Return oResult
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Error in ReplaceAllValues:" & ex.Message) LOGGER.Error($"❌ CRITICAL ERROR in ReplaceAllValues!")
LOGGER.Error($" Input: [{input}]")
LOGGER.Error($" Last successful result: [{oResult}]")
LOGGER.Error($" Exception Type: [{ex.GetType().Name}]")
LOGGER.Error($" Message: [{ex.Message}]")
LOGGER.Error($" StackTrace: [{ex.StackTrace}]")
Return input Return input
End Try End Try
End Function End Function
Public Shared Function ReplaceInternalValues(pInput As String) As String Public Shared Function ReplaceInternalValues(pInput As String) As String
Dim oResult = pInput Dim oResult = pInput
Try Try
' Replace Username(s)
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_USERNAME) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_USERNAME)
oResult = ReplacePattern(oResult, PATTERN_INT, USER_USERNAME) oResult = ReplacePattern(oResult, PATTERN_INT, USER_USERNAME, INT_VALUE_USERNAME)
End While End While
' Replace Machinename(s)
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_MACHINE) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_MACHINE)
oResult = ReplacePattern(oResult, PATTERN_INT, Environment.MachineName) oResult = ReplacePattern(oResult, PATTERN_INT, Environment.MachineName, INT_VALUE_MACHINE)
End While End While
' Replace Domainname(s)
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_DOMAIN) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_DOMAIN)
oResult = ReplacePattern(oResult, PATTERN_INT, Environment.UserDomainName) oResult = ReplacePattern(oResult, PATTERN_INT, Environment.UserDomainName, INT_VALUE_DOMAIN)
End While End While
' Replace CurrentDate(s)
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_DATE) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_DATE)
oResult = ReplacePattern(oResult, PATTERN_INT, Now.ToShortDateString) oResult = ReplacePattern(oResult, PATTERN_INT, Now.ToShortDateString, INT_VALUE_DATE)
End While End While
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_WMDocID) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_WMDocID)
oResult = ReplacePattern(oResult, PATTERN_INT, CURRENT_DOC_ID) oResult = ReplacePattern(oResult, PATTERN_INT, CURRENT_DOC_ID, INT_VALUE_WMDocID)
End While End While
While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_IDBID) While ContainsPatternAndValue(oResult, PATTERN_INT, INT_VALUE_IDBID)
oResult = ReplacePattern(oResult, PATTERN_INT, CURRENT_DOC_ID) oResult = ReplacePattern(oResult, PATTERN_INT, CURRENT_DOC_ID, INT_VALUE_IDBID)
End While End While
Return oResult Return oResult
@@ -186,21 +270,47 @@ Public Class clsPatterns
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Error in ReplaceUserValues:" & ex.Message) LOGGER.Info("Error in ReplaceUserValues:" & ex.Message)
Return input ' FIX: Originalwert zurückgeben statt implizit Nothing
End Try End Try
End Function End Function
Private Shared Sub RecursiveAddToCache(rootCtrl As Control, cache As Dictionary(Of String, Control))
Dim stack As New Stack(Of Control)()
stack.Push(rootCtrl)
While stack.Count > 0
Dim ctrl As Control = stack.Pop()
If Not String.IsNullOrEmpty(ctrl.Name) Then
cache(ctrl.Name) = ctrl
End If
For Each child As Control In ctrl.Controls
stack.Push(child)
Next
End While
End Sub
Public Shared Function ReplaceControlValues(pInput As String, oPanel As DevExpress.XtraEditors.XtraScrollableControl, oIsSQL As Boolean) As String Public Shared Function ReplaceControlValues(pInput As String, oPanel As DevExpress.XtraEditors.XtraScrollableControl, oIsSQL As Boolean) As String
Dim oResult = pInput Dim oResult = pInput
' Cache beim ersten Aufruf erstellen mit Lock
SyncLock GetType(clsPatterns) ' Class-Level Lock
If _ControlLookupCache Is Nothing Then
_ControlLookupCache = New Dictionary(Of String, Control)()
For Each ctrl As Control In oPanel.Controls
RecursiveAddToCache(ctrl, _ControlLookupCache)
Next
LOGGER.Debug($"Control cache initialized with {_ControlLookupCache.Count} controls")
End If
End SyncLock
Try Try
LOGGER.Debug($"Starting ReplaceControlValues with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
Dim oTryCounter = 0 Dim oTryCounter = 0
While ContainsPattern(oResult, PATTERN_CTRL) While ContainsPattern(oResult, PATTERN_CTRL)
If oTryCounter > MAX_TRY_COUNT Then If oTryCounter > MAX_TRY_COUNT Then
LOGGER.Warn($"Max tries in ReplaceControlValues exceeded - Replacing with [0]") LOGGER.Info($"Max tries in ReplaceControlValues exceeded - Replacing PATTERN_CTRL [{PATTERN_CTRL}] with [0]")
LOGGER.Info($"oResult so far is:{oResult}")
oResult = ReplacePattern(oResult, PATTERN_CTRL, 0) oResult = ReplacePattern(oResult, PATTERN_CTRL, 0)
Throw New Exception($"Max tries in ReplaceControlValues exceeded - Result so far [{oResult}].") Exit While
End If End If
Dim oControlName As String = GetNextPattern(oResult, PATTERN_CTRL).Value Dim oControlName As String = GetNextPattern(oResult, PATTERN_CTRL).Value
@@ -213,50 +323,103 @@ Public Class clsPatterns
End If End If
LOGGER.Debug("Found placeholder for control [{0}].", oControlName) LOGGER.Debug("Found placeholder for control [{0}].", oControlName)
' Beim Cache-Zugriff Lock verwenden
Dim oControl As Control = Nothing
SyncLock _ControlLookupCache
If Not _ControlLookupCache.TryGetValue(oControlName, oControl) Then
LOGGER.Warn($"Control [{oControlName}] not found in cache!")
' Fallback außerhalb des Lock
End If
End SyncLock
' Fallback außerhalb des Lock
If oControl Is Nothing Then
oControl = oPanel.Controls.Find(oControlName, True).FirstOrDefault()
If oControl IsNot Nothing Then
LOGGER.Info($"Control [{oControlName}] found via fallback. Adding to cache.")
SyncLock _ControlLookupCache
_ControlLookupCache(oControlName) = oControl
End SyncLock
End If
End If
Dim oControl As Control = oPanel.Controls.Find(oControlName, False).FirstOrDefault()
If oControl IsNot Nothing Then If oControl IsNot Nothing Then
Dim oReplaceValue As String Dim oReplaceValue As String
LOGGER.Debug("oControl.GetType [{0}].", oControl.GetType.ToString)
Select Case oControl.GetType Select Case oControl.GetType
Case GetType(TextBox) Case GetType(TextBox)
oReplaceValue = oControl.Text oReplaceValue = oControl.Text
LOGGER.Debug("TextBox- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(TextEdit) Case GetType(TextEdit)
Try Try
oReplaceValue = Utils.NotNull(DirectCast(oControl, TextEdit).EditValue, String.Empty) oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, TextEdit).EditValue, String.Empty)
Catch ex As Exception Catch ex As Exception
LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}") LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}")
oReplaceValue = "" oReplaceValue = ""
End Try End Try
LOGGER.Debug("TextEdit- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(MemoEdit) Case GetType(MemoEdit)
Try Try
oReplaceValue = Utils.NotNull(DirectCast(oControl, MemoEdit).EditValue, String.Empty) oReplaceValue = ClassAllgemeineFunktionen.NotNullString(DirectCast(oControl, MemoEdit).EditValue, String.Empty)
Catch ex As Exception Catch ex As Exception
LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}") LOGGER.Warn($"Error in ReplaceValue MemoEdit: {ex.Message}")
oReplaceValue = "" oReplaceValue = ""
End Try End Try
LOGGER.Debug("MemoEdit- oReplaceValue will be [{0}].", oReplaceValue)
Case GetType(LookupControl3) Case GetType(LookupControl3)
Dim oLookupControl3 As LookupControl3 = oControl Dim oLookupControl3 As LookupControl3 = oControl
If oLookupControl3.Properties.SelectedValues.Count = 1 Then
oReplaceValue = oLookupControl3.Properties.SelectedValues.Item(0)
Else ' ========== FIX START: NULL-Check ==========
Dim selectedValues As List(Of String) = Nothing
Try
selectedValues = oLookupControl3.Properties.SelectedValues
Catch ex As Exception
LOGGER.Warn($"⚠️ LookupControl [{oControlName}] SelectedValues not accessible: {ex.Message}")
selectedValues = Nothing
End Try
If selectedValues Is Nothing Then
LOGGER.Warn($"⚠️ LookupControl [{oControlName}] SelectedValues is Nothing! Using ERROR_REPLACE_VALUE")
oReplaceValue = ERROR_REPLACE_VALUE oReplaceValue = ERROR_REPLACE_VALUE
ElseIf selectedValues.Count = 0 Then
LOGGER.Warn($"⚠️ LookupControl [{oControlName}] SelectedValues is empty! Using ERROR_REPLACE_VALUE")
oReplaceValue = ERROR_REPLACE_VALUE
' ========== FIX END ==========
ElseIf selectedValues.Count > 1 Then
LOGGER.Debug($"LookupControl3 [{oControlName}] mit mehr als 1 Value")
Dim oIndex As Integer = 0
For Each oString As String In selectedValues
If oIndex = 0 Then
oReplaceValue = oString
Else
oReplaceValue += "', '" + oString
End If
oIndex += 1
Next
oIsSQL = False
Else ' Count = 1
LOGGER.Debug($"LookupControl3 [{oControlName}] mit genau einem Value")
oReplaceValue = selectedValues(0)
End If End If
LOGGER.Debug($"oReplaceValue nach Durchlaufen selectedValues: {oReplaceValue}")
LOGGER.Debug($"oReplaceValue nach Durchlaufen selectedValues: {oReplaceValue}")
Case GetType(Windows.Forms.ComboBox) Case GetType(Windows.Forms.ComboBox)
oReplaceValue = oControl.Text oReplaceValue = oControl.Text
Case GetType(CheckBox) Case GetType(CheckBox)
Dim oCheckBox As CheckBox = oControl Dim oCheckBox As CheckBox = oControl
oReplaceValue = oCheckBox.Checked oReplaceValue = If(oCheckBox.Checked, "1", "0") ' Explizite String-Konvertierung
Case GetType(GridControl) Case GetType(GridControl)
Dim oGrid As GridControl = oControl Dim oGrid As GridControl = oControl
Dim oView As GridView = oGrid.FocusedView Dim oView As GridView = oGrid.FocusedView
If oColumnName = String.Empty Then If oColumnName = String.Empty Then
LOGGER.Warn("Used placeholder for Table [{0}] but without Column Name!", oControlName) LOGGER.Warn("⚠️ Used placeholder for Table [{0}] but without Column Name!", oControlName)
oReplaceValue = ERROR_REPLACE_VALUE oReplaceValue = ERROR_REPLACE_VALUE
End If End If
@@ -265,7 +428,7 @@ Public Class clsPatterns
SingleOrDefault() SingleOrDefault()
If oColumn?.SummaryItem?.SummaryValue Is Nothing Then If oColumn?.SummaryItem?.SummaryValue Is Nothing Then
LOGGER.Warn("Column [{0}] not found in Grid!", oColumnName) LOGGER.Warn("⚠️ Column [{0}] not found in Grid!", oColumnName)
oReplaceValue = ERROR_REPLACE_VALUE oReplaceValue = ERROR_REPLACE_VALUE
Else Else
oReplaceValue = oColumn.SummaryItem.SummaryValue oReplaceValue = oColumn.SummaryItem.SummaryValue
@@ -274,12 +437,22 @@ Public Class clsPatterns
Case Else Case Else
oReplaceValue = ERROR_REPLACE_VALUE oReplaceValue = ERROR_REPLACE_VALUE
End Select End Select
LOGGER.Debug($"[SQL-ESCAPE CHECK] Control: [{oControlName}], oReplaceValue Type: [{If(oReplaceValue?.GetType()?.Name, "NULL")}], Value: [{oReplaceValue}], IsSQL: [{oIsSQL}]")
If oReplaceValue Is Nothing Then
LOGGER.Warn($"⚠️ oReplaceValue is Nothing for control [{oControlName}]! Setting to ERROR_REPLACE_VALUE")
oReplaceValue = ERROR_REPLACE_VALUE
End If
If Not TypeOf oReplaceValue Is String Then
LOGGER.Warn($"⚠️ oReplaceValue is not a String for control [{oControlName}]! Type: [{oReplaceValue.GetType().Name}]. Converting to String.")
oReplaceValue = oReplaceValue.ToString()
End If
If oIsSQL = True Then If oIsSQL = True Then
'LOGGER.Debug($"IS_SQL = True - oReplaceValue = {oReplaceValue}") oReplaceValue = SafeSqlEscape(oReplaceValue)
'LOGGER.Debug($"oReplaceValue = {oReplaceValue}")
oReplaceValue = oReplaceValue.Replace("'", "''")
End If End If
oResult = ReplacePattern(oResult, PATTERN_CTRL, oReplaceValue) oResult = ReplacePattern(oResult, PATTERN_CTRL, oReplaceValue)
Else
LOGGER.Warn("⚠️ Could not get a Control for [{0}].", oControlName)
End If End If
oTryCounter += 1 oTryCounter += 1
@@ -287,23 +460,56 @@ Public Class clsPatterns
Return oResult Return oResult
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Warn("Error in ReplaceControlValues:" & ex.Message) LOGGER.Warn("⚠️ Error in ReplaceControlValues:" & ex.Message)
Return oResult Return oResult
End Try End Try
End Function End Function
Private Shared Function SafeSqlEscape(value As Object) As String
LOGGER.Debug($"[SafeSqlEscape] Input Type: [{If(value?.GetType()?.Name, "NULL")}], Value: [{value}]")
If value Is Nothing Then
LOGGER.Warn("[SafeSqlEscape] Value is Nothing → returning ERROR_REPLACE_VALUE")
Return ERROR_REPLACE_VALUE
End If
Dim strValue As String
Try
strValue = value.ToString()
Catch ex As Exception
LOGGER.Error(ex)
LOGGER.Warn($"[SafeSqlEscape] ToString() failed: {ex.Message} → returning ERROR_REPLACE_VALUE")
Return ERROR_REPLACE_VALUE
End Try
If String.IsNullOrEmpty(strValue) Then
LOGGER.Warn("[SafeSqlEscape] String is empty → returning ERROR_REPLACE_VALUE")
Return ERROR_REPLACE_VALUE
End If
Dim escaped = strValue.Replace("'", "''")
LOGGER.Debug($"[SafeSqlEscape] Output: [{escaped}]")
Return escaped
End Function
Public Shared Function ReplaceWindreamIndicies(pInput As String, pDocument As WMObject, pIsSQL As Boolean) As String Public Shared Function ReplaceWindreamIndicies(pInput As String, pDocument As WMObject, pIsSQL As Boolean) As String
Try Try
Dim oResult = pInput Dim oResult = pInput
Dim oTryCounter As Integer = 0 Dim oTryCounter As Integer = 0
LOGGER.Debug($"Starting ReplaceWindreamIndicies with input: [{oResult}] for document ID: {CURRENT_DOC_ID}")
While ContainsPattern(oResult, PATTERN_WMI) While ContainsPattern(oResult, PATTERN_WMI)
Dim oWMValue As String
Dim oIndexName As String = GetNextPattern(oResult, PATTERN_WMI).Value Dim oIndexName As String = GetNextPattern(oResult, PATTERN_WMI).Value
Dim oWMValue As String = pDocument.GetVariableValue(oIndexName)
If IsNothing(oWMValue) And oTryCounter = MAX_TRY_COUNT Then If oIndexName = "@@DISPLAY_ONLY" Then
Throw New Exception("Max tries in ReplaceWindreamIndicies exceeded.") oWMValue = String.Empty
Else
oWMValue = pDocument.GetVariableValue(oIndexName)
End If
' FIX 1: >= statt = → Counter springt in 10er-Schritten, trifft niemals genau 5
If IsNothing(oWMValue) AndAlso oTryCounter >= MAX_TRY_COUNT Then
LOGGER.Warn($"[ReplaceWindreamIndicies] Max tries for [{oIndexName}] exceeded → replacing with empty string")
oResult = ReplacePattern(oResult, PATTERN_WMI, String.Empty)
Continue While
End If End If
If oWMValue IsNot Nothing Then If oWMValue IsNot Nothing Then
@@ -313,6 +519,11 @@ Public Class clsPatterns
LOGGER.Debug($"oReplaceValue = {oWMValue}") LOGGER.Debug($"oReplaceValue = {oWMValue}")
End If End If
oResult = ReplacePattern(oResult, PATTERN_WMI, oWMValue) oResult = ReplacePattern(oResult, PATTERN_WMI, oWMValue)
Else
' FIX 2: Else-Branch — Nothing-Wert ersetzt den Placeholder mit leerem String
' verhindert Endless Loop wenn Windream-Index keinen Wert hat
LOGGER.Warn($"[ReplaceWindreamIndicies] WMI value for [{oIndexName}] is Nothing → replacing with empty string (counter: {oTryCounter})")
oResult = ReplacePattern(oResult, PATTERN_WMI, String.Empty)
End If End If
' Increase counter by 10 to avoid DDOSing the Windream Service ' Increase counter by 10 to avoid DDOSing the Windream Service
@@ -329,6 +540,7 @@ Public Class clsPatterns
Try Try
Dim result = input Dim result = input
Dim oTryCounter As Integer = 0 Dim oTryCounter As Integer = 0
LOGGER.Debug($"Starting ReplaceIDBAttributes with input: [{result}] for document ID: {CURRENT_DOC_ID}")
While ContainsPattern(result, PATTERN_IDBA) While ContainsPattern(result, PATTERN_IDBA)
Dim indexName As String = GetNextPattern(result, PATTERN_IDBA).Value Dim indexName As String = GetNextPattern(result, PATTERN_IDBA).Value
@@ -380,6 +592,7 @@ Public Class clsPatterns
Catch ex As Exception Catch ex As Exception
LOGGER.Error(ex) LOGGER.Error(ex)
LOGGER.Info("Error in ReplaceIDBAttributes:" & ex.Message) LOGGER.Info("Error in ReplaceIDBAttributes:" & ex.Message)
Return input ' FIX: Originalwert zurückgeben statt implizit Nothing
End Try End Try
End Function End Function
@@ -428,7 +641,7 @@ Public Class clsPatterns
Return results Return results
End Function End Function
Public Shared Function ReplacePattern(input As String, type As String, replacement As String) As String Public Shared Function ReplacePattern(input As String, type As String, replacement As String, Optional value As String = Nothing) As String
Dim elements As MatchCollection = MyRegex.Matches(input) Dim elements As MatchCollection = MyRegex.Matches(input)
If IsNothing(replacement) Then If IsNothing(replacement) Then
@@ -436,14 +649,18 @@ Public Class clsPatterns
End If End If
For Each element As Match In elements For Each element As Match In elements
' if group 1 contains the 'pattern' the replace whole group with 'replacement' Dim matchType As String = element.Groups(1).Value
' and return it Dim matchValue As String = element.Groups(2).Value
If element.Groups(1).Value = type Then
Return Regex.Replace(input, element.Groups(0).Value, replacement) If matchType = type Then
' ► Wenn ein Value angegeben wurde, nur exakt diesen ersetzen
If value IsNot Nothing AndAlso matchValue <> value Then
Continue For
End If
Return Regex.Replace(input, Regex.Escape(element.Groups(0).Value), replacement)
End If End If
Next Next
' no replacement made
Return input Return input
End Function End Function

View File

@@ -0,0 +1,88 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class crmCockpit_UserTest
Inherits DevExpress.XtraEditors.XtraForm
'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(crmCockpit_UserTest))
Me.ImageCollection1 = New DevExpress.Utils.ImageCollection(Me.components)
Me.TreeList_Cockpit = New DevExpress.XtraTreeList.TreeList()
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'ImageCollection1
'
Me.ImageCollection1.ImageSize = New System.Drawing.Size(24, 24)
Me.ImageCollection1.ImageStream = CType(resources.GetObject("ImageCollection1.ImageStream"), DevExpress.Utils.ImageCollectionStreamer)
Me.ImageCollection1.Images.SetKeyName(0, "overview")
Me.ImageCollection1.Images.SetKeyName(1, "profile")
Me.ImageCollection1.Images.SetKeyName(2, "monitor")
Me.ImageCollection1.Images.SetKeyName(3, "chart")
'
'TreeList_Cockpit
'
Me.TreeList_Cockpit.Dock = System.Windows.Forms.DockStyle.Left
Me.TreeList_Cockpit.Font = New System.Drawing.Font("Tahoma", 9.75!)
Me.TreeList_Cockpit.ImageIndexFieldName = "ICON_INDEX"
Me.TreeList_Cockpit.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
Me.TreeList_Cockpit.Location = New System.Drawing.Point(0, 0)
Me.TreeList_Cockpit.Name = "TreeList_Cockpit"
Me.TreeList_Cockpit.OptionsBehavior.Editable = False
Me.TreeList_Cockpit.OptionsBehavior.PopulateServiceColumns = True
Me.TreeList_Cockpit.OptionsBehavior.ReadOnly = True
Me.TreeList_Cockpit.OptionsLayout.AddNewColumns = False
Me.TreeList_Cockpit.OptionsMenu.ShowExpandCollapseItems = False
Me.TreeList_Cockpit.OptionsSelection.EnableAppearanceFocusedCell = False
Me.TreeList_Cockpit.OptionsView.ShowColumns = False
Me.TreeList_Cockpit.OptionsView.ShowFilterPanelMode = DevExpress.XtraTreeList.ShowFilterPanelMode.Never
Me.TreeList_Cockpit.OptionsView.ShowFirstLines = False
Me.TreeList_Cockpit.OptionsView.ShowHorzLines = False
Me.TreeList_Cockpit.OptionsView.ShowIndentAsRowStyle = True
Me.TreeList_Cockpit.OptionsView.ShowIndicator = False
Me.TreeList_Cockpit.OptionsView.ShowVertLines = False
Me.TreeList_Cockpit.OptionsView.TreeLineStyle = DevExpress.XtraTreeList.LineStyle.Dark
Me.TreeList_Cockpit.ParentFieldName = "Parent_ID"
Me.TreeList_Cockpit.SelectImageList = Me.ImageCollection1
Me.TreeList_Cockpit.Size = New System.Drawing.Size(375, 588)
Me.TreeList_Cockpit.TabIndex = 12
'
'crmCockpit_UserTest
'
Me.Appearance.Options.UseFont = True
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 17.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(933, 588)
Me.Controls.Add(Me.TreeList_Cockpit)
Me.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Margin = New System.Windows.Forms.Padding(4, 4, 4, 4)
Me.Name = "crmCockpit_UserTest"
Me.Text = "crmCockpit_UserTest"
CType(Me.ImageCollection1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.TreeList_Cockpit, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
Friend WithEvents ImageCollection1 As DevExpress.Utils.ImageCollection
Friend WithEvents TreeList_Cockpit As DevExpress.XtraTreeList.TreeList
End Class

View File

@@ -0,0 +1,185 @@
<?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="ImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="DevExpress.Utils.v25.2" name="DevExpress.Utils.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ImageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyNS4yLCBWZXJzaW9uPTI1
LjIuMy4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEM
AwAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1
YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdl
Q29sbGVjdGlvblN0cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNp
emUDAAAAAgIAAAAF/P///xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgI
AwAAABgAAAAYAAAACQUAAAAPBQAAACcLAAAC+gIAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgG
AAAA4Hc9+AAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAKcSURBVEhL3ZTL
axNRFMYLrvRfkD4yc5OgFeeZIIiLVkrVJq1O6SNGqxUhCtZVkWBIbQitdOVS3AlZtXUnKAq1mUcm
r6aPpCVod9KmuBbXn8z0NTMki9Yuij/4uDNn7jnfnLl3blPTf4PO0NBYAp2lkGFc0BgXVMaF/GUK
zrnHQhbcSItepHkCjaWg827IXBt0jj4w0JhmKIwLCkdD4QhUjoLKUrsjR5l5Km/kEhRZYn8xxUeQ
ET3QuGYU2BbzocpeRMZi8E8oAo0lznNQTObdWDS7cbzJcTE+kc57kGM8ZlGNd0MR3MjxhwYK14o0
TyEtEhgdy37alC4SfLne8dte0cE3H420QGCuBU+wKO4mZ32HXZ1+5ubmzjjlnHNsMqwLMu9CWmjG
gq8FC/4WyCKFPHtC/4Gxd50xg7wlXpFuoizdwNrALZSHAqhYNRjA+lAP1ocDqA734UdIstczdo0t
sEdWrG98ZDJC/UJWg5XXiZ5qLJoyNRFLVeMvU9V4NPU9Hk3Zs+qgCjSyb9+0OeNWg1pEwtbTAWyN
hQ60PTaM2rNBFGZmvPZMB5+uMn8UgTIXdl+qSENr0NnpQ74moMgR5AWCrOA2tcQSrF44ocOuwBN8
HXnU+/H5k0vvOzvPf5Ck1s+PR9qXLbtrdXraU4pNRlYmkqZKhianIqVYMmLG958lk5Gfs7NnbQZ5
f/0zp2g5izb7e1AJBbAWDmLtXi8q9wOoGKOhcBDrd4PYCPViIxTE5mDAXi9/xVvXoJHxkWlkYO1g
JxxELdyH7Qe3URvtx86ohNrDO/g10ofS+HjCnulA9xEURQq6n0ZO9CInelAQPLAaLL17da4cf9FV
TsS7ylMJU8tTcfPeXq0B890d7fPBPRnX3R3tzjlH5S88LZDGXf/36QAAAABJRU5ErkJggjMCAACJ
UE5HDQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMA
AA68AAAOvAGVvHJJAAAB1UlEQVRIS+2Uu24aQRSGz7hImqTLA1DQpIwiFCF5l9vewciSCysRRap0
KEqRmhoWh1swVdLbZaS8gzsXKfwGlgs3thUMhuGPZmE3u3iXTBuJTxrtzsw58885c2aItvzXAGDh
/vnHz/vhfiL1ev1pmwib2hEReozg+4yNPO7VXfx4++FFdLUY/EWa6ZeXbragullFdbO66v1nCmon
o6idV1nVt59Ubcz1HKZFLRBMxGWEL/R3Z//iyrHvFmUD3LbkfI5YNPRNnOzV0twpAZWKlL2HSE1f
UoCXC1hU7MB2dFh7H7WIQaRowFjgdK/lcK3ojwR5WcesYgbjp43Gk4FMaoVAP2Q4MRQ86CrO9t99
98dmtoa5o+PWrAZ2LmMYhjaWiDBcP4OpXcC8tKyQX7XaT24VwZ3ooUoLtBIO+cHMg2sm5oaGmfW4
HEXkUgJxEQh+20VMzBy4ZeJCq96sz7cYw/GOjICoooTDGlsKpkYpdq7pCcT7RRARhKtIFukUiTcm
KYJNiNv/VUZg8Ow57xFBqqZX9GgZtZtK3a3PxSIEjlc57RKhs3qfRBP/fl/MDRmh641J7D7M6PWb
jrc4MbQZQ4vIa83VV1RNe2d56785B5/W/bdI8werE/HGFidAHwAAAABJRU5ErkJgghADAACJUE5H
DQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68
AAAOvAGVvHJJAAACsklEQVRIS8VVzW7TQBDOc/AeHKom3t2Z3bVDy08R4gaqKvUZOHDoK3BDvAEH
ClVVceEaqKqCWtvrnyQOVPAKnHL50Dp2G6WtRNUIPmnl8ex4/vzNbqfzr1BqRmIJJyzgKEBqAqTU
w4nqIWYvC5yqHhK/pwI42UMiu8ikQKYEYtGF4wA5CZQqwNH9dZw7H3IPLlRwTMhZISMB1zpjgZgE
UpLImXAqAiRKoGBCyVQ7T5v3jCUcC4wNoSCJD0+fvKoDVMYgtuIi4hJQWMaYejOfmVZIIrPcAEZh
TE3SpWHERt0owN7W5tbu9vbdRX2LMtIYa9lUYBTcDQNUljHkxsEVKO9pTAzN9lOtcHqN8YglDiP7
e153pro4I4VKS0xE0+cF5BGhapPOrMJXvmw4oi5OwwCjhepKffE+vKby3EqMTZO004RvTQW7L19Q
znJaapoWfV3rciNRqZVarqiLn3L13GllFX7JALmmqeP+tNVnhjBpg6da4iSc9evTo4fTUksUhjBq
M+h0OhPNtfzdzILOo6AAuVEo9AXVc0uYUNC2iHA8t3kVCruKLFIYqcutvAp+Dn5wU0EeMo7nsr0O
Z3LWpr9B1beYtDTNrcY321BqSSisxLAdtCQkxNFyA3hilC31i0hj1PZrSfAkKbmpwE9lbhmJFki0
bJaqn84SYn+isj9RZ6zIjETCAp4cfqVGIW5s/f9MWNb6hOe64rSqDVNLcGZ2N/jlLMNPemwVEiOx
t7Nzx5ef2pltYhVcSEj8cRNq5KGGM4T8Cjr/X2S0gpy7yGgVJa9i9/HG60WbW6FSBMcSZd/AD9HB
883lBjixAp+twlFf4zBivH229WbR5sZ492Djy9D/MBXUnPZyfV8bAX8LZiSR3XZ+Pobrg/1obbAf
rQ8OogvZr/fR2uDArg8Wv5nHH4RP7Rpx+BP5AAAAAElFTkSuQmCC2gIAAIlQTkcNChoKAAAADUlI
RFIAAAAYAAAAGAgGAAAA4Hc9+AAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADrwAAA68AZW8ckkA
AAJ8SURBVEhL3VXNbtNAEPaBQx+CQ2t7HSde24l6yKGAk1IREBd+GnCjVgEunLkgVQj1CXgCDrlw
RXkEUA48AGpVQqWIZmNDiNcOeYFB42Bn3VAoNFz4pNHO7oz9eXZnP0vSf4NAocA1CoFSgEgzISIm
cM2GQKUQEQtCzYSQUOCqEY8453HMjP0IY7ge55jAV3RIX/6x0XyZYVsA8EPSyeH2zsIJQoUKFTQf
zRFw2QCuWhAoBoxVIfmM4Ct5gcDdzhAEcgFCZVaip5egd+3mazGnXS4vt8vOcrtWS+3N3tOLSTwS
npcOG7MtOtp6UEOCNChJUq9atY/ubD77cNe1xPVfIVKECrrNhykBl+e3I9SseI2vzIj7t+51/Lrb
8etbneP1G6/YptvprVVfJPHMIe/XG6cShMI8Eg/uNwhJpotmbcqJnQbGxIp7PY0J/oBYE0+zJz6a
ak08lU48Wv6WxEOxgp910XmRvQfCIS8Kodgo4hksCqEsdNHBOSrYc5wl1KqT65kKMlvkOBecH5bx
T2AkT/e45ThLXJ4K25jMmiBQBYKDnT8XO5QSHLECrhjQz9vvUFqSeCTKy75QAbtUbfUrV1t+ZaPF
KhutT1eq8di/ff95kjNCKZENeL+7q/ceP7FRr7CFcT3JyUqFcA/OAnw5Xjq82eiHsgljmcZ+khNp
opoK/wMvR5mnW8zPl9jnXIn5GmXHOcpY+XI3jhfL3iBfZH5+lXl6kQ1yRebpJeajFUrMN1bZHEHX
/fsuOg34h0snvtu8nokuAHO69ZWYEJtCYagaMEIfR4VCkLOmc2LCSLNgiAeKljxDTBjKBfhC8FkK
Q9kAtrb+NkPwr/Ad3DFsyGIxcj4AAAAASUVORK5CYIIL
</value>
</data>
</root>

View File

@@ -0,0 +1,182 @@
<?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="ImageCollection1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="DevExpress.Utils.v21.2" name="DevExpress.Utils.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="ImageCollection1.ImageStream" type="DevExpress.Utils.ImageCollectionStreamer, DevExpress.Utils.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFpEZXZFeHByZXNzLlV0aWxzLnYyMS4yLCBWZXJzaW9uPTIxLjIu
NC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI4OGQxNzU0ZDcwMGU0OWEMAwAAAFFT
eXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRv
a2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAAChEZXZFeHByZXNzLlV0aWxzLkltYWdlQ29sbGVjdGlvblN0
cmVhbWVyAgAAAAlJbWFnZVNpemUERGF0YQQHE1N5c3RlbS5EcmF3aW5nLlNpemUDAAAAAgIAAAAF/P//
/xNTeXN0ZW0uRHJhd2luZy5TaXplAgAAAAV3aWR0aAZoZWlnaHQAAAgIAwAAABgAAAAYAAAACQUAAAAP
BQAAACcLAAAC+gIAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgGAAAA4Hc9+AAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAKcSURBVEhL3ZTLaxNRFMYLrvRfkD4yc5OgFeeZIIiLVkrV
Jq1O6SNGqxUhCtZVkWBIbQitdOVS3AlZtXUnKAq1mUcmr6aPpCVod9KmuBbXn8z0NTMki9Yuij/4uDNn
7jnfnLl3blPTf4PO0NBYAp2lkGFc0BgXVMaF/GUKzrnHQhbcSItepHkCjaWg827IXBt0jj4w0JhmKIwL
CkdD4QhUjoLKUrsjR5l5Km/kEhRZYn8xxUeQET3QuGYU2BbzocpeRMZi8E8oAo0lznNQTObdWDS7cbzJ
cTE+kc57kGM8ZlGNd0MR3MjxhwYK14o0TyEtEhgdy37alC4SfLne8dte0cE3H420QGCuBU+wKO4mZ32H
XZ1+5ubmzjjlnHNsMqwLMu9CWmjGgq8FC/4WyCKFPHtC/4Gxd50xg7wlXpFuoizdwNrALZSHAqhYNRjA
+lAP1ocDqA734UdIstczdo0tsEdWrG98ZDJC/UJWg5XXiZ5qLJoyNRFLVeMvU9V4NPU9Hk3Zs+qgCjSy
b9+0OeNWg1pEwtbTAWyNhQ60PTaM2rNBFGZmvPZMB5+uMn8UgTIXdl+qSENr0NnpQ74moMgR5AWCrOA2
tcQSrF44ocOuwBN8HXnU+/H5k0vvOzvPf5Ck1s+PR9qXLbtrdXraU4pNRlYmkqZKhianIqVYMmLG958l
k5Gfs7NnbQZ5f/0zp2g5izb7e1AJBbAWDmLtXi8q9wOoGKOhcBDrd4PYCPViIxTE5mDAXi9/xVvXoJHx
kWlkYO1gJxxELdyH7Qe3URvtx86ohNrDO/g10ofS+HjCnulA9xEURQq6n0ZO9CInelAQPLAaLL17da4c
f9FVTsS7ylMJU8tTcfPeXq0B890d7fPBPRnX3R3tzjlH5S88LZDGXf/36QAAAABJRU5ErkJggjMCAACJ
UE5HDQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68
AAAOvAGVvHJJAAAB1UlEQVRIS+2Uu24aQRSGz7hImqTLA1DQpIwiFCF5l9vewciSCysRRap0KEqRmhoW
h1swVdLbZaS8gzsXKfwGlgs3thUMhuGPZmE3u3iXTBuJTxrtzsw58885c2aItvzXAGDh/vnHz/vhfiL1
ev1pmwib2hEReozg+4yNPO7VXfx4++FFdLUY/EWa6ZeXbragullFdbO66v1nCmono6idV1nVt59Ubcz1
HKZFLRBMxGWEL/R3Z//iyrHvFmUD3LbkfI5YNPRNnOzV0twpAZWKlL2HSE1fUoCXC1hU7MB2dFh7H7WI
QaRowFjgdK/lcK3ojwR5WcesYgbjp43Gk4FMaoVAP2Q4MRQ86CrO9t9998dmtoa5o+PWrAZ2LmMYhjaW
iDBcP4OpXcC8tKyQX7XaT24VwZ3ooUoLtBIO+cHMg2sm5oaGmfW4HEXkUgJxEQh+20VMzBy4ZeJCq96s
z7cYw/GOjICoooTDGlsKpkYpdq7pCcT7RRARhKtIFukUiTcmKYJNiNv/VUZg8Ow57xFBqqZX9GgZtZtK
3a3PxSIEjlc57RKhs3qfRBP/fl/MDRmh641J7D7M6PWbjrc4MbQZQ4vIa83VV1RNe2d56785B5/W/bdI
8werE/HGFidAHwAAAABJRU5ErkJgghADAACJUE5HDQoaCgAAAA1JSERSAAAAGAAAABgIBgAAAOB3PfgA
AAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA68AAAOvAGVvHJJAAACsklEQVRIS8VVzW7TQBDOc/AeHKom
3t2Z3bVDy08R4gaqKvUZOHDoK3BDvAEHClVVceEaqKqCWtvrnyQOVPAKnHL50Dp2G6WtRNUIPmnl8ex4
/vzNbqfzr1BqRmIJJyzgKEBqAqTUw4nqIWYvC5yqHhK/pwI42UMiu8ikQKYEYtGF4wA5CZQqwNH9dZw7
H3IPLlRwTMhZISMB1zpjgZgEUpLImXAqAiRKoGBCyVQ7T5v3jCUcC4wNoSCJD0+fvKoDVMYgtuIi4hJQ
WMaYejOfmVZIIrPcAEZhTE3SpWHERt0owN7W5tbu9vbdRX2LMtIYa9lUYBTcDQNUljHkxsEVKO9pTAzN
9lOtcHqN8YglDiP7e153pro4I4VKS0xE0+cF5BGhapPOrMJXvmw4oi5OwwCjhepKffE+vKby3EqMTZO0
04RvTQW7L19QznJaapoWfV3rciNRqZVarqiLn3L13GllFX7JALmmqeP+tNVnhjBpg6da4iSc9evTo4fT
UksUhjBqM+h0OhPNtfzdzILOo6AAuVEo9AXVc0uYUNC2iHA8t3kVCruKLFIYqcutvAp+Dn5wU0EeMo7n
sr0OZ3LWpr9B1beYtDTNrcY321BqSSisxLAdtCQkxNFyA3hilC31i0hj1PZrSfAkKbmpwE9lbhmJFki0
bJaqn84SYn+isj9RZ6zIjETCAp4cfqVGIW5s/f9MWNb6hOe64rSqDVNLcGZ2N/jlLMNPemwVEiOxt7Nz
x5ef2pltYhVcSEj8cRNq5KGGM4T8Cjr/X2S0gpy7yGgVJa9i9/HG60WbW6FSBMcSZd/AD9HB883lBjix
Ap+twlFf4zBivH229WbR5sZ492Djy9D/MBXUnPZyfV8bAX8LZiSR3XZ+Pobrg/1obbAfrQ8OogvZr/fR
2uDArg8Wv5nHH4RP7Rpx+BP5AAAAAElFTkSuQmCC2gIAAIlQTkcNChoKAAAADUlIRFIAAAAYAAAAGAgG
AAAA4Hc9+AAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAJ8SURBVEhL3VXNbtNA
EPaBQx+CQ2t7HSde24l6yKGAk1IREBd+GnCjVgEunLkgVQj1CXgCDrlwRXkEUA48AGpVQqWIZmNDiNcO
eYFB42Bn3VAoNFz4pNHO7oz9eXZnP0vSf4NAocA1CoFSgEgzISImcM2GQKUQEQtCzYSQUOCqEY8453HM
jP0IY7ge55jAV3RIX/6x0XyZYVsA8EPSyeH2zsIJQoUKFTQfzRFw2QCuWhAoBoxVIfmM4Ct5gcDdzhAE
cgFCZVaip5egd+3mazGnXS4vt8vOcrtWS+3N3tOLSTwSnpcOG7MtOtp6UEOCNChJUq9atY/ubD77cNe1
xPVfIVKECrrNhykBl+e3I9SseI2vzIj7t+51/Lrb8etbneP1G6/YptvprVVfJPHMIe/XG6cShMI8Eg/u
NwhJpotmbcqJnQbGxIp7PY0J/oBYE0+zJz6aak08lU48Wv6WxEOxgp910XmRvQfCIS8Kodgo4hksCqEs
dNHBOSrYc5wl1KqT65kKMlvkOBecH5bxT2AkT/e45ThLXJ4K25jMmiBQBYKDnT8XO5QSHLECrhjQz9vv
UFqSeCTKy75QAbtUbfUrV1t+ZaPFKhutT1eq8di/ff95kjNCKZENeL+7q/ceP7FRr7CFcT3JyUqFcA/O
Anw5Xjq82eiHsgljmcZ+khNpopoK/wMvR5mnW8zPl9jnXIn5GmXHOcpY+XI3jhfL3iBfZH5+lXl6kQ1y
RebpJeajFUrMN1bZHEHX/fsuOg34h0snvtu8nokuAHO69ZWYEJtCYagaMEIfR4VCkLOmc2LCSLNgiAeK
ljxDTBjKBfhC8FkKQ9kAtrb+NkPwr/Ad3DFsyGIxcj4AAAAASUVORK5CYIIL
</value>
</data>
</root>

View File

@@ -0,0 +1,320 @@
Imports System.Threading.Tasks
Public Class crmCockpit_UserTest
Public CheckUserID As Integer
Public CheckUserName As String
Public CheckUserLanguage As String
Private _treeNodeCounts As New Dictionary(Of Integer, Integer)
Private GRID_LOAD_TYPE As String = "OVERVIEW"
Private Sub crmCockpit_UserTest_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.Text = $"Cockpit Test for User [{CheckUserName}] - Language [{CheckUserLanguage}] "
Load_Treeview()
End Sub
Private Sub Load_Treeview()
Try
Me.Cursor = Cursors.WaitCursor
Dim oSQL = $"SELECT * FROM [dbo].[FNTF_GET_COCKPIT_DEFINITION] ({CheckUserID},'{CheckUserLanguage}')"
Dim oDT_STRUCTURE_NODES As DataTable = DatabaseFallback.GetDatatableECM(oSQL)
If oDT_STRUCTURE_NODES Is Nothing OrElse oDT_STRUCTURE_NODES.Rows.Count = 0 Then
Dim oMsg As String
Dim oTitle As String
Select Case CheckUserLanguage
Case "fr-FR", "fr-BE", "fr-CH"
oMsg = "Aucune configuration de cockpit n'a pu être lue. Veuillez contacter votre équipe d'administration!"
oTitle = "Erreur de configuration"
Case "es-ES", "es-MX", "es-AR"
oMsg = "No se pudo leer ninguna configuración de cockpit. ¡Póngase en contacto con su equipo de administración!"
oTitle = "Error de configuración"
Case "de-DE", "de-AT", "de-CH"
oMsg = "Es konnte keine Cockpit-Konfiguration ausgelesen werden. Kontaktieren Sie Ihr Administrationsteam!"
oTitle = "Konfigurationsfehler"
Case Else ' en-US, en-GB und alle weiteren
oMsg = "No cockpit configuration could be read. Please contact your administration team!"
oTitle = "Configuration Error"
End Select
LOGGER.Warn($"Load_Treeview: No node configuration found for CheckUserID [{CheckUserID}] - CheckUserLanguage [{CheckUserLanguage}]")
MsgBox(oMsg, MsgBoxStyle.Critical, oTitle)
Exit Sub
End If
' ===== NUR AKTIVE KNOTEN BEHALTEN =====
If oDT_STRUCTURE_NODES.Columns.Contains("ACTIVE") Then
Dim oInactiveRows As DataRow() = oDT_STRUCTURE_NODES.Select("ACTIVE = 0 OR ACTIVE IS NULL")
If oInactiveRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: Removing [{oInactiveRows.Length}] inactive node(s) (ACTIVE=0 or NULL)")
For Each oRow As DataRow In oInactiveRows
oRow.Delete()
Next
oDT_STRUCTURE_NODES.AcceptChanges()
End If
Else
LOGGER.Warn("Load_Treeview: ACTIVE column not found in FNTF_GET_COCKPIT_DEFINITION result")
End If
' ===== ANZAHL DER OVERVIEW-KNOTEN ERMITTELN (VOR WEITEREN FILTERN) =====
Dim oOverviewRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 0")
LOGGER.Debug($"Load_Treeview: Found [{oOverviewRows.Length}] node(s) with TYPE_ID=0 (Overview)")
' ===== MONITOR-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If MONITORING_ACTIVE = False AndAlso oDT_STRUCTURE_NODES.Columns.Contains("TYPE_ID") Then
Dim oMonitorRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 2")
If oMonitorRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: MONITORING_ACTIVE=False - removing [{oMonitorRows.Length}] monitor node(s) from TreeList datasource")
For Each oRow As DataRow In oMonitorRows
oRow.Delete()
Next
oDT_STRUCTURE_NODES.AcceptChanges()
End If
End If
' ===== CHART-KNOTEN ENTFERNEN WENN KEIN RECHT =====
If SHOW_CHARTS = False AndAlso oDT_STRUCTURE_NODES.Columns.Contains("TYPE_ID") Then
Dim oChartRows As DataRow() = oDT_STRUCTURE_NODES.Select("TYPE_ID = 3")
If oChartRows.Length > 0 Then
LOGGER.Debug($"Load_Treeview: SHOW_CHARTS=False - removing [{oChartRows.Length}] chart node(s) from TreeList datasource")
For Each oRow As DataRow In oChartRows
oRow.Delete()
Next
oDT_STRUCTURE_NODES.AcceptChanges()
End If
End If
TreeList_Cockpit.BeginUpdate()
Try
TreeList_Cockpit.DataSource = oDT_STRUCTURE_NODES
AddHandler TreeList_Cockpit.CustomDrawNodeCell, AddressOf TreeList_Cockpit_CustomDrawNodeCell
TreeList_Cockpit.KeyFieldName = "PK_CFG_COCKPIT_DEFINITION_ID"
TreeList_Cockpit.ParentFieldName = "PARENT_ID"
TreeList_Cockpit.Columns("PK_RESULT_ID").SortOrder = SortOrder.Ascending
' ===== MODERNES DESIGN =====
' Schriftgröße und -art
TreeList_Cockpit.Appearance.Row.Font = New Font("Segoe UI", 12, FontStyle.Regular)
TreeList_Cockpit.Appearance.FocusedRow.Font = New Font("Segoe UI", 12, FontStyle.Bold)
TreeList_Cockpit.Appearance.HideSelectionRow.Font = New Font("Segoe UI", 12, FontStyle.Regular)
' Modernes Farbschema (passend zum Office2019-Skin)
TreeList_Cockpit.Appearance.Row.BackColor = Color.White
TreeList_Cockpit.Appearance.Row.ForeColor = Color.FromArgb(50, 50, 50)
TreeList_Cockpit.Appearance.FocusedRow.BackColor = Color.FromArgb(210, 230, 255)
TreeList_Cockpit.Appearance.FocusedRow.ForeColor = Color.FromArgb(20, 20, 20)
TreeList_Cockpit.Appearance.HideSelectionRow.BackColor = Color.FromArgb(225, 235, 250)
TreeList_Cockpit.Appearance.HideSelectionRow.ForeColor = Color.FromArgb(50, 50, 50)
' Zeilenhöhe erhöhen für bessere Lesbarkeit
TreeList_Cockpit.RowHeight = 28
Dim oVisibleColumns As New System.Collections.Generic.HashSet(Of String)(StringComparer.OrdinalIgnoreCase) From {"NAME"}
For Each oColumn As DevExpress.XtraTreeList.Columns.TreeListColumn In TreeList_Cockpit.Columns
oColumn.Visible = oVisibleColumns.Contains(oColumn.FieldName)
Next
Finally
TreeList_Cockpit.EndUpdate()
End Try
' ===== KNOTEN AUF-/ZUKLAPPEN BASIEREND AUF ANZAHL DER OVERVIEW-KNOTEN =====
If oOverviewRows.Length = 1 Then
LOGGER.Debug("Load_Treeview: Only 1 overview node found - expanding all nodes")
For Each oNode As DevExpress.XtraTreeList.Nodes.TreeListNode In TreeList_Cockpit.Nodes
oNode.Expanded = True
Next
ElseIf oOverviewRows.Length > 1 Then
LOGGER.Debug($"Load_Treeview: [{oOverviewRows.Length}] overview nodes found - collapsing all nodes")
For Each oNode As DevExpress.XtraTreeList.Nodes.TreeListNode In TreeList_Cockpit.Nodes
oNode.Expanded = False
Next
Else
LOGGER.Warn("Load_Treeview: No overview nodes (TYPE_ID=0) found - keeping default collapsed state")
End If
TreeList_Cockpit.Refresh()
' ===== ANZAHL ASYNCHRON NACHLADEN =====
If oDT_STRUCTURE_NODES.Columns.Contains("SQL_QUERY_COUNT") Then
AppendCountsToTreeAsync()
End If
Catch ex As Exception
LOGGER.Error(ex)
Finally
Me.Cursor = Cursors.Default
End Try
End Sub
Private Sub TreeList_Cockpit_CustomDrawNodeCell(sender As Object, e As DevExpress.XtraTreeList.CustomDrawNodeCellEventArgs)
Try
Dim oPk As Object = e.Node.GetValue("PK_CFG_COCKPIT_DEFINITION_ID")
If oPk Is Nothing OrElse IsDBNull(oPk) Then
Exit Sub
End If
Dim oPkInt As Integer = CInt(oPk)
If Not _treeNodeCounts.ContainsKey(oPkInt) Then
Exit Sub
End If
If _treeNodeCounts(oPkInt) > 0 Then
e.Appearance.Font = New Font(e.Appearance.Font, FontStyle.Bold)
Else
e.Appearance.Font = New Font(e.Appearance.Font, FontStyle.Regular)
End If
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
Private Async Sub AppendCountsToTreeAsync()
Try
LOGGER.Debug("AppendCountsToTreeAsync: Starting background count queries...")
Dim oWorkItems As New List(Of (Node As DevExpress.XtraTreeList.Nodes.TreeListNode, SQL As String, OriginalName As String))
TreeList_Cockpit.NodesIterator.DoOperation(
Sub(oNode As DevExpress.XtraTreeList.Nodes.TreeListNode)
Dim oTypeId As Object = oNode.GetValue("TYPE_ID")
Dim oProfileID As Object = oNode.GetValue("FK_PROFILE_ID")
If oTypeId Is Nothing OrElse IsDBNull(oTypeId) Then
LOGGER.Debug($"AppendCountsToTreeAsync: Node [{oNode.GetValue("NAME")}] has no TYPE_ID - skipping.")
Exit Sub
End If
Dim oTypeIdInt As Integer = CInt(oTypeId)
If oTypeIdInt <> 0 AndAlso oTypeIdInt <> 1 Then
Exit Sub
End If
Dim oSqlCount As Object = oNode.GetValue("SQL_QUERY_COUNT")
If oSqlCount IsNot Nothing AndAlso Not IsDBNull(oSqlCount) AndAlso Not String.IsNullOrWhiteSpace(oSqlCount.ToString()) Then
Dim oProfileIdInt As Integer = If(oProfileID IsNot Nothing AndAlso Not IsDBNull(oProfileID), CInt(oProfileID), 0)
Dim oRawSQL As String = oSqlCount.ToString()
LOGGER.Debug($"AppendCountsToTreeAsync: Preparing SQL for node [{oNode.GetValue("NAME")}] with PROFILE_ID [{oProfileIdInt}]")
LOGGER.Debug($"AppendCountsToTreeAsync: Original SQL: {oRawSQL}")
oRawSQL = oRawSQL.Replace("@PROFILE_ID", oProfileIdInt.ToString())
oRawSQL = oRawSQL.Replace("@PROFIL_ID", oProfileIdInt.ToString())
oRawSQL = oRawSQL.Replace("{#USER#PROFILE_ID}", oProfileIdInt.ToString())
oRawSQL = oRawSQL.Replace("{#USER#PROFIL_ID}", oProfileIdInt.ToString())
Dim oPreparedSQL As String = PrepareSQLWithReplacements(oRawSQL, oProfileIdInt)
' ===== COUNT-SUFFIX VOM VORHERIGEN DURCHLAUF ENTFERNEN =====
Dim oRawName As String = oNode.GetValue("NAME")?.ToString()
Dim oSuffixMatch = System.Text.RegularExpressions.Regex.Match(oRawName, "^(.*)\s+\(\d+\)$")
Dim oCleanName As String = If(oSuffixMatch.Success, oSuffixMatch.Groups(1).Value.Trim(), oRawName)
If Not String.IsNullOrWhiteSpace(oCleanName) Then
oWorkItems.Add((oNode, oPreparedSQL, oCleanName))
End If
Else
LOGGER.Debug($"AppendCountsToTreeAsync: Node [{oNode.GetValue("NAME")}] has no valid SQL_QUERY_COUNT, skipping.")
End If
End Sub)
If oWorkItems.Count = 0 Then
LOGGER.Debug("AppendCountsToTreeAsync: No nodes with SQL_QUERY_COUNT found, exiting.")
Exit Sub
End If
LOGGER.Debug($"AppendCountsToTreeAsync: {oWorkItems.Count} node(s) with SQL_QUERY_COUNT found")
Dim oResults As New List(Of (Node As DevExpress.XtraTreeList.Nodes.TreeListNode, OriginalName As String, Count As String))
Await Task.Run(Sub()
For Each oItem In oWorkItems
Try
Dim oResult As Object = DatabaseFallback.GetScalarValueECM(oItem.SQL)
If oResult IsNot Nothing AndAlso Not IsDBNull(oResult) Then
SyncLock oResults
oResults.Add((oItem.Node, oItem.OriginalName, oResult.ToString()))
End SyncLock
End If
Catch ex As Exception
LOGGER.Warn($"AppendCountsToTreeAsync: Count query failed for node [{oItem.OriginalName}] - {ex.Message}")
End Try
Next
End Sub)
_treeNodeCounts.Clear()
TreeList_Cockpit.BeginUpdate()
Try
For Each oResult In oResults
Dim oPk As Object = oResult.Node.GetValue("PK_CFG_COCKPIT_DEFINITION_ID")
If oPk IsNot Nothing AndAlso Not IsDBNull(oPk) Then
Dim oCount As Integer = 0
Integer.TryParse(oResult.Count, oCount)
_treeNodeCounts(CInt(oPk)) = oCount
End If
oResult.Node.SetValue("NAME", $"{oResult.OriginalName} ({oResult.Count})")
LOGGER.Debug($"AppendCountsToTreeAsync: Node [{oResult.OriginalName}] → [{oResult.OriginalName} ({oResult.Count})]")
Next
Finally
TreeList_Cockpit.EndUpdate()
End Try
TreeList_Cockpit.Refresh()
LOGGER.Debug("AppendCountsToTreeAsync: Finished")
Decide_Show_Empty_Workflows(Not CONFIG.Config.Hide_Empty_Workflows)
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
' ========================================
' HILFSMETHODEN - Extrahierte Logik für Wiederverwendung
' ========================================
Private Function PrepareSQLWithReplacements(oSQL As String, oProfileID As Integer) As String
oSQL = clsPatterns.ReplaceInternalValues(oSQL)
oSQL = clsPatterns.ReplaceUserValues(oSQL)
LOGGER.Debug("PrepareSQLWithReplacements - Original SQL: " & oSQL)
oSQL = oSQL.Replace("@USERNAME", USER_USERNAME)
oSQL = oSQL.Replace("@MACHINE_NAME", System.Environment.MachineName)
oSQL = oSQL.Replace("@DATE", Now.ToShortDateString)
' ===== ZUSÄTZLICHE PLATZHALTER-FORMATE FÜR USER_ID =====
oSQL = oSQL.Replace("{#USER#USER_ID}", USER_ID)
oSQL = oSQL.Replace("#USER#USER_ID", USER_ID)
oSQL = oSQL.Replace("@USER_ID", USER_ID)
LOGGER.Debug("PrepareSQLWithReplacements - SQL after replacements: " & oSQL)
If oProfileID = 0 Then
If GRID_LOAD_TYPE = "OVERVIEW" Then
LOGGER.Debug("PrepareSQLWithReplacements called with oProfileID = 0 in OVERVIEW context")
Else
LOGGER.Warn("PrepareSQLWithReplacements called with oProfileID = 0, using CURRENT_CLICKED_PROFILE_ID instead")
End If
oProfileID = CURRENT_CLICKED_PROFILE_ID
Else
LOGGER.Debug($"PrepareSQLWithReplacements called with oProfileID = {oProfileID}")
End If
oSQL = oSQL.Replace("@PROFILE_ID", oProfileID)
oSQL = oSQL.Replace("@PROFIL_ID", oProfileID)
Return oSQL
End Function
Sub Decide_Show_Empty_Workflows(pShow As Boolean)
Try
LOGGER.Debug($"Decide_Show_Empty_Workflows: pShow=[{pShow}], cached node counts: [{_treeNodeCounts.Count}]")
TreeList_Cockpit.BeginUpdate()
Try
TreeList_Cockpit.NodesIterator.DoOperation(
Sub(oNode As DevExpress.XtraTreeList.Nodes.TreeListNode)
Dim oPk As Object = oNode.GetValue("PK_CFG_COCKPIT_DEFINITION_ID")
If oPk Is Nothing OrElse IsDBNull(oPk) Then
oNode.Visible = True
LOGGER.Debug($"Decide_Show_Empty_Workflows: oPk is Nothing/DBNull - Node visible set to True")
Exit Sub
End If
Dim oPkInt As Integer = CInt(oPk)
If Not _treeNodeCounts.ContainsKey(oPkInt) Then
oNode.Visible = True
LOGGER.Debug($"Decide_Show_Empty_Workflows: oPkInt [{oPkInt}] not found in _treeNodeCounts - Node visible set to True")
Exit Sub
End If
oNode.Visible = pShow OrElse (_treeNodeCounts(oPkInt) > 0)
End Sub)
Finally
TreeList_Cockpit.EndUpdate()
End Try
TreeList_Cockpit.Refresh()
Catch ex As Exception
LOGGER.Error(ex)
End Try
End Sub
End Class

View File

@@ -114,7 +114,7 @@ Partial Class frmAbout
Me.PictureBox1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ Me.PictureBox1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.PictureBox1.Image = Global.DD_ProcessManager.My.Resources.Resources.taskflow_boot Me.PictureBox1.Image = Global.taskFLOW.My.Resources.Resources.taskflow_boot
Me.PictureBox1.Location = New System.Drawing.Point(12, 5) Me.PictureBox1.Location = New System.Drawing.Point(12, 5)
Me.PictureBox1.Name = "PictureBox1" Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(496, 141) Me.PictureBox1.Size = New System.Drawing.Size(496, 141)

View File

@@ -63,7 +63,7 @@ Partial Class frmAdmin2
Me.XtraTabPage1 = New DevExpress.XtraTab.XtraTabPage() Me.XtraTabPage1 = New DevExpress.XtraTab.XtraTabPage()
Me.BindingNavigator1 = New System.Windows.Forms.BindingNavigator(Me.components) Me.BindingNavigator1 = New System.Windows.Forms.BindingNavigator(Me.components)
Me.TBDD_EMAIL_TEMPLATEBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBDD_EMAIL_TEMPLATEBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.DD_DMSLiteDataSet = New DD_ProcessManager.DD_DMSLiteDataSet() Me.DD_DMSLiteDataSet = New taskFLOW.DD_DMSLiteDataSet()
Me.BindingNavigatorCountItem = New System.Windows.Forms.ToolStripLabel() Me.BindingNavigatorCountItem = New System.Windows.Forms.ToolStripLabel()
Me.BindingNavigatorMoveFirstItem = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorMoveFirstItem = New System.Windows.Forms.ToolStripButton()
Me.BindingNavigatorMovePreviousItem = New System.Windows.Forms.ToolStripButton() Me.BindingNavigatorMovePreviousItem = New System.Windows.Forms.ToolStripButton()
@@ -156,9 +156,9 @@ Partial Class frmAdmin2
Me.GridColumn3 = New DevExpress.XtraGrid.Columns.GridColumn() Me.GridColumn3 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.GridColumn4 = New DevExpress.XtraGrid.Columns.GridColumn() Me.GridColumn4 = New DevExpress.XtraGrid.Columns.GridColumn()
Me.XtraTabPage3 = New DevExpress.XtraTab.XtraTabPage() Me.XtraTabPage3 = New DevExpress.XtraTab.XtraTabPage()
Me.TBDD_EMAIL_TEMPLATETableAdapter = New DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TBDD_EMAIL_TEMPLATETableAdapter() Me.TBDD_EMAIL_TEMPLATETableAdapter = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TBDD_EMAIL_TEMPLATETableAdapter()
Me.TableAdapterManager = New DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TableAdapterManager() Me.TableAdapterManager = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager()
Me.TBDD_GUI_LANGUAGE_PHRASETableAdapter = New DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TBDD_GUI_LANGUAGE_PHRASETableAdapter() Me.TBDD_GUI_LANGUAGE_PHRASETableAdapter = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TBDD_GUI_LANGUAGE_PHRASETableAdapter()
Me.LayoutConverter1 = New DevExpress.XtraLayout.Converter.LayoutConverter(Me.components) Me.LayoutConverter1 = New DevExpress.XtraLayout.Converter.LayoutConverter(Me.components)
Me.XtraSaveFileDialog1 = New System.Windows.Forms.SaveFileDialog() Me.XtraSaveFileDialog1 = New System.Windows.Forms.SaveFileDialog()
CType(Me.spcontwKonfMain, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.spcontwKonfMain, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -1465,7 +1465,7 @@ Partial Class frmAdmin2
Me.TableAdapterManager.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = Nothing Me.TableAdapterManager.TBPM_PROFILE_FINAL_INDEXINGTableAdapter = Nothing
Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing
Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete Me.TableAdapterManager.UpdateOrder = taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
' '
'TBDD_GUI_LANGUAGE_PHRASETableAdapter 'TBDD_GUI_LANGUAGE_PHRASETableAdapter
' '

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -25,10 +25,10 @@ Partial Class frmAdminPasswort
Me.components = New System.ComponentModel.Container() Me.components = New System.ComponentModel.Container()
Me.txtOld = New System.Windows.Forms.TextBox() Me.txtOld = New System.Windows.Forms.TextBox()
Me.txtNew = New System.Windows.Forms.TextBox() Me.txtNew = New System.Windows.Forms.TextBox()
Me.DD_DMSLiteDataSet = New DD_ProcessManager.DD_DMSLiteDataSet() Me.DD_DMSLiteDataSet = New taskFLOW.DD_DMSLiteDataSet()
Me.TBPM_KONFIGURATIONBindingSource = New System.Windows.Forms.BindingSource(Me.components) Me.TBPM_KONFIGURATIONBindingSource = New System.Windows.Forms.BindingSource(Me.components)
Me.TBPM_KONFIGURATIONTableAdapter = New DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TBPM_KONFIGURATIONTableAdapter() Me.TBPM_KONFIGURATIONTableAdapter = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TBPM_KONFIGURATIONTableAdapter()
Me.TableAdapterManager = New DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TableAdapterManager() Me.TableAdapterManager = New taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager()
Me.btnSetNew = New System.Windows.Forms.Button() Me.btnSetNew = New System.Windows.Forms.Button()
Me.Label1 = New System.Windows.Forms.Label() Me.Label1 = New System.Windows.Forms.Label()
Me.Label2 = New System.Windows.Forms.Label() Me.Label2 = New System.Windows.Forms.Label()
@@ -81,11 +81,11 @@ Partial Class frmAdminPasswort
Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing Me.TableAdapterManager.TBPM_PROFILETableAdapter = Nothing
Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing Me.TableAdapterManager.TBPM_TYPETableAdapter = Nothing
Me.TableAdapterManager.TBDD_USERTableAdapter = Nothing Me.TableAdapterManager.TBDD_USERTableAdapter = Nothing
Me.TableAdapterManager.UpdateOrder = DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete Me.TableAdapterManager.UpdateOrder = taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
' '
'btnSetNew 'btnSetNew
' '
Me.btnSetNew.Image = Global.DD_ProcessManager.My.Resources.Resources.add Me.btnSetNew.Image = Global.taskFLOW.My.Resources.Resources.add
Me.btnSetNew.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft Me.btnSetNew.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnSetNew.Location = New System.Drawing.Point(12, 60) Me.btnSetNew.Location = New System.Drawing.Point(12, 60)
Me.btnSetNew.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4) Me.btnSetNew.Margin = New System.Windows.Forms.Padding(3, 4, 3, 4)
@@ -138,10 +138,10 @@ Partial Class frmAdminPasswort
End Sub End Sub
Friend WithEvents txtOld As System.Windows.Forms.TextBox Friend WithEvents txtOld As System.Windows.Forms.TextBox
Friend WithEvents txtNew As System.Windows.Forms.TextBox Friend WithEvents txtNew As System.Windows.Forms.TextBox
Friend WithEvents DD_DMSLiteDataSet As DD_ProcessManager.DD_DMSLiteDataSet Friend WithEvents DD_DMSLiteDataSet As taskFLOW.DD_DMSLiteDataSet
Friend WithEvents TBPM_KONFIGURATIONBindingSource As System.Windows.Forms.BindingSource Friend WithEvents TBPM_KONFIGURATIONBindingSource As System.Windows.Forms.BindingSource
Friend WithEvents TBPM_KONFIGURATIONTableAdapter As DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TBPM_KONFIGURATIONTableAdapter Friend WithEvents TBPM_KONFIGURATIONTableAdapter As taskFLOW.DD_DMSLiteDataSetTableAdapters.TBPM_KONFIGURATIONTableAdapter
Friend WithEvents TableAdapterManager As DD_ProcessManager.DD_DMSLiteDataSetTableAdapters.TableAdapterManager Friend WithEvents TableAdapterManager As taskFLOW.DD_DMSLiteDataSetTableAdapters.TableAdapterManager
Friend WithEvents btnSetNew As System.Windows.Forms.Button Friend WithEvents btnSetNew As System.Windows.Forms.Button
Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label1 As System.Windows.Forms.Label
Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label

View File

@@ -0,0 +1,196 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Class frmAdmin_AppserviceTest
Inherits DevExpress.XtraEditors.XtraForm
'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()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmAdmin_AppserviceTest))
Me.SimpleButton1 = New DevExpress.XtraEditors.SimpleButton()
Me.lblServiceOnline = New DevExpress.XtraEditors.LabelControl()
Me.lblAppServiceOffline = New DevExpress.XtraEditors.LabelControl()
Me.btnLoadStart = New DevExpress.XtraEditors.SimpleButton()
Me.btnLoadStop = New DevExpress.XtraEditors.SimpleButton()
Me.LabelControl1 = New DevExpress.XtraEditors.LabelControl()
Me.NumericUpDown1 = New System.Windows.Forms.NumericUpDown()
Me.SplitContainerControl1 = New DevExpress.XtraEditors.SplitContainerControl()
Me.MemoEdit1 = New DevExpress.XtraEditors.MemoEdit()
Me.MemoEdit2 = New DevExpress.XtraEditors.MemoEdit()
CType(Me.NumericUpDown1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel1.SuspendLayout()
CType(Me.SplitContainerControl1.Panel2, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SplitContainerControl1.Panel2.SuspendLayout()
Me.SplitContainerControl1.SuspendLayout()
CType(Me.MemoEdit1.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.MemoEdit2.Properties, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'SimpleButton1
'
Me.SimpleButton1.Location = New System.Drawing.Point(12, 1)
Me.SimpleButton1.Name = "SimpleButton1"
Me.SimpleButton1.Size = New System.Drawing.Size(240, 32)
Me.SimpleButton1.TabIndex = 1
Me.SimpleButton1.Text = "Prüfe Status EDMI Service"
'
'lblServiceOnline
'
Me.lblServiceOnline.ImageAlignToText = DevExpress.XtraEditors.ImageAlignToText.LeftCenter
Me.lblServiceOnline.ImageOptions.Alignment = System.Drawing.ContentAlignment.MiddleLeft
Me.lblServiceOnline.ImageOptions.SvgImage = CType(resources.GetObject("lblServiceOnline.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.lblServiceOnline.Location = New System.Drawing.Point(12, 39)
Me.lblServiceOnline.Name = "lblServiceOnline"
Me.lblServiceOnline.Size = New System.Drawing.Size(240, 36)
Me.lblServiceOnline.TabIndex = 3
Me.lblServiceOnline.Text = "AppService online and Functions all normal"
Me.lblServiceOnline.Visible = False
'
'lblAppServiceOffline
'
Me.lblAppServiceOffline.ImageAlignToText = DevExpress.XtraEditors.ImageAlignToText.LeftCenter
Me.lblAppServiceOffline.ImageOptions.Alignment = System.Drawing.ContentAlignment.MiddleLeft
Me.lblAppServiceOffline.ImageOptions.SvgImage = CType(resources.GetObject("lblAppServiceOffline.ImageOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.lblAppServiceOffline.Location = New System.Drawing.Point(12, 39)
Me.lblAppServiceOffline.Name = "lblAppServiceOffline"
Me.lblAppServiceOffline.Size = New System.Drawing.Size(183, 36)
Me.lblAppServiceOffline.TabIndex = 4
Me.lblAppServiceOffline.Text = "AppService not in proper mode"
Me.lblAppServiceOffline.Visible = False
'
'btnLoadStart
'
Me.btnLoadStart.Location = New System.Drawing.Point(12, 261)
Me.btnLoadStart.Name = "btnLoadStart"
Me.btnLoadStart.Size = New System.Drawing.Size(250, 38)
Me.btnLoadStart.TabIndex = 5
Me.btnLoadStart.Text = "Starte Performance-Test " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "(parallele Verbindungen und Databasefallbacks)"
'
'btnLoadStop
'
Me.btnLoadStop.Location = New System.Drawing.Point(12, 334)
Me.btnLoadStop.Name = "btnLoadStop"
Me.btnLoadStop.Size = New System.Drawing.Size(250, 32)
Me.btnLoadStop.TabIndex = 6
Me.btnLoadStop.Text = "Stoppe Perf-Test"
Me.btnLoadStop.Visible = False
'
'LabelControl1
'
Me.LabelControl1.Location = New System.Drawing.Point(12, 308)
Me.LabelControl1.Name = "LabelControl1"
Me.LabelControl1.Size = New System.Drawing.Size(143, 13)
Me.LabelControl1.TabIndex = 10
Me.LabelControl1.Text = "Anzahl parallele Verbindungen"
'
'NumericUpDown1
'
Me.NumericUpDown1.Font = New System.Drawing.Font("Segoe UI", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.NumericUpDown1.Increment = New Decimal(New Integer() {10, 0, 0, 0})
Me.NumericUpDown1.Location = New System.Drawing.Point(208, 303)
Me.NumericUpDown1.Maximum = New Decimal(New Integer() {1000, 0, 0, 0})
Me.NumericUpDown1.Minimum = New Decimal(New Integer() {10, 0, 0, 0})
Me.NumericUpDown1.Name = "NumericUpDown1"
Me.NumericUpDown1.Size = New System.Drawing.Size(54, 22)
Me.NumericUpDown1.TabIndex = 11
Me.NumericUpDown1.Value = New Decimal(New Integer() {10, 0, 0, 0})
'
'SplitContainerControl1
'
Me.SplitContainerControl1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Left) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.SplitContainerControl1.Horizontal = False
Me.SplitContainerControl1.Location = New System.Drawing.Point(268, 1)
Me.SplitContainerControl1.Name = "SplitContainerControl1"
'
'SplitContainerControl1.Panel1
'
Me.SplitContainerControl1.Panel1.Controls.Add(Me.MemoEdit1)
Me.SplitContainerControl1.Panel1.Text = "Panel1"
'
'SplitContainerControl1.Panel2
'
Me.SplitContainerControl1.Panel2.Controls.Add(Me.MemoEdit2)
Me.SplitContainerControl1.Panel2.Text = "Panel2"
Me.SplitContainerControl1.Size = New System.Drawing.Size(637, 424)
Me.SplitContainerControl1.SplitterPosition = 238
Me.SplitContainerControl1.TabIndex = 12
'
'MemoEdit1
'
Me.MemoEdit1.Dock = System.Windows.Forms.DockStyle.Fill
Me.MemoEdit1.Location = New System.Drawing.Point(0, 0)
Me.MemoEdit1.Name = "MemoEdit1"
Me.MemoEdit1.Size = New System.Drawing.Size(637, 238)
Me.MemoEdit1.TabIndex = 13
'
'MemoEdit2
'
Me.MemoEdit2.Dock = System.Windows.Forms.DockStyle.Fill
Me.MemoEdit2.Location = New System.Drawing.Point(0, 0)
Me.MemoEdit2.Name = "MemoEdit2"
Me.MemoEdit2.Size = New System.Drawing.Size(637, 176)
Me.MemoEdit2.TabIndex = 0
'
'frmAdmin_AppserviceTest
'
Me.Appearance.Options.UseFont = True
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 17.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(917, 437)
Me.Controls.Add(Me.SplitContainerControl1)
Me.Controls.Add(Me.NumericUpDown1)
Me.Controls.Add(Me.LabelControl1)
Me.Controls.Add(Me.btnLoadStop)
Me.Controls.Add(Me.btnLoadStart)
Me.Controls.Add(Me.lblAppServiceOffline)
Me.Controls.Add(Me.lblServiceOnline)
Me.Controls.Add(Me.SimpleButton1)
Me.Font = New System.Drawing.Font("Segoe UI", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.IconOptions.SvgImage = CType(resources.GetObject("frmAdmin_AppserviceTest.IconOptions.SvgImage"), DevExpress.Utils.Svg.SvgImage)
Me.Margin = New System.Windows.Forms.Padding(4)
Me.Name = "frmAdmin_AppserviceTest"
Me.Text = "AppService Monitor"
CType(Me.NumericUpDown1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.SplitContainerControl1.Panel1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.Panel1.ResumeLayout(False)
CType(Me.SplitContainerControl1.Panel2, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.Panel2.ResumeLayout(False)
CType(Me.SplitContainerControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.SplitContainerControl1.ResumeLayout(False)
CType(Me.MemoEdit1.Properties, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.MemoEdit2.Properties, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents SimpleButton1 As DevExpress.XtraEditors.SimpleButton
Friend WithEvents lblServiceOnline As DevExpress.XtraEditors.LabelControl
Friend WithEvents lblAppServiceOffline As DevExpress.XtraEditors.LabelControl
Friend WithEvents btnLoadStart As DevExpress.XtraEditors.SimpleButton
Friend WithEvents btnLoadStop As DevExpress.XtraEditors.SimpleButton
Friend WithEvents LabelControl1 As DevExpress.XtraEditors.LabelControl
Friend WithEvents NumericUpDown1 As NumericUpDown
Friend WithEvents SplitContainerControl1 As DevExpress.XtraEditors.SplitContainerControl
Friend WithEvents MemoEdit1 As DevExpress.XtraEditors.MemoEdit
Friend WithEvents MemoEdit2 As DevExpress.XtraEditors.MemoEdit
End Class

View File

@@ -0,0 +1,181 @@
<?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>
<assembly alias="DevExpress.Data.v25.2" name="DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="lblServiceOnline.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
AKMCAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
LkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxs
OiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTow
LjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iQ2hlY2tCb3giPg0K
ICAgIDxwYXRoIGQ9Ik0yNyw0SDVDNC41LDQsNCw0LjUsNCw1djIyYzAsMC41LDAuNSwxLDEsMWgy
MmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcuNSw0LDI3LDR6IE0xNCwyMmwtNi02bDItMmw0
LDQgICBsOC04bDIsMkwxNCwyMnoiIGNsYXNzPSJHcmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="lblAppServiceOffline.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
ANcCAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
IkZvcmJpZCI+DQogICAgPHBhdGggZD0iTTE2LDRDOS40LDQsNCw5LjQsNCwxNnM1LjQsMTIsMTIs
MTJzMTItNS40LDEyLTEyUzIyLjYsNCwxNiw0eiBNMTYsOGMxLjUsMCwyLjksMC40LDQuMSwxLjFs
LTExLDExICAgQzguNCwxOC45LDgsMTcuNSw4LDE2QzgsMTEuNiwxMS42LDgsMTYsOHogTTE2LDI0
Yy0xLjUsMC0yLjgtMC40LTQtMS4xTDIyLjksMTJjMC43LDEuMiwxLjEsMi41LDEuMSw0QzI0LDIw
LjQsMjAuNCwyNCwxNiwyNHoiIGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value>
</data>
<data name="frmAdmin_AppserviceTest.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
ABEDAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iU3RhdGlzdGljYWwiIHN0eWxlPSJl
bmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij4KCS5HcmVlbntmaWxsOiMwMzlDMjM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtm
aWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNNiwxM2MwLTEuNywxLjMtMywzLTNo
MTNWNEgzQzIuNCw0LDIsMy42LDIsM2MwLTAuNiwwLjQtMSwxLTFoMTlWMWMwLTAuNi0wLjQtMS0x
LTFIM0MxLjMsMCwwLDEuMywwLDN2MjAgIGMwLDEuNywxLjMsMywzLDNoM1YxM3oiIGNsYXNzPSJC
bHVlIiAvPg0KICA8cGF0aCBkPSJNMzEsMTJIOWMtMC41LDAtMSwwLjUtMSwxdjE4YzAsMC41LDAu
NSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWMTNDMzIsMTIuNSwzMS41LDEyLDMxLDEyeiBNMzAs
MzBIMTBWMTRoMjAgIFYzMHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPHBvbHlnb24gcG9pbnRzPSIx
Mi43LDI3LjEgMTEuMywyNS43IDE3LDIwIDIwLDIzIDI1LDE4IDI4LjcsMjEuNyAyNy4zLDIzLjEg
MjUsMjAuOCAyMCwyNS44IDE3LDIyLjggIiBjbGFzcz0iR3JlZW4iIC8+DQo8L3N2Zz4L
</value>
</data>
</root>

View File

@@ -0,0 +1,181 @@
<?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>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="lblServiceOnline.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAKMCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl
Pg0KICA8ZyBpZD0iQ2hlY2tCb3giPg0KICAgIDxwYXRoIGQ9Ik0yNyw0SDVDNC41LDQsNCw0LjUsNCw1
djIyYzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWNUMyOCw0LjUsMjcuNSw0LDI3LDR6
IE0xNCwyMmwtNi02bDItMmw0LDQgICBsOC04bDIsMkwxNCwyMnoiIGNsYXNzPSJHcmVlbiIgLz4NCiAg
PC9nPg0KPC9zdmc+Cw==
</value>
</data>
<data name="lblAppServiceOffline.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAANcCAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkZvcmJpZCI+DQogICAgPHBhdGggZD0iTTE2LDRDOS40
LDQsNCw5LjQsNCwxNnM1LjQsMTIsMTIsMTJzMTItNS40LDEyLTEyUzIyLjYsNCwxNiw0eiBNMTYsOGMx
LjUsMCwyLjksMC40LDQuMSwxLjFsLTExLDExICAgQzguNCwxOC45LDgsMTcuNSw4LDE2QzgsMTEuNiwx
MS42LDgsMTYsOHogTTE2LDI0Yy0xLjUsMC0yLjgtMC40LTQtMS4xTDIyLjksMTJjMC43LDEuMiwxLjEs
Mi41LDEuMSw0QzI0LDIwLjQsMjAuNCwyNCwxNiwyNHoiIGNsYXNzPSJSZWQiIC8+DQogIDwvZz4NCjwv
c3ZnPgs=
</value>
</data>
<data name="frmAdmin_AppserviceTest.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAABEDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iU3RhdGlzdGljYWwiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5HcmVlbntmaWxsOiMwMzlDMjM7
fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQo8L3N0eWxlPg0KICA8
cGF0aCBkPSJNNiwxM2MwLTEuNywxLjMtMywzLTNoMTNWNEgzQzIuNCw0LDIsMy42LDIsM2MwLTAuNiww
LjQtMSwxLTFoMTlWMWMwLTAuNi0wLjQtMS0xLTFIM0MxLjMsMCwwLDEuMywwLDN2MjAgIGMwLDEuNywx
LjMsMywzLDNoM1YxM3oiIGNsYXNzPSJCbHVlIiAvPg0KICA8cGF0aCBkPSJNMzEsMTJIOWMtMC41LDAt
MSwwLjUtMSwxdjE4YzAsMC41LDAuNSwxLDEsMWgyMmMwLjUsMCwxLTAuNSwxLTFWMTNDMzIsMTIuNSwz
MS41LDEyLDMxLDEyeiBNMzAsMzBIMTBWMTRoMjAgIFYzMHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgPHBv
bHlnb24gcG9pbnRzPSIxMi43LDI3LjEgMTEuMywyNS43IDE3LDIwIDIwLDIzIDI1LDE4IDI4LjcsMjEu
NyAyNy4zLDIzLjEgMjUsMjAuOCAyMCwyNS44IDE3LDIyLjggIiBjbGFzcz0iR3JlZW4iIC8+DQo8L3N2
Zz4L
</value>
</data>
</root>

View File

@@ -0,0 +1,356 @@
Imports System.Collections.Concurrent
Imports System.Threading
Imports System.Threading.Tasks
Imports DigitalData.Modules.EDMI.API
Imports DigitalData.Modules.EDMI.API.Constants
Imports DigitalData.Modules.EDMI.API.DatabaseWithFallback
Imports DigitalData.Modules.Logging
Public Class frmAdmin_AppserviceTest
' ── Lasttest-Felder ────────────────────────────────────────────────────
Private _loadClients As List(Of Client) ' Typisiert auf Client statt Object
Private _loadTimer As System.Windows.Forms.Timer
Private _loadLog As New ConcurrentQueue(Of String)
Private _loadCts As CancellationTokenSource
Private _timerTick As Integer = 0
Private LOAD_CLIENT_COUNT As Integer = 10
Private Shared ReadOnly _rnd As New Random() ' ◄ ergänzen
Private Const RECENT_USER_MAX_AGE_MINUTES As Integer = 15 ' ◄ NEU – muss mit Service-Wert übereinstimmen
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click
' Status abrufen
Dim oStatus = _EDMIClient.GetStatus()
If oStatus Is Nothing Then
LOGGER.Warn("GetStatus() returned null. AppService is offline or unreachable.")
Return
Else
LOGGER.Info(oStatus.ToString())
End If
' Einzelne Felder
MemoEdit1.Text = ""
MemoEdit1.Text &= $"Online-Status: {oStatus.IsOnline}" & Environment.NewLine
MemoEdit1.Text &= $"Channel-State: {oStatus.ChannelState}" & Environment.NewLine
MemoEdit1.Text &= $"Anzahl Verbindungen: {oStatus.ActiveConnections}" & Environment.NewLine
MemoEdit1.Text &= $"Cached Tables ({oStatus.CachedTableCount})" & Environment.NewLine
If oStatus.IsOnline And oStatus.ChannelState = "Opened" And oStatus.ActiveConnections > 0 And oStatus.CachedTableCount > 1 Then
lblServiceOnline.Visible = True
lblAppServiceOffline.Visible = False
Else
lblServiceOnline.Visible = False
lblAppServiceOffline.Visible = True
End If
Dim oClients = _EDMIClient.GetAllClientStatus()
MemoEdit1.Text &= "=============== Geöffnete Clients ===============" & Environment.NewLine
For Each oStatus In oClients
MemoEdit1.Text &= oStatus.ToString() & Environment.NewLine
LOGGER.Info(oStatus.ToString())
Next
Dim oStatus2 = _EDMIClient.GetServiceStatus()
If oStatus2 Is Nothing Then
LOGGER.Warn("GetServiceStatus() returned null. AppService is offline or unreachable.")
Return
Else
LOGGER.Info($"ServiceStatus: Sessions={oStatus2.ActiveSessionCount}")
End If
MemoEdit1.Text &= $"Aktive Sessions: {oStatus2.ActiveSessionCount}" & Environment.NewLine
MemoEdit1.Text &= "─────────────────────────────" & Environment.NewLine
MemoEdit1.Text &= "Aktive Benutzer:" & Environment.NewLine
If oStatus2.ActiveUsers IsNot Nothing AndAlso oStatus2.ActiveUsers.Count > 0 Then
For Each oUser In oStatus2.ActiveUsers
MemoEdit1.Text &= $" • {oUser}" & Environment.NewLine
Next
Else
MemoEdit1.Text &= " (keine)" & Environment.NewLine
End If
MemoEdit1.Text &= "─────────────────────────────" & Environment.NewLine
MemoEdit1.Text &= "Sessions (Id → Benutzer):" & Environment.NewLine
If oStatus2.ActiveSessions IsNot Nothing AndAlso oStatus2.ActiveSessions.Count > 0 Then
For Each oPair In oStatus2.ActiveSessions
MemoEdit1.Text &= $" {oPair.Key.Substring(0, Math.Min(8, oPair.Key.Length))}… → {oPair.Value}" & Environment.NewLine
Next
Else
MemoEdit1.Text &= " (keine)" & Environment.NewLine
End If
MemoEdit1.Text &= "─────────────────────────────" & Environment.NewLine
MemoEdit1.Text &= $"Kürzlich aktive Benutzer (letzte {RECENT_USER_MAX_AGE_MINUTES} Min.):" & Environment.NewLine
If oStatus2.RecentUsers IsNot Nothing AndAlso oStatus2.RecentUsers.Count > 0 Then
For Each oRecentUser In oStatus2.RecentUsers
MemoEdit1.Text &= $" • {oRecentUser}" & Environment.NewLine
Next
Else
MemoEdit1.Text &= " (keine)" & Environment.NewLine
End If
MemoEdit1.Text &= "─────────────────────────────" & Environment.NewLine
MemoEdit1.Text &= $"Kürzlich aktive Benutzer (letzte {RECENT_USER_MAX_AGE_MINUTES} Min.):" & Environment.NewLine
If oStatus2.RecentUsers IsNot Nothing AndAlso oStatus2.RecentUsers.Count > 0 Then
For Each oRecentUser In oStatus2.RecentUsers
MemoEdit1.Text &= $" • {oRecentUser}" & Environment.NewLine
Next
Else
MemoEdit1.Text &= " (keine)" & Environment.NewLine
End If
' ── Scheduler-Metriken ───────────────────────────────────────────
MemoEdit1.Text &= "─────────────────────────────" & Environment.NewLine
MemoEdit1.Text &= "Scheduler-Metriken:" & Environment.NewLine
MemoEdit1.Text &= $" Letzter Job: {oStatus2.LastJobName}" & Environment.NewLine
MemoEdit1.Text &= $" Laufzeit: {oStatus2.LastJobDurationMs}ms" & Environment.NewLine
MemoEdit1.Text &= $" Zeitpunkt: {oStatus2.LastJobTimestamp:HH:mm:ss}" & Environment.NewLine
MemoEdit1.Text &= $" Slow Queries: {oStatus2.SlowQueryCount} (> 10s seit Service-Start)" & Environment.NewLine
MemoEdit1.Text &= $" Cache-Alter: {oStatus2.CachedTablesSnapshotAge}s" & Environment.NewLine
If oStatus2.CachedTablesSnapshotAge > 300 Then
MemoEdit1.Text &= " ⚠ Cache ist veraltet – CronJob prüfen!" & Environment.NewLine
End If
If oStatus2.SlowQueryCount > 0 Then
MemoEdit1.Text &= $" ⚠ {oStatus2.SlowQueryCount} langsame Queries aufgetreten!" & Environment.NewLine
End If
End Sub
' ── Nicht-parametrisierte ECM-Selects aus frmMain (für DB-Lasttest) ──
Private Shared ReadOnly _ecmQueries As String() = {
"SELECT * FROM TBPM_KONFIGURATION WITH (NOLOCK) WHERE GUID = 1",
"SELECT * FROM TBDD_CONNECTION WITH (NOLOCK) WHERE AKTIV = 1",
"SELECT CAT_TITLE,CAT_STRING FROM TBDD_CATALOG WITH (NOLOCK)",
"SELECT * FROM TBDD_3RD_PARTY_MODULES WITH (NOLOCK) WHERE ACTIVE = 1",
"SELECT * FROM TBDD_SQL_COMMANDS WITH (NOLOCK)",
"SELECT LANG_CODE FROM TBDD_GUI_LANGUAGE WITH (NOLOCK) WHERE ACTIVE = 1 ORDER BY LANG_CODE",
"SELECT * FROM TBDD_COLUMNS_FORMAT WITH (NOLOCK) WHERE MODULE = 'taskFLOW'",
"SELECT * FROM TBPM_CHART WITH (NOLOCK)",
"SELECT * FROM TBPM_MAIN_VIEW_GROUPS WITH (NOLOCK) WHERE ACTIVE = 1",
"SELECT * FROM TBPM_PROFILE WITH (NOLOCK) WHERE ACTIVE = 1"
}
Private Sub SimpleButton2_Click(sender As Object, e As EventArgs) Handles btnLoadStart.Click
If _loadTimer IsNot Nothing AndAlso _loadTimer.Enabled Then
MessageBox.Show("Lasttest läuft bereits.", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Information)
Return
End If
LOAD_CLIENT_COUNT = CInt(NumericUpDown1.Value)
_loadLog = New ConcurrentQueue(Of String)
_loadCts = New CancellationTokenSource()
_timerTick = 0
btnLoadStart.Enabled = False
btnLoadStop.Enabled = True
btnLoadStop.Visible = True
MemoEdit2.Text = ""
MemoEdit2.Text &= $"[{Now:HH:mm:ss}] Baue {LOAD_CLIENT_COUNT} Verbindungen auf…" & Environment.NewLine
' ► IProgress für thread-sicheres UI-Feedback während des Aufbaus
Dim progress As New Progress(Of String)(Sub(msg)
MemoEdit2.Text &= msg & Environment.NewLine
MemoEdit2.SelectionStart = MemoEdit2.Text.Length
MemoEdit2.ScrollToCaret()
End Sub)
Dim token = _loadCts.Token
Task.Run(
Async Function()
' ► ConcurrentBag ersetzt List(Of Client) + SyncLock beim Hinzufügen
Dim bag As New System.Collections.Concurrent.ConcurrentBag(Of Client)
Dim errors As Integer = 0
Dim options As New ParallelOptions With {
.CancellationToken = token,
.MaxDegreeOfParallelism = Math.Min(LOAD_CLIENT_COUNT, 32) ' ◄ Threadpool schonen
}
Try
Parallel.For(0, LOAD_CLIENT_COUNT, options,
Sub(i)
token.ThrowIfCancellationRequested()
Try
Dim oClientName = $"PerformanceClient_{i + 1}"
Dim oClient = New Client(LOGCONFIG, CONFIG.Config.EDMIAppServer, oClientName)
Dim oConnected = oClient.Connect()
If oConnected Then
bag.Add(oClient)
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Client #{i + 1} verbunden")
Else
oClient.Dispose()
Interlocked.Increment(errors)
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Client #{i + 1} Connect() fehlgeschlagen")
End If
Catch ex As OperationCanceledException
' Abbruch gewünscht – still beenden
Catch ex As Exception
Interlocked.Increment(errors)
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Client #{i + 1} Fehler: {ex.Message}")
End Try
End Sub)
Catch ex As OperationCanceledException
' ◄ Parallel.For selbst kann werfen – abfangen
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Verbindungsaufbau abgebrochen.")
End Try
' ► Erst nach Abschluss: thread-sicher in _loadClients übertragen
Dim connectedClients = bag.ToList()
Me.Invoke(Sub()
' ◄ Zuweisung auf UI-Thread – keine Race Condition
_loadClients = connectedClients
FlushLoadLog()
MemoEdit2.Text &= $"[{Now:HH:mm:ss}] {_loadClients.Count} Clients aktiv, {errors} Fehler" & Environment.NewLine
If _loadClients.Count > 0 Then
StartLoadTimer()
Else
' ◄ Kein einziger Client verbunden → Test nicht starten
MemoEdit2.Text &= $"[{Now:HH:mm:ss}] Kein Client verbunden – Lasttest wird nicht gestartet." & Environment.NewLine
btnLoadStart.Enabled = True
btnLoadStop.Enabled = False
End If
End Sub)
End Function)
End Sub
Private Sub StopLoadTest()
_loadCts?.Cancel()
If _loadTimer IsNot Nothing Then
_loadTimer.Stop()
_loadTimer.Dispose()
_loadTimer = Nothing
End If
' Alle Client-Verbindungen sauber schließen
If _loadClients IsNot Nothing Then
For Each oClient In _loadClients
Try
oClient.Dispose()
Catch
End Try
Next
_loadClients.Clear()
End If
MemoEdit2.Text &= $"[{Now:HH:mm:ss}] Lasttest beendet." & Environment.NewLine
btnLoadStart.Enabled = True
btnLoadStop.Enabled = False
End Sub
' ── Timer für zyklische Lastoperationen ───────────────────────────────
Private Sub StartLoadTimer()
_loadTimer = New System.Windows.Forms.Timer With {.Interval = 5000} ' jede 5 Sekunden
AddHandler _loadTimer.Tick, AddressOf LoadTimer_Tick
_loadTimer.Start()
End Sub
Private Sub LoadTimer_Tick(sender As Object, e As EventArgs)
_timerTick += 1
FlushLoadLog()
Task.Run(Sub()
If _loadClients Is Nothing OrElse _loadClients.Count = 0 Then Return
Dim oSnapshot As List(Of Client)
SyncLock _loadClients
oSnapshot = _loadClients.ToList()
End SyncLock
Parallel.ForEach(oSnapshot,
New ParallelOptions With {
.CancellationToken = _loadCts.Token,
.MaxDegreeOfParallelism = 10
},
Sub(oClient As Client)
Try
Select Case _timerTick Mod 6
Case 0
Dim st = oClient.GetStatus()
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Status: Online={st.IsOnline}, Conn={st.ActiveConnections}")
Case 1
Dim oCachedTables = oClient.GetStatus().CachedTables
If oCachedTables IsNot Nothing AndAlso oCachedTables.Count > 0 Then
Dim sTable As String
SyncLock _rnd
sTable = oCachedTables(_rnd.Next(0, oCachedTables.Count))
End SyncLock
Dim oResult = oClient.GetDatatableByName(sTable)
_loadLog.Enqueue($"[{Now:HH:mm:ss}] GetDatatableByName → {sTable} OK={oResult?.OK} Rows={oResult?.Table?.Rows.Count}")
Else
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Cache leer – kein Tabellen-Zugriff möglich")
End If
Case 2
Dim st = oClient.GetStatus()
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Cached Tables: {st.CachedTableCount}")
Case 3
Dim st = oClient.GetStatus()
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Channel: {st.ChannelState}")
Case 4
' ✅ Direkter ECM-Datenbankzugriff – konkurriert mit Scheduler-Pool
Dim oSQL As String
SyncLock _rnd
oSQL = _ecmQueries(_rnd.Next(0, _ecmQueries.Length))
End SyncLock
Dim oWatch = Stopwatch.StartNew()
Dim oResult = oClient.GetDatatableFromECM(oSQL)
oWatch.Stop()
_loadLog.Enqueue($"[{Now:HH:mm:ss}] ECM-SQL → OK={oResult?.OK} Rows={oResult?.Table?.Rows.Count} [{oWatch.ElapsedMilliseconds}ms] SQL=[{oSQL.Substring(0, Math.Min(50, oSQL.Length))}…]")
Case 5
' ✅ Zweiter ECM-Select mit anderem Client – maximiert Pool-Druck
Dim oSQL As String
SyncLock _rnd
oSQL = _ecmQueries(_rnd.Next(0, _ecmQueries.Length))
End SyncLock
Dim oWatch = Stopwatch.StartNew()
Dim oResult = oClient.GetDatatableFromECM(oSQL)
oWatch.Stop()
_loadLog.Enqueue($"[{Now:HH:mm:ss}] ECM-SQL(2) → OK={oResult?.OK} Rows={oResult?.Table?.Rows.Count} [{oWatch.ElapsedMilliseconds}ms]")
End Select
Catch ex As OperationCanceledException
' Lasttest gestoppt
Catch ex As Exception
_loadLog.Enqueue($"[{Now:HH:mm:ss}] Fehler: {ex.Message}")
End Try
End Sub)
Me.Invoke(Sub() FlushLoadLog())
End Sub)
End Sub
' ── Log-Einträge in ListBox schreiben ─────────────────────────────────
Private Sub FlushLoadLog()
Dim msg As String = Nothing
Dim added As Boolean = False
Dim sb As New System.Text.StringBuilder()
While _loadLog.TryDequeue(msg)
sb.AppendLine(msg)
added = True
End While
If added Then
MemoEdit2.Text &= sb.ToString()
MemoEdit2.SelectionStart = MemoEdit2.Text.Length
MemoEdit2.ScrollToCaret()
End If
End Sub
' ── Aufräumen beim Schließen ──────────────────────────────────────────
Private Sub frmAdmin_AppserviceTest_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
StopLoadTest()
End Sub
Private Sub btnLoadStop_Click(sender As Object, e As EventArgs) Handles btnLoadStop.Click
StopLoadTest()
End Sub
Private Sub frmAdmin_AppserviceTest_Load(sender As Object, e As EventArgs) Handles Me.Load
End Sub
End Class

View File

@@ -40,6 +40,7 @@ Partial Class frmAdmin_notResponsibleConfig
Me.Label2 = New System.Windows.Forms.Label() Me.Label2 = New System.Windows.Forms.Label()
Me.Label9 = New System.Windows.Forms.Label() Me.Label9 = New System.Windows.Forms.Label()
Me.cmbAttrComment = New System.Windows.Forms.ComboBox() Me.cmbAttrComment = New System.Windows.Forms.ComboBox()
Me.checkCommentMuss = New System.Windows.Forms.CheckBox()
CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit() CType(Me.RibbonControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout() Me.SuspendLayout()
' '
@@ -193,11 +194,22 @@ Partial Class frmAdmin_notResponsibleConfig
Me.cmbAttrComment.Size = New System.Drawing.Size(295, 24) Me.cmbAttrComment.Size = New System.Drawing.Size(295, 24)
Me.cmbAttrComment.TabIndex = 106 Me.cmbAttrComment.TabIndex = 106
' '
'checkCommentMuss
'
Me.checkCommentMuss.AutoSize = True
Me.checkCommentMuss.Location = New System.Drawing.Point(548, 259)
Me.checkCommentMuss.Name = "checkCommentMuss"
Me.checkCommentMuss.Size = New System.Drawing.Size(208, 17)
Me.checkCommentMuss.TabIndex = 110
Me.checkCommentMuss.Text = "Begründung muss eingetragen werden"
Me.checkCommentMuss.UseVisualStyleBackColor = True
'
'frmAdmin_notResponsibleConfig 'frmAdmin_notResponsibleConfig
' '
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(778, 340) Me.ClientSize = New System.Drawing.Size(778, 340)
Me.Controls.Add(Me.checkCommentMuss)
Me.Controls.Add(Me.Label9) Me.Controls.Add(Me.Label9)
Me.Controls.Add(Me.cmbAttrComment) Me.Controls.Add(Me.cmbAttrComment)
Me.Controls.Add(Me.txtPROFILE_NOT_RESPONSIBLE_QUEST) Me.Controls.Add(Me.txtPROFILE_NOT_RESPONSIBLE_QUEST)
@@ -236,4 +248,5 @@ Partial Class frmAdmin_notResponsibleConfig
Friend WithEvents Label2 As Label Friend WithEvents Label2 As Label
Friend WithEvents Label9 As Label Friend WithEvents Label9 As Label
Friend WithEvents cmbAttrComment As ComboBox Friend WithEvents cmbAttrComment As ComboBox
Friend WithEvents checkCommentMuss As CheckBox
End Class End Class

View File

@@ -117,47 +117,49 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <assembly alias="DevExpress.Data.v25.2" name="DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMICAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AMICAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4 LkJsYWNre2ZpbGw6IzczNzM3NDt9CgkuWWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57Zmls
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh bDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBI NzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tkaXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0
OFY0SDVDNC40LDQsNCw0LjQsNCw1djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFW O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBIOFY0SDVDNC40LDQsNCw0LjQsNCw1
NUMyOCw0LjQsMjcuNiw0LDI3LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHog djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFWNUMyOCw0LjQsMjcuNiw0LDI3
TTE0LDEwaC0yVjZoMlYxMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs= LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHogTTE0LDEwaC0yVjZoMlYx
MHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="btnNotResponsibleSQL.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="btnNotResponsibleSQL.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOwDAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AOwDAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC LkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDoj
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh RDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFT V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
b3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0 NzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFTb3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00
YzAsMi4yLTQuNSw0LTEwLDRTNCwxMi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwx LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRTNCwx
OCAgIEMyNCwxOCwyNCwxOCwyNCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQu Mi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwxOCAgIEMyNCwxOCwyNCwxOCwy
NSw0LTEwLDRTNCwxNC4yLDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44 NCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQuNSw0LTEwLDRTNCwxNC4y
ICAgYy0xLjcsMC41LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQs LDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44ICAgYy0xLjcsMC41
MTAsNEMxNC40LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGgg LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQsMTAsNEMxNC40
ZD0iTTI5LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEs LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGggZD0iTTI5
MC0xLjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEsMC0x
LjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo
NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value> </value>
</data> </data>
@@ -165,72 +167,74 @@
<data name="SimpleButton1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="SimpleButton1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABV0RVh0VGl0 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABV0RVh0VGl0
bGUATmV4dDtBcnJvdztEb3duKXvBAwAACnFJREFUWEeVVgdUlUcWHnfTdlNxk3WTmD0REXDFBoIUYekP bGUATmV4dDtBcnJvdztEb3duKXvBAwAACqBJREFUWEeNlwdYVFcWx4+buptsEtxk3SRmv4gIKCoCihRh
sGIBUaOoFHvDREMRERQQEOmIYDdqYqICFoogKErUJJIISi8qqKEpSs9+uXceDzWb3T0753xn5p+5937f GdogKoIFRI2iUuwNEw2ogKCAgEhHpIglamIHpA0gKEjUJJgI6sDQixCa9GL2n+/eeUMmbp3v+3/3vfvu
vVPeE/7JViJgr7UIPGAjgg/bitAjtiLsS4WI+FohIk8qRFSqQsSk24m403Yi/py9oDbgvyHmjI3YmW4l Ped3zj33znvkk2hBfimW5H/aigLPWVPweWsK+VpMYZfFFH5NTBE3xBSVbkMxGTYUmzWfiGjcf1PUTSs6
Ik9ZivBvLETIV+Zi21EzseWwqfDfbyJ8U0zE57uMxGfxhmRObVOypbj3dK+of7pPNLTvF/c7Dkg86DhI nm5B4dfNKfSKiIK+MaMjF0zp0DkT8kk1pv1JxvTlCUP6ItaA2SI6mGhOTf0p1Nx/iloGUunZ4Gmu1sEz
OCQedh5iMxXBHwh/JLxEePk34DkGr7PdgHtPD4q7Tw+IO0/2i9q2faLm8R5R/ShFVLbuFuvjx5MJNd/d 1Dp4ltqGzio7/QMRvUJErxLRay+J9TGx52zcuKb+M9TYf5oa+lKprvcU1fYkU83zJJJ1n6Q9sXPlAPtP
FmS0Rwqob1eKaJAiDvKyiliSBh+20I1KtdkSl2FbkJBl+31itqI3KUfRG59h/UPcOevLO05YBPnvMRlH iqixP5kDNA/IIVo4xBllx9xp4DmRbsQNq0Mx2dbFcbnW38dLxC8S8sUvYrMtf4jJsiw5dlUU4JNsPJuI
tq+wPUEKudNGAh7vE9UqAS3JYn2cAS1R800yJ4XJ4u6TFKoECWmnahCoqTJ+OeSIuVNUunXZnlxHnC/x XhdgOEhDbyrV9ZyiGgVAVyLtidEXABLMqKEvkRr7kqiJgQykcClF/FrQeTPHiHRLaXKBA/IqPPHoWSik
ws374ShrjMaDjsMSZY0xNBeGrOK1SD4/FRGnzMsCDhjPJd9XCVJIbR95VWuyqGhJEl6xfQK8E81EXVsi 7ZFoHTzHJW2PwqNnIcgt34XEvMUIu24m9TtttIqI3lCA1AnOq7sTqaorgTyjBQCveFOq742nhr4T1NiX
idhFIpJIxG6elllvjDUcGnbcovBgnjN+qg9FfftuVD7ajpImfxQ3+eDGw3X44eFa/NToTfBFeUso7jzZ QE39JxXOX9kXbTA55JKo9EyhE35qDkbzwEnInh9FRYcPyju8Uda2Gz+07cJP7V74qX0/KruC0dB3Eg+b
jSKy3X9hFrYeM7nq5q+jTbG4IrIalS27REVzolgXq0+f1DYmmNDexNEexZOQBJ5i8pe8k4xttn9l0Zx7 g5F6azkOXzS+5+ozXVPICM+GrOsEVXXG0+7oOXKAfXHGVNsTQ3W9sVTfG6dw/qpXgpHV0W9EnQWPP0dt
61PUtEWh6OeNuHZ/Ba4/YKyU+O4hj5fj2oNl+LZhKa7UL8Hlex643rAO5a07kXXTC1uPTmheFTHWgWJy bwQe/rwP959txYNWpm1c37Wx6y2437oZ37Zswt3mjShpcseDlt2o7D6O3EeeOHxhXuf2MB1bIRscQtoZ
NaSIsuZ4sTZaj4bUPoszElWPo0hENH9K8g0x423Dj1t1Xa/djJuNPrhCQQvrCQ2eROSJq/eVvQqFDR5E S7si9eQAX8QYUnVPBNX2RI453xs11zr0ksXwgzpfPGr3xt0md5Q2u6O0xQPftnjg3jN5q1BpizvuNruh
7o6Ce4tx8c5C5NctQG7NfHzfsAGFVZux7YhZ97KQUf0iSptixeooXeYTYm2Uvqh8FMFDWXbPwNHagYdM uGkDbjesQ1H9WhTUrsH3LXtRWu2LI+dNRzYHzRyDeNoRTTsidOUAuyLmkOx52FjaPfy1Nf3PmrTfr/PG
G6/V+uDb+hW4dMdVouDuQiJYhMv1C58Dfd/jebIh5N+Zjwt185BTOxfnq1yQWemMvBoSV7kJfnsNm5zX t81bcafBhau4cR2Km9ajpHmdktajpIn1u+BOkwuKGtbgVv1q5NetQl61M3JkTiisdcdd2UEcSDHocNqp
aI4kDrkdqyLHMqcQ7sE6oqw1hIdcnle8kwwun73B5fRETo0LLtTOQR4FzKubi4t35xE+wfwtw2C0YCCM PkOxHNvDdeQAboHTSdodxC5Zel73StAvySxj6fRAfq0zbtWtRGHdKhTWr8LtxtW43fgZ1hyaAsO142G0
FzLehomrGlyDNJFb54Lz5JNd7YyMylk4Vz4Tp8sckVO9CKe+W451MWMLieMNAh9MTliIT/yHcydLvzp8 juldGLuowCVAHQX1zsirdYakxgnZsuXIqlyGDKkD8mvW4/p3W7A7SqeUiN4WCpMFTPSZz9Sx1O8InbUq
zNzwr2xwtWE1MqtmIItwvnqWRE6NE2XmRCTOMFn0DqrrHqDmzkPZV9Y8gOlCNSKeRVnPJPLpOFvuiPSy 9Bsr3GvZgZzqpcitXoq8muVc+bWOyK9zREG9E4zXv4ea+lbUNrTxVlbbCpN1KpDULEeObBmyZUuQWemA
KUi7PQUnSibhUu1KBH9hDVf/4QuJ6zUCJyzEvE1a3PHHq16xemXZJUtxrmI6zpRPwdmKKRRsGgmZhsxq dKkd0p7Y4WrFQtyp24bAryzh4jN1HRG9KQRMtPqghiL6Nzyj9aSSik3IqlqCm5V2yKyyQ7bMHrnV9sip
R+qnE8l0mLqrobunBz29vbLv6OqRc+cqHclnKk6Tb1rpZKTenkjk9jh+U4FviifiTNFyrIgYVUFcbxH6 cUBu9RJIapbAxE0FI6OjGH3xgreDw6O8L0vmgMyqxciotEPa00W48WQBrlbMx6VHYlwpX4CbD7dga9jM
qyCzd/LSsAvYZ0bldkXqLTukldlRBg5UwokUcBKJIlROljD3UEMnEXf19KKruxedJOCfNMd26WSfWuqA KiJ6RzkLPHpHTzUbv1OmKKxzwY3HNkiT2iBdaosM6QJkVC5EVtVCZMkWcZm5q2BodBTDoy8wPPICQ8Oj
U7fs8XWxgshtcexHaxy5YYWM8gXw22OGacvUpxCn6lZIAa+4fK4ZGZvmRIa25GhFyq1x8rYNThHSymwJ +Ie7Ch+XLl2AG09tcf3xfFwuF+PSI2tc/NES58sskF25FgeSTWG/WdVOaVdwgNedv1QPj05zxPkya1wu
CiKwI0EOsFxKAoi0s1uZfXtnj5xLvW2Hk7co2xIiLrbFlzetcfRHS3xRZIlD35nj4HUbxKc7YfYGzVji t8DVCktce2KF60+skCa1RppUjIxKG2RIbWG+SYU7HRqRRz8wNMr7bjyxwbXHYlypEONSuTW+fmSJCz+a
fJ3AL6xU8docH62ClFwnxF40RkKBEQkxJyEWcN40GBaearBapgbr5X1YMRBPO7rxtJNA/RMCz1sxSIgF 46uH5jj7nRnOPLBCbLojVuxVjyait4QTllO8udJbozipwBHRt40QV2yI82VmuFwugtPBiRB5qMBiswos
wZx8Zvp8iMMUZ/81MyRcoriXJmBv3mwQFx9G3oZ+AX928dFq3FswHdEXDLAzTx8xeeORdNkY+wsmY+ba twjaOh79gyPoHxrhbd/gCO+3YNqkAtEmFZh5qGCZ98c4V2aG1PumiLtjhLg785BSuAIrvTVYMbJlGAP4
MSivqkVpVQNuVdTjdmUD2tq7JB4/VaKkogEl5co1tp2xTg8p+ZNkjLh8I8TkjycYYt+VGZjnp91EnGoE k7O3RntK8RJE3tLH8cI5iCqci4QSI6QWL8KyXbNQWV2Hp9UteFzVjCeyFvQODHP19MtVUdWCikr5MzZ2
PgdSxeuzvbW6k6/YIyJXF5G54/pFJBaYIuALU2yKd0fvL/9C65MutLR1orWti8bUE/i75XEnmh51SZuA 6W49JBUt5DZiigwRVTQXUUUGOHV3KVYf0OwgIhWhDjjFWyu8NEYS785HWIEuwgtmj0HEF5vA7ysTHIx1
hCXYfMiUyM0Qd9FQkkdd0MeOXH3sKZyIub7a3cQ5kMC/olLAG84btbrjL5oj/LwuduToSRFRVI3oPAMk w4tf/onuvmF09Q6hu3cY3X1DXOy+q2cIHc+H+Ri/uI3wPWuChBJTxNw24M4jbs3BsYI5SC5dgFX7NUeI
F1phQZA2MgqO08H7BT+3dqCZCJsfd6DxERN34OeWDnkgs66cwPxALSKylhlHkT/H4XgRObq0DRZwoWSJ aLzwL8oB3nbapzESe9sMoXm6OJavxyEibukjslAfiaUWWBugieziSxge/QU/dw+is2cInT2DaH/OHA/i
8y8vCJj5qWbjjiwTEjAWEdl9IhgXxilFXLbDNC913L1fjSftPXjY0k7owIPmDtm3tXej/mEd2WggpcBe 565BXpC5d69ijb8GkkstecQRhfrcDrMXlq+LuDsiOHtpMIC//A5g2efq7cdyjRGap4MwiQDBdGu2HKLE
+nDW7M9xmJwRmT0BThs0eQv6BfAZeN1x1bDL274xRniWLsIyxyAse4zSgZx35OrJLCLSLeEWaC3vPmfe Bvaeqmh8VoO+gVG0dQ2grWsQrZ2DvO0dGEFzWz3sPdWQVDyfz2FRs/nMDnPOFC6ZB8e96mwJxgBYDbzl
0NSOhsZ2OeY5zyAFwtMs5dbtpIxVWTM43g5KLPiECRxXaVwlzv4zwAL+5LBEPXpjyngy1EVo5miEZo+W sH1KyZErRgjN1UVIziyESGbJJ+Tr4ViBHo8iLN0crv6WfO+zyFs6BtDSPsCvWZ9HgBihaeZ86Y4XzB6L
TrIifdsSm2+MtYm62H1iGxH+gnoirycRPE45GYI1CWNpzycoRTPIj/3Ds8dSUqNprIfP9xjCwX1IInG+ monZOybRReBVYzhsV7unXAMM4I+2G1Uj9yXNRYhEF8E52giWaPNJPCPCskQXGWFXvC5OXj2CkdFf0Nw+
cAtetXD5aMrCLaPIeBxCzo1ESMZIhGaM6q+GDERILLDAHH91XL+VT1ewR+L70gI4+w3BLlpT2THYjxMJ gOaOAX6ddC0IO+N0EHN7nhyaKU+Xzw+V6CAkRxuheXr4MtkAtm6T4l/eBW+InD+xW3doJkIlsxGUNQNB
zRwlY0VQ7EWBo2A6a7AzcfI7wNzKl5Dw9uRlQyv9jo6WAoLP6cieHTnAdspge19VYs7TQfIdjUdPWiXm 2TMQnD1zLBvcUJ4O4otFWOmjigePi9A/OMr1/dNiOB2YhBPForFxTGweCyQ4Zya3FSaZjfX+M2GyfKKT
+ekiOtOC1p6Rsn1IBpGTvyqO37ExmLJCo5q4/krgl3CAcFgylHrlW0BVcJ/nPwLbM8Zi65kR2HZ2hBQS cA6MHUQsFe8u2jxZduCCNgcIzJrOWzaRGTiao42jQlai8kRw3q+N533dXKsP6CIyR4QQFqnglI0Pytbm
rBLSJyYsWw+BXxrBN2EuNu36BAHHjKhyenJ9u8qOk6AqBp/VkXHCKOb8zSNg5jR4OXGpyj9A2HuqUy+r 8xV2DlycBbutajVE9FfhJBxHthsnj50FIudP3Fb7aOFotg4O39TCkUwtDhKoABFgQiR68P/aEPvjVuHg
wCfyHQdP9Wtrdo0gASOliK3k/EyIsiosaGfOeHju1IZnpBbtuaEkk1sn15WkzzASa5NGgGLfII5n2XNT ic/gd9EQoRI9/vyoYhwLInsGAjOnczsh2TpY46sFU8eJW5TSP47me6gqssAq8j1bD9X7O09o4fDNGRzi
uKuLs7eW8FAexjHWgwwnrxzW7H1kBIJIQNDpf8heVuQ5QYz4PDPE55thmyR8Rsq2Kp+gMzrwPqqDqSuG cKYyiDwrDOh4/lx4HNeER7gGwvMNuDO+dEL22JzfNAO7ErRg66Fa9rvo2U/spkqZjzeOFeMsywkGi7ZN
tuiYvWtGHPx/QJk9N4Wbukgv9hBpxW78yWfhDcOpH86Ytlqje/1+LWxJH04gEaeHK8UQAk+zsBeJGHK+ 6fQ6r4WAm1oIyJjGW54RJSCm2EJTxBaZ4gh3+JtTNlYxJ+DmdHhdmI7FWyd3TTd931R4H5BHzwFcVSm9
by6Q7NiPYziu0ejWn/S+C8V+h8CVHqDwkJX/NwGqrXjLYPIHsyYuHdq6PF6zT4QSgSTkRbAgAq/T9/O2 3J3Syl3ZLauFtw0Wf7zUfofayJ5UDRxKn4pD6dMQkDFVDpMxDf4ZDOz3jph4v9DnnzGNz2M2HHaqjcxZ
KxI0MWmpxiN9+/fnUEx+evnv2IA04lO4ybOnEuD2vACViDeHG71rYLv44x+cvDWw/qAWNlPQgHRtBKRR +KEzy7CQ6XFid575fwFQLMU7+os+Wr5g0+TuLbHqAoRc/hkviwFNgz97nvHbOKatcepYuEnt+Zz5H64U
T+BvJuJ+83NzbOvsMwy2i4YUaRoMNKZYnLkkZzAX88rGA55gsBBqKhG8HXxX3zOc9uFyxeIhtY5eQ7E4 jl72OjYurdydxK689hQArsoACog/TzV8X996w6c/OHqpYc8ZDfimT4Vfuib80qZysXvmiLW+Sn1srJP3
TAPr9mpiwyEt+KdpY3OqNjYc1sK6fVpwozVHeooVi9XrDKcOXkm+fyO8SZBlZ6h4fiPAo68KvBUePK0S FFivn/RQXX+8kRA5dy4HcOV+xwBYBxMDUYJgy8H26gcG9h9vEW+YVOfgORkbQtSwO0Ude89qwCdNE743
wYeFTyxfm0FjrAZNNp399zgr1yFF1q4fl9IBBsPGdUiplevHRaazP4ofbTloKtm+T+Cs+b8fJ9JP/rsC NLH3nAZ2n9KAa4gaHDzVIN6gWm+weOI2IvobC0SRdoVz5uclAHchC2wp3JUhWLGwimXbZsIsiwmLTFb8
/hOoPS+ES8gV4cDvETi7D/rAY75e/L7zKWfR/cS/F5vx/zSVEL6qHJhLyoKYiMFjnuM1tlHZ/48mxK89 PcbCZdJDS5dPn4rdVMFk5TLpqYXLpw9NVnwSq20+YTERfShEzd79FK9e3Pm/BfhPegmEpZBlhBn+QIju
+oEotzUUCQAAAABJRU5ErkJggg== I0Hsmm0vdr6zKld8kvH5L9tVsv9//xQgbKsqvowZEHPExK4VX8j860fQ//z9Cj36gSjD0TzyAAAAAElF
TkSuQmCC
</value> </value>
</data> </data>
<data name="frmAdmin_notResponsibleConfig.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="frmAdmin_notResponsibleConfig.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAQDAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AAQDAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
Qmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZG LkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6
QjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjQsMjQu V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
OFYyOEg0VjRoMjB2Ny4ybDItMlYzYzAtMC41LTAuNS0xLTEtMUgzQzIuNSwyLDIsMi41LDIsM3YyNmMw NzU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjQsMjQuOFYyOEg0VjRoMjB2Ny4ybDItMlYzYzAt
LDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0xdi02LjIgIEwyNCwyNC44eiIgY2xhc3M9IkJs MC41LTAuNS0xLTEtMUgzQzIuNSwyLDIsMi41LDIsM3YyNmMwLDAuNSwwLjUsMSwxLDFoMjJjMC41
YWNrIiAvPg0KICA8cGF0aCBkPSJNMjksMTdsLTgsOGwtNC00bDgtOEwyOSwxN3ogTTMwLDE2bDEuNy0x LDAsMS0wLjUsMS0xdi02LjIgIEwyNCwyNC44eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8cGF0aCBk
LjdjMC40LTAuNCwwLjQtMSwwLTEuM0wyOSwxMC4zYy0wLjQtMC40LTEtMC40LTEuMywwTDI2LDEyTDMw PSJNMjksMTdsLTgsOGwtNC00bDgtOEwyOSwxN3ogTTMwLDE2bDEuNy0xLjdjMC40LTAuNCwwLjQt
LDE2eiAgIE0xNiwyMnY0aDRMMTYsMjJ6IiBjbGFzcz0iQmx1ZSIgLz4NCjwvc3ZnPgs= MSwwLTEuM0wyOSwxMC4zYy0wLjQtMC40LTEtMC40LTEuMywwTDI2LDEyTDMwLDE2eiAgIE0xNiwy
MnY0aDRMMTYsMjJ6IiBjbGFzcz0iQmx1ZSIgLz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
</root> </root>

View File

@@ -0,0 +1,237 @@
<?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>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBI
OFY0SDVDNC40LDQsNCw0LjQsNCw1djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFW
NUMyOCw0LjQsMjcuNiw0LDI3LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHog
TTE0LDEwaC0yVjZoMlYxMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="btnNotResponsibleSQL.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOwDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFT
b3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0
YzAsMi4yLTQuNSw0LTEwLDRTNCwxMi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwx
OCAgIEMyNCwxOCwyNCwxOCwyNCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQu
NSw0LTEwLDRTNCwxNC4yLDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44
ICAgYy0xLjcsMC41LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQs
MTAsNEMxNC40LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGgg
ZD0iTTI5LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEs
MC0xLjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo
NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="SimpleButton1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAABV0RVh0VGl0
bGUATmV4dDtBcnJvdztEb3duKXvBAwAACqBJREFUWEeNlwdYVFcWx4+buptsEtxk3SRmv4gIKCoCihRh
GdogKoIFRI2iUuwNEw2ogKCAgEhHpIglamIHpA0gKEjUJJgI6sDQixCa9GL2n+/eeUMmbp3v+3/3vfvu
Ped3zj33znvkk2hBfimW5H/aigLPWVPweWsK+VpMYZfFFH5NTBE3xBSVbkMxGTYUmzWfiGjcf1PUTSs6
nm5B4dfNKfSKiIK+MaMjF0zp0DkT8kk1pv1JxvTlCUP6ItaA2SI6mGhOTf0p1Nx/iloGUunZ4Gmu1sEz
1Dp4ltqGzio7/QMRvUJErxLRay+J9TGx52zcuKb+M9TYf5oa+lKprvcU1fYkU83zJJJ1n6Q9sXPlAPtP
iqixP5kDNA/IIVo4xBllx9xp4DmRbsQNq0Mx2dbFcbnW38dLxC8S8sUvYrMtf4jJsiw5dlUU4JNsPJuI
XhdgOEhDbyrV9ZyiGgVAVyLtidEXABLMqKEvkRr7kqiJgQykcClF/FrQeTPHiHRLaXKBA/IqPPHoWSik
7ZFoHTzHJW2PwqNnIcgt34XEvMUIu24m9TtttIqI3lCA1AnOq7sTqaorgTyjBQCveFOq742nhr4T1NiX
QE39JxXOX9kXbTA55JKo9EyhE35qDkbzwEnInh9FRYcPyju8Uda2Gz+07cJP7V74qX0/KruC0dB3Eg+b
g5F6azkOXzS+5+ozXVPICM+GrOsEVXXG0+7oOXKAfXHGVNsTQ3W9sVTfG6dw/qpXgpHV0W9EnQWPP0dt
bwQe/rwP959txYNWpm1c37Wx6y2437oZ37Zswt3mjShpcseDlt2o7D6O3EeeOHxhXuf2MB1bIRscQtoZ
S7si9eQAX8QYUnVPBNX2RI453xs11zr0ksXwgzpfPGr3xt0md5Q2u6O0xQPftnjg3jN5q1BpizvuNruh
uGkDbjesQ1H9WhTUrsH3LXtRWu2LI+dNRzYHzRyDeNoRTTsidOUAuyLmkOx52FjaPfy1Nf3PmrTfr/PG
t81bcafBhau4cR2Km9ajpHmdktajpIn1u+BOkwuKGtbgVv1q5NetQl61M3JkTiisdcdd2UEcSDHocNqp
PkOxHNvDdeQAboHTSdodxC5Zel73StAvySxj6fRAfq0zbtWtRGHdKhTWr8LtxtW43fgZ1hyaAsO142G0
juldGLuowCVAHQX1zsirdYakxgnZsuXIqlyGDKkD8mvW4/p3W7A7SqeUiN4WCpMFTPSZz9Sx1O8InbUq
9Bsr3GvZgZzqpcitXoq8muVc+bWOyK9zREG9E4zXv4ea+lbUNrTxVlbbCpN1KpDULEeObBmyZUuQWemA
dKkd0p7Y4WrFQtyp24bAryzh4jN1HRG9KQRMtPqghiL6Nzyj9aSSik3IqlqCm5V2yKyyQ7bMHrnV9sip
cUBu9RJIapbAxE0FI6OjGH3xgreDw6O8L0vmgMyqxciotEPa00W48WQBrlbMx6VHYlwpX4CbD7dga9jM
KiJ6RzkLPHpHTzUbv1OmKKxzwY3HNkiT2iBdaosM6QJkVC5EVtVCZMkWcZm5q2BodBTDoy8wPPICQ8Oj
+Ie7Ch+XLl2AG09tcf3xfFwuF+PSI2tc/NES58sskF25FgeSTWG/WdVOaVdwgNedv1QPj05zxPkya1wu
t8DVCktce2KF60+skCa1RppUjIxKG2RIbWG+SYU7HRqRRz8wNMr7bjyxwbXHYlypEONSuTW+fmSJCz+a
46uH5jj7nRnOPLBCbLojVuxVjyait4QTllO8udJbozipwBHRt40QV2yI82VmuFwugtPBiRB5qMBiswos
twjaOh79gyPoHxrhbd/gCO+3YNqkAtEmFZh5qGCZ98c4V2aG1PumiLtjhLg785BSuAIrvTVYMbJlGAP4
k7O3RntK8RJE3tLH8cI5iCqci4QSI6QWL8KyXbNQWV2Hp9UteFzVjCeyFvQODHP19MtVUdWCikr5MzZ2
6W49JBUt5DZiigwRVTQXUUUGOHV3KVYf0OwgIhWhDjjFWyu8NEYS785HWIEuwgtmj0HEF5vA7ysTHIx1
w4tf/onuvmF09Q6hu3cY3X1DXOy+q2cIHc+H+Ri/uI3wPWuChBJTxNw24M4jbs3BsYI5SC5dgFX7NUeI
aLzwL8oB3nbapzESe9sMoXm6OJavxyEibukjslAfiaUWWBugieziSxge/QU/dw+is2cInT2DaH/OHA/i
565BXpC5d69ijb8GkkstecQRhfrcDrMXlq+LuDsiOHtpMIC//A5g2efq7cdyjRGap4MwiQDBdGu2HKLE
Bvaeqmh8VoO+gVG0dQ2grWsQrZ2DvO0dGEFzWz3sPdWQVDyfz2FRs/nMDnPOFC6ZB8e96mwJxgBYDbzl
sH1KyZErRgjN1UVIziyESGbJJ+Tr4ViBHo8iLN0crv6WfO+zyFs6BtDSPsCvWZ9HgBihaeZ86Y4XzB6L
monZOybRReBVYzhsV7unXAMM4I+2G1Uj9yXNRYhEF8E52giWaPNJPCPCskQXGWFXvC5OXj2CkdFf0Nw+
gOaOAX6ddC0IO+N0EHN7nhyaKU+Xzw+V6CAkRxuheXr4MtkAtm6T4l/eBW+InD+xW3doJkIlsxGUNQNB
2TMQnD1zLBvcUJ4O4otFWOmjigePi9A/OMr1/dNiOB2YhBPForFxTGweCyQ4Zya3FSaZjfX+M2GyfKKT
cA6MHUQsFe8u2jxZduCCNgcIzJrOWzaRGTiao42jQlai8kRw3q+N533dXKsP6CIyR4QQFqnglI0Pytbm
8xV2DlycBbutajVE9FfhJBxHthsnj50FIudP3Fb7aOFotg4O39TCkUwtDhKoABFgQiR68P/aEPvjVuHg
ic/gd9EQoRI9/vyoYhwLInsGAjOnczsh2TpY46sFU8eJW5TSP47me6gqssAq8j1bD9X7O09o4fDNGRzi
cKYyiDwrDOh4/lx4HNeER7gGwvMNuDO+dEL22JzfNAO7ErRg66Fa9rvo2U/spkqZjzeOFeMsywkGi7ZN
6fQ6r4WAm1oIyJjGW54RJSCm2EJTxBaZ4gh3+JtTNlYxJ+DmdHhdmI7FWyd3TTd931R4H5BHzwFcVSm9
3J3Syl3ZLauFtw0Wf7zUfofayJ5UDRxKn4pD6dMQkDFVDpMxDf4ZDOz3jph4v9DnnzGNz2M2HHaqjcxZ
+KEzy7CQ6XFid575fwFQLMU7+os+Wr5g0+TuLbHqAoRc/hkviwFNgz97nvHbOKatcepYuEnt+Zz5H64U
jl72OjYurdydxK689hQArsoACog/TzV8X996w6c/OHqpYc8ZDfimT4Vfuib80qZysXvmiLW+Sn1srJP3
FFivn/RQXX+8kRA5dy4HcOV+xwBYBxMDUYJgy8H26gcG9h9vEW+YVOfgORkbQtSwO0Ude89qwCdNE743
NLH3nAZ2n9KAa4gaHDzVIN6gWm+weOI2IvobC0SRdoVz5uclAHchC2wp3JUhWLGwimXbZsIsiwmLTFb8
PcbCZdJDS5dPn4rdVMFk5TLpqYXLpw9NVnwSq20+YTERfShEzd79FK9e3Pm/BfhPegmEpZBlhBn+QIju
I0Hsmm0vdr6zKld8kvH5L9tVsv9//xQgbKsqvowZEHPExK4VX8j860fQ//z9Cj36gSjD0TzyAAAAAElF
TkSuQmCC
</value>
</data>
<data name="frmAdmin_notResponsibleConfig.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAQDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
Qmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZG
QjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjQsMjQu
OFYyOEg0VjRoMjB2Ny4ybDItMlYzYzAtMC41LTAuNS0xLTEtMUgzQzIuNSwyLDIsMi41LDIsM3YyNmMw
LDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0xdi02LjIgIEwyNCwyNC44eiIgY2xhc3M9IkJs
YWNrIiAvPg0KICA8cGF0aCBkPSJNMjksMTdsLTgsOGwtNC00bDgtOEwyOSwxN3ogTTMwLDE2bDEuNy0x
LjdjMC40LTAuNCwwLjQtMSwwLTEuM0wyOSwxMC4zYy0wLjQtMC40LTEtMC40LTEuMywwTDI2LDEyTDMw
LDE2eiAgIE0xNiwyMnY0aDRMMTYsMjJ6IiBjbGFzcz0iQmx1ZSIgLz4NCjwvc3ZnPgs=
</value>
</data>
</root>

View File

@@ -21,12 +21,18 @@ Public Class frmAdmin_notResponsibleConfig
End Sub End Sub
Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick Private Sub BarButtonItem1_ItemClick(sender As Object, e As DevExpress.XtraBars.ItemClickEventArgs) Handles BarButtonItem1.ItemClick
Dim oUpd = $"UPDATE TBPM_PROFILE SET NOT_RESP_SQL = '{oNotResponsible_SQL.Replace("'", "''")}',NOT_RESP_COMMENT_ATTRIBUTE = '{cmbAttrComment.Text}', CHANGED_WHO = '{User.UserName}' WHERE GUID = {oProfilID}" Dim oUpd = $"UPDATE TBPM_PROFILE SET NOT_RESP_COMMENT = '{checkCommentMuss.Checked}', NOT_RESP_SQL = '{oNotResponsible_SQL.Replace("'", "''")}',NOT_RESP_COMMENT_ATTRIBUTE = '{cmbAttrComment.Text}', CHANGED_WHO = '{User.UserName}' WHERE GUID = {oProfilID}"
If DatabaseECM.ExecuteNonQuery(oUpd) = True Then If DatabaseECM.ExecuteNonQuery(oUpd) = True Then
oUpd = $"EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM','PROFILE_NOT_RESPONSIBLE_QUEST{oProfilID}','{USER_LANGUAGE}','PROFILE_NOT_RESPONSIBLE_QUEST','{txtPROFILE_NOT_RESPONSIBLE_QUEST.Text}','','{USER_USERNAME}','{oProfilID}',0" oUpd = $"EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM','PROFILE_NOT_RESPONSIBLE_QUEST{oProfilID}','{USER_LANGUAGE}','PROFILE_NOT_RESPONSIBLE_QUEST','{txtPROFILE_NOT_RESPONSIBLE_QUEST.Text}','','{USER_USERNAME}','{oProfilID}',0"
LOGGER.Debug($"oUpd: {oUpd}")
If DatabaseECM.ExecuteNonQuery(oUpd) Then If DatabaseECM.ExecuteNonQuery(oUpd) Then
oUpd = $"EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM','PROFILE_REJECTION_CAPT{oProfilID}','{USER_LANGUAGE}','PROFILE_REJECTION_CAPT','{txtCaption_NotResponsible.Text}','','{USER_USERNAME}','{oProfilID}',0"
bstitmInfo.Caption = "Data saved successfully - " + Now.ToString oUpd = $"EXEC PRDD_GUI_LANGUAGE_PHRASE 'PM','PROFILE_NOT_RESPONSIBLE_CAPT{oProfilID}','{USER_LANGUAGE}','PROFILE_NOT_RESPONSIBLE_CAPT','{txtCaption_NotResponsible.Text}','','{USER_USERNAME}','{oProfilID}',0"
If DatabaseECM.ExecuteNonQuery(oUpd) Then
bstitmInfo.Caption = "Data saved successfully - " + Now.ToString
LOGGER.Debug($"oUpd: {oUpd}")
End If
End If End If
@@ -38,10 +44,11 @@ Public Class frmAdmin_notResponsibleConfig
Private Sub frmAdmin_notResponsibleConfig_Load(sender As Object, e As EventArgs) Handles Me.Load Private Sub frmAdmin_notResponsibleConfig_Load(sender As Object, e As EventArgs) Handles Me.Load
Try Try
Dim oNR_Act_Attr As String Dim oNR_Act_Attr As String
Dim oSQL = $"SELECT NOT_RESP_SQL, NOT_RESP_COMMENT_ATTRIBUTE FROM TBPM_PROFILE WHERE GUID = {oProfilID}" Dim oSQL = $"SELECT NOT_RESP_SQL, NOT_RESP_COMMENT_ATTRIBUTE,NOT_RESP_COMMENT FROM TBPM_PROFILE WHERE GUID = {oProfilID}"
Dim oDT = DatabaseECM.GetDatatable(oSQL) Dim oDT = DatabaseECM.GetDatatable(oSQL)
oNotResponsible_SQL = oDT.Rows(0).Item("NOT_RESP_SQL") oNotResponsible_SQL = oDT.Rows(0).Item("NOT_RESP_SQL")
oNR_Act_Attr = oDT.Rows(0).Item("NOT_RESP_COMMENT_ATTRIBUTE") oNR_Act_Attr = oDT.Rows(0).Item("NOT_RESP_COMMENT_ATTRIBUTE")
checkCommentMuss.Checked = oDT.Rows(0).Item("NOT_RESP_COMMENT")
LOGGER.Debug($"oNR_Act_Attr: {oNR_Act_Attr}") LOGGER.Debug($"oNR_Act_Attr: {oNR_Act_Attr}")

View File

@@ -117,71 +117,74 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <assembly alias="DevExpress.Data.v25.2" name="DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOwDAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AOwDAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC LkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDoj
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh RDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFT V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
b3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0 NzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFTb3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00
YzAsMi4yLTQuNSw0LTEwLDRTNCwxMi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwx LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRTNCwx
OCAgIEMyNCwxOCwyNCwxOCwyNCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQu Mi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwxOCAgIEMyNCwxOCwyNCwxOCwy
NSw0LTEwLDRTNCwxNC4yLDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44 NCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQuNSw0LTEwLDRTNCwxNC4y
ICAgYy0xLjcsMC41LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQs LDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44ICAgYy0xLjcsMC41
MTAsNEMxNC40LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGgg LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQsMTAsNEMxNC40
ZD0iTTI5LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEs LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGggZD0iTTI5
MC0xLjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEsMC0x
LjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo
NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMICAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AMICAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4 LkJsYWNre2ZpbGw6IzczNzM3NDt9CgkuWWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57Zmls
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh bDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBI NzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tkaXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0
OFY0SDVDNC40LDQsNCw0LjQsNCw1djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFW O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBIOFY0SDVDNC40LDQsNCw0LjQsNCw1
NUMyOCw0LjQsMjcuNiw0LDI3LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHog djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFWNUMyOCw0LjQsMjcuNiw0LDI3
TTE0LDEwaC0yVjZoMlYxMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs= LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHogTTE0LDEwaC0yVjZoMlYx
MHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem4.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem4.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOwDAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AOwDAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC LkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuQmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDoj
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh RDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFT V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
b3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0 NzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFTb3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00
YzAsMi4yLTQuNSw0LTEwLDRTNCwxMi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwx LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0YzAsMi4yLTQuNSw0LTEwLDRTNCwx
OCAgIEMyNCwxOCwyNCwxOCwyNCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQu Mi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwxOCAgIEMyNCwxOCwyNCwxOCwy
NSw0LTEwLDRTNCwxNC4yLDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44 NCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQuNSw0LTEwLDRTNCwxNC4y
ICAgYy0xLjcsMC41LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQs LDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44ICAgYy0xLjcsMC41
MTAsNEMxNC40LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGgg LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQsMTAsNEMxNC40
ZD0iTTI5LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEs LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGggZD0iTTI5
MC0xLjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEsMC0x
LjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo
NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value> </value>
</data> </data>
@@ -230,24 +233,25 @@
yfvkPPhE1Ql+k9vzOv3/P/ifoPoeVeUDAqiG6o3/Nb1j0KB/AMYUfCkDw9hpAAAAAElFTkSuQmCC yfvkPPhE1Ql+k9vzOv3/P/ifoPoeVeUDAqiG6o3/Nb1j0KB/AMYUfCkDw9hpAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="frmAdmin_rejectionConfig.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="frmAdmin_rejectionConfig.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAQDAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AAQDAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
Qmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZG LkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6
QjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjQsMjQu V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
OFYyOEg0VjRoMjB2Ny4ybDItMlYzYzAtMC41LTAuNS0xLTEtMUgzQzIuNSwyLDIsMi41LDIsM3YyNmMw NzU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjQsMjQuOFYyOEg0VjRoMjB2Ny4ybDItMlYzYzAt
LDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0xdi02LjIgIEwyNCwyNC44eiIgY2xhc3M9IkJs MC41LTAuNS0xLTEtMUgzQzIuNSwyLDIsMi41LDIsM3YyNmMwLDAuNSwwLjUsMSwxLDFoMjJjMC41
YWNrIiAvPg0KICA8cGF0aCBkPSJNMjksMTdsLTgsOGwtNC00bDgtOEwyOSwxN3ogTTMwLDE2bDEuNy0x LDAsMS0wLjUsMS0xdi02LjIgIEwyNCwyNC44eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8cGF0aCBk
LjdjMC40LTAuNCwwLjQtMSwwLTEuM0wyOSwxMC4zYy0wLjQtMC40LTEtMC40LTEuMywwTDI2LDEyTDMw PSJNMjksMTdsLTgsOGwtNC00bDgtOEwyOSwxN3ogTTMwLDE2bDEuNy0xLjdjMC40LTAuNCwwLjQt
LDE2eiAgIE0xNiwyMnY0aDRMMTYsMjJ6IiBjbGFzcz0iQmx1ZSIgLz4NCjwvc3ZnPgs= MSwwLTEuM0wyOSwxMC4zYy0wLjQtMC40LTEtMC40LTEuMywwTDI2LDEyTDMwLDE2eiAgIE0xNiwy
MnY0aDRMMTYsMjJ6IiBjbGFzcz0iQmx1ZSIgLz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
</root> </root>

View File

@@ -0,0 +1,253 @@
<?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>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItem1.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOwDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFT
b3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0
YzAsMi4yLTQuNSw0LTEwLDRTNCwxMi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwx
OCAgIEMyNCwxOCwyNCwxOCwyNCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQu
NSw0LTEwLDRTNCwxNC4yLDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44
ICAgYy0xLjcsMC41LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQs
MTAsNEMxNC40LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGgg
ZD0iTTI5LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEs
MC0xLjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo
NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<data name="BarButtonItem2.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMICAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzczNzM3NDt9Cgku
WWVsbG93e2ZpbGw6I0ZDQjAxQjt9CgkuR3JlZW57ZmlsbDojMTI5QzQ5O30KCS5CbHVle2ZpbGw6IzM4
N0NCNzt9CgkuUmVke2ZpbGw6I0QwMjEyNzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQoJLnN0M3tk
aXNwbGF5Om5vbmU7ZmlsbDojNzM3Mzc0O30KPC9zdHlsZT4NCiAgPHBhdGggZD0iTTI3LDRoLTN2MTBI
OFY0SDVDNC40LDQsNCw0LjQsNCw1djIyYzAsMC42LDAuNCwxLDEsMWgyMmMwLjYsMCwxLTAuNCwxLTFW
NUMyOCw0LjQsMjcuNiw0LDI3LDR6IE0yNCwyNEg4di02ICBoMTZWMjR6IE0xMCw0djhoMTBWNEgxMHog
TTE0LDEwaC0yVjZoMlYxMHoiIGNsYXNzPSJCbGFjayIgLz4NCjwvc3ZnPgs=
</value>
</data>
<data name="BarButtonItem4.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAOwDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9Cgku
QmxhY2t7ZmlsbDojNzI3MjcyO30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5ZZWxsb3d7ZmlsbDojRkZC
MTE1O30KCS5CbHVle2ZpbGw6IzExNzdENzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRWRpdERhdGFT
b3VyY2UiPg0KICAgIDxwYXRoIGQ9Ik00LDEwVjZjMC0yLjIsNC41LTQsMTAtNHMxMCwxLjgsMTAsNHY0
YzAsMi4yLTQuNSw0LTEwLDRTNCwxMi4yLDQsMTB6IE0yNCwxOEwyNCwxOEMyNCwxOCwyNCwxOCwyNCwx
OCAgIEMyNCwxOCwyNCwxOCwyNCwxOHogTTE0LDIwYzUuNSwwLDEwLTEuOCwxMC00di00YzAsMi4yLTQu
NSw0LTEwLDRTNCwxNC4yLDQsMTJ2NEM0LDE4LjIsOC41LDIwLDE0LDIweiBNMTUuMiwyNmw0LjgtNC44
ICAgYy0xLjcsMC41LTMuNywwLjgtNiwwLjhjLTUuNSwwLTEwLTEuOC0xMC00djRjMCwyLjIsNC41LDQs
MTAsNEMxNC40LDI2LDE0LjgsMjYsMTUuMiwyNnoiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGgg
ZD0iTTI5LDIzbC04LDhsLTQtNGw4LThMMjksMjN6IE0zMCwyMmwxLjctMS43YzAuNC0wLjQsMC40LTEs
MC0xLjNMMjksMTYuM2MtMC40LTAuNC0xLTAuNC0xLjMsMEwyNiwxOEwzMCwyMnogICAgTTE2LDI4djRo
NEwxNiwyOHoiIGNsYXNzPSJCbHVlIiAvPg0KICA8L2c+DQo8L3N2Zz4L
</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="SimpleButton1.ImageOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAB10RVh0VGl0
bGUAQ2xvc2U7RXhpdDtCYXJzO1JpYmJvbjtGA7noAAAI60lEQVRYR8WXd1RUZxqHzWaz6ZqiJrFEowYE
RVRAhYGBoQ1SFGRVEvvKqsGCx8AqqBQVNLoqxY49alBEiggaiUoHUcqAdFH6DEVEmuSf377vHQbBWXfP
2bN79jvn8bt3Zpjn977f/e5cBwH4vyKMmuA9g2qC9vDhW/+GP/wXeKs0wJemfqP6QCBPKsEfiXeIP73G
u2/gvX/B+/3gc/48fz97BgyWv53js9myItA3u3K3Hyp3++IxE+gLeg0VAcQuH2I7ylXs3IbSHSq2otTf
GyWMnzeKGV8vFPluIbxR5LMF+Vv/9jDR3U1KLi6QnX2DT96p2Lld3nb/DnqqCtHztAA9T2ToqcxDz+Nc
dJc/RHdZNrqLs9D1KB1dhanoyk9GZ+49dOb8ho7sX9GRlYD29BtoT4lFW9I1tN2NQFtiONpuXcTzhPOo
PxuEvC0eCnJxNwZ0gU/eLaOknbmJeH7jPJ7HvaL1+jm0xp5FawwRfQat107jWeRJtESEoeXKcbSEH0PL
L0fQfDEUzT8Ho+ncQTSe2Y/GU/ugCNsD+bEAyI/sRO3fvZDrsZGvvA+Jt1msGhzgvRJvT7SnxZDoFIl6
iTqFZ9eIyDA8u0rCiBN90maWXjqMpguhaCJx41mlWKESH98tiBsO+aM+2Bc1gT8ie8NaDvARoR7gkedG
vEiKIAkJBKiyK8Tlo2gOJwThETRdVElD0HguiKQkPk3ik/sgP/ETVRyIhsMBJN6B+hA/1AdtR91+bzzd
sQGZa1ZzgI8JtQDvy9zX0ZpdIgm1UgW1telCiBJu73kSUosVZw5Qi5VSRdheZbVHWbwT9aEkDmaxD4m3
om7fFtTs8cSTbT8gbeVKDjCYUAvwwQPXFWiNP08CWr9zJGB4LYnqQwG44eSA8/oGuO3ijPojgSSlNpO0
NmQHbjrPwcnJUxAltUBlgCdqSVzD4p88Ub3bA1W7NuLxFlfcmb9QFYC3Y9/gNB+kOjpSZVTNCaomjFp5
kgQn9qA62B/RUitEevogISYFEavW47qDDWqoyhqqMnq2FS67rkV8dDKuuHvhF5EhKnzdUU1rXrVrE6qo
9U9816F4lTPiJFIOMIRQC/BhssNc1O7dhEqPpcIVW08XEJPgZI9oL3+kZleg4kkjissbELnGHbG2UsTO
tib5OtzLKEFxRQNKnzQhmoJGWZjhqf8GPCVx5WZXlK6eh/yFlogxMecAnxBqAT66Z+dAqTeg3M0Z5T84
o+LHJaja6Y7LRkZoqJajsqYFrS960Nr+EqWP5UKIy39dj7vpJSihYM0vXqK5rRvPFC04raNLf7+cxM4o
XuGA4mX2yJsvQZRIwgE+JdQD/Dbbga5UN5StdkTpKhVOSHS2R9q27eh++TsFeImWNhLRXPJYgcycSpRU
NqLpebcAf+ae52bE2VigiKRFS+zwaKktHi22RY6jGFdnid8Y4OPbUntUbluFElcHYg6Kmb84oMJjBW7a
2yDDz08QCDKqlOfGfnR3/44Ub29Em4tR5r5YkBYutkHh99Yo+F6KB/ZGuDJDCPAZwbfjvsEBBt+ysqUr
dQW1zA5Fy3tZxrM9yj2W44bUHEle3lC0dkJBQkVrVx8NzR24u9kL0abGKNu4lKRSFLhIIXOxgozWPn+B
Be7PnoVwPREH+JwYEIDbMTjeXIqyTZxcisIllHyRlI5nEzYooPmGpRhRq9ejsEwBRQsFaOmCnKgn6po6
EOe2EdFiQ+QtsISMhLI/WyDfWSKQN88UmVYGuDjtzQGGxJlZoWSdCwq+s6KWUdtcLIVjriDOzBDXaPsl
JhejoFyB+maSCnQI8rqmLuSXNCBipRuuGeohx8kMeU6myGUcTZAz1wRpkmn4WdeQAwwlBvwicoBPYsWW
KKbtIqOrNX8BMd+ckOCWpTGi1mzA7eQiyKh6pbADnV096CBqGztQ00teUR0iXd0QI9JHjgOJ7UV4yNgZ
IUWsi3M6MznAMEI9AG+RAtoyefPEyCXynJRzlFiEirIa5Jc2CLJaknd09iDL3xeZfr7CcbWiQ6BK3o66
agUu6U3HA1tDJbT22dKZSDKehNNa+hxgOKEW4NNIQwlktNYP54ioZYSDsVDBr7aWKDx6GG0dPdT6TkGY
vcMfCdZmiLcyFYK002vcFf5MXkgwrpsZk3QG7lvPQBatfZalPu7M0sZJjemqAPyUNSDAZ7xFchdaUOpZ
QuqHPFMFsqVzEE8yDtEllyPb3w83bSQoXDYXhfReAofw80GnvAF5oSF0IRohx8VWkGZaTEemOTMNifqa
ODFhKgf4ghgQgNvxebg+Xyxi3JcaKLE2oCoMhDCyJXORaGeJWIkJ7jhYI3+xvbIyIn+RHW7bmuMq/QbE
007J/c5OkGeYTkOm6VRkmOkindb/9tQJOPaNLgf4klAPcHG6CPfpZpFFqbMs9IT0fMwVZFErZYvojrbS
me7pUmT1ViUgmU63WSsULnek9+iGZaaHDPEUkk5BmojRQRqt/02dcTg8VocDfEWoBRh6QXcWsuhiyZBQ
aoaS981chVDJVKSb0mxKAhN6nUXGfKyDdEE0GWlGOkg1nPQKWvvUmVpImDwGh0ZrqwXgfzjAMN4iGVQR
f1kafWmamL5UOKYvNabZhGeCRKk0pxoRLBApRSkMyVIMtZBCwpSZE5EyQxPJMyYiyUATcVqjETJiIgcY
QfAj+oAAQ09r6wttSxVpUxWUuh8pPHMlvfQJZtK5IJpIIqUsmWRMkoEGkvS+7eO65igEfanxTzsgbMMw
jWnyGB1N3NIdhwSdb4ixiJ805hXaXwvECefKY+GcoeoESBI3kdAcScJeNEYQIxE+djT2DZ/Aj+V8IxoQ
QHgk2zpac9HR8VOajo/XBXNs3BS6anVwZOxkgcNjJgkc+loboaMnIXSUFkJHEiO0qLXEV5oIJoKIg1Tp
wS+I4Ro4MHwC9g//FnuHjW9eO2TkUnKpHkqFADxUXeDndf6h4H3KW4Vb9Tq8fq8z8g2M6gef8w2Inwd5
yfvkPPhE1Ql+k9vzOv3/P/ifoPoeVeUDAqiG6o3/Nb1j0KB/AMYUfCkDw9hpAAAAAElFTkSuQmCC
</value>
</data>
<data name="frmAdmin_rejectionConfig.IconOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAAQDAAAC77u/
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku
Qmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZG
QjExNTt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNMjQsMjQu
OFYyOEg0VjRoMjB2Ny4ybDItMlYzYzAtMC41LTAuNS0xLTEtMUgzQzIuNSwyLDIsMi41LDIsM3YyNmMw
LDAuNSwwLjUsMSwxLDFoMjJjMC41LDAsMS0wLjUsMS0xdi02LjIgIEwyNCwyNC44eiIgY2xhc3M9IkJs
YWNrIiAvPg0KICA8cGF0aCBkPSJNMjksMTdsLTgsOGwtNC00bDgtOEwyOSwxN3ogTTMwLDE2bDEuNy0x
LjdjMC40LTAuNCwwLjQtMSwwLTEuM0wyOSwxMC4zYy0wLjQtMC40LTEtMC40LTEuMywwTDI2LDEyTDMw
LDE2eiAgIE0xNiwyMnY0aDRMMTYsMjJ6IiBjbGFzcz0iQmx1ZSIgLz4NCjwvc3ZnPgs=
</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@@ -177,26 +177,27 @@
<data name="BarButtonItemRefreshProfileData.Caption" xml:space="preserve"> <data name="BarButtonItemRefreshProfileData.Caption" xml:space="preserve">
<value>Refresh</value> <value>Refresh</value>
</data> </data>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <assembly alias="DevExpress.Data.v25.2" name="DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItemRefreshProfileData.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItemRefreshProfileData.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AC4DAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41 c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYs
NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3 NEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQsNC02LDcuNy02YzIuMiwwLDQuMiww
LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt LjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3LjV6IiBjbGFzcz0iR3JlZW4i
NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz IC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjktNS42LTIuNGwzLjYtMy42
LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwzLjUgICBDMjIuMSwy
bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs= OCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBjbGFzcz0iR3Jl
ZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem2.Caption" xml:space="preserve"> <data name="BarButtonItem2.Caption" xml:space="preserve">
@@ -205,21 +206,21 @@
<data name="BarButtonItem3.Caption" xml:space="preserve"> <data name="BarButtonItem3.Caption" xml:space="preserve">
<value>Copy Profile</value> <value>Copy Profile</value>
</data> </data>
<data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADACAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi ADACAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iQ29weSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iQ29weSIgc3R5bGU9ImVuYWJsZS1i
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 YWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
bGU+DQogIDxwYXRoIGQ9Ik0yMSwwSDlDOC40LDAsOCwwLjQsOCwxdjVIM0MyLjQsNiwyLDYuNCwyLDd2 YWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yMSwwSDlDOC40LDAsOCww
MjJjMCwwLjYsMC40LDEsMSwxaDE4YzAuNiwwLDEtMC40LDEtMXYtNWg1YzAuNiwwLDEtMC40LDEtMVY3 LjQsOCwxdjVIM0MyLjQsNiwyLDYuNCwyLDd2MjJjMCwwLjYsMC40LDEsMSwxaDE4YzAuNiwwLDEt
ICBMMjEsMHogTTIwLDI4SDRWOGg0aDJoNHY1YzAsMC42LDAuNCwxLDEsMWg1djR2NHYyVjI4eiBNMjYs MC40LDEtMXYtNWg1YzAuNiwwLDEtMC40LDEtMVY3ICBMMjEsMHogTTIwLDI4SDRWOGg0aDJoNHY1
MTJ2MTBoLTR2LTlsLTctN2gtNVYyaDRoNnY0djFjMCwwLjYsMC40LDEsMSwxaDVWMTJ6IiBjbGFzcz0i YzAsMC42LDAuNCwxLDEsMWg1djR2NHYyVjI4eiBNMjYsMTJ2MTBoLTR2LTlsLTctN2gtNVYyaDRo
QmxhY2siIC8+DQo8L3N2Zz4L NnY0djFjMCwwLjYsMC40LDEsMSwxaDVWMTJ6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem4.Caption" xml:space="preserve"> <data name="BarButtonItem4.Caption" xml:space="preserve">
@@ -269,25 +270,26 @@
<data name="BarButtonItem5.Caption" xml:space="preserve"> <data name="BarButtonItem5.Caption" xml:space="preserve">
<value>Delete Profile</value> <value>Delete Profile</value>
</data> </data>
<data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD0DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AD0DAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMx
Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh MTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4N V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
CiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEu NzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4NCiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9
NGwtMS40LTEuNGMtMC40LTAuNC0xLTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0w Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEuNGwtMS40LTEuNGMtMC40LTAuNC0x
LjQtMS40LDAgICAgTDYuMyw3LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMt LTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0wLjQtMS40LDAgICAgTDYuMyw3
MC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2Ljks LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMtMC40LDAuNC0wLjQsMSww
Ni45ICAgIGMwLjQsMC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44 LDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2LjksNi45ICAgIGMwLjQs
LDE2eiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs= MC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44LDE2eiIgY2xh
c3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem6.Caption" xml:space="preserve"> <data name="BarButtonItem6.Caption" xml:space="preserve">
@@ -296,63 +298,64 @@
<data name="BarButtonItem6.Hint" xml:space="preserve"> <data name="BarButtonItem6.Hint" xml:space="preserve">
<value>Deletes the workflow data of the profile until resync</value> <value>Deletes the workflow data of the profile until resync</value>
</data> </data>
<data name="BarButtonItem6.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem6.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMoCAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AMoCAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iRGVsZXRlVGFibGUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iRGVsZXRlVGFibGUiIHN0eWxlPSJl
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3MjcyNzI7 bmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5zdDB7b3BhY2l0eTow Ij4KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5SZWR7Zmls
LjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNOCw4SDBWMmg4Vjh6IE0xOCwyaC04djZoOFYyeiBNMjgs bDojRDExQzFDO30KCS5zdDB7b3BhY2l0eTowLjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNOCw4
MmgtOHY2aDhWMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBk SDBWMmg4Vjh6IE0xOCwyaC04djZoOFYyeiBNMjgsMmgtOHY2aDhWMnoiIGNsYXNzPSJCbHVlIiAv
PSJNOCwxNkgwdi02aDhWMTZ6IE0xOCwxMGgtOHY2aDhWMTB6IE0yOCwxMGgtOHY2aDhWMTB6IE04LDE4 Pg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNOCwxNkgwdi02aDhWMTZ6IE0xOCwx
SDB2Nmg4VjE4eiBNMTgsMThoLTh2Nmg4VjE4eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxw MGgtOHY2aDhWMTB6IE0yOCwxMGgtOHY2aDhWMTB6IE04LDE4SDB2Nmg4VjE4eiBNMTgsMThoLTh2
b2x5Z29uIHBvaW50cz0iMzIsMjAgMzAsMTggMjYsMjIgMjIsMTggMjAsMjAgMjQsMjQgMjAsMjggMjIs Nmg4VjE4eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxwb2x5Z29uIHBvaW50cz0iMzIs
MzAgMjYsMjYgMzAsMzAgMzIsMjggMjgsMjQgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw== MjAgMzAsMTggMjYsMjIgMjIsMTggMjAsMjAgMjQsMjQgMjAsMjggMjIsMzAgMjYsMjYgMzAsMzAg
MzIsMjggMjgsMjQgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw==
</value> </value>
</data> </data>
<data name="BarButtonItem7.Caption" xml:space="preserve"> <data name="BarButtonItem7.Caption" xml:space="preserve">
<value>Save</value> <value>Save</value>
</data> </data>
<data name="BarButtonItem7.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem7.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4BAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AO4BAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1i
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 YWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiww YWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1
LjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVDMjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYt QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiwwLjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVD
NiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2si MjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYtNiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6
IC8+DQo8L3N2Zz4L IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem8.Caption" xml:space="preserve"> <data name="BarButtonItem8.Caption" xml:space="preserve">
<value>Add</value> <value>Add</value>
</data> </data>
<data name="BarButtonItem8.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem8.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AGICAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0 c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0 IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0QzkuNCw0LDQsOS40LDQsMTZzNS40LDEy
LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N LDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0LDE4aC02djZoLTR2LTZIOHYtNGg2
Cjwvc3ZnPgs= VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem9.Caption" xml:space="preserve"> <data name="BarButtonItem9.Caption" xml:space="preserve">
@@ -434,23 +437,24 @@
<data name="BarButtonItem10.Hint" xml:space="preserve"> <data name="BarButtonItem10.Hint" xml:space="preserve">
<value>Deletes the workflow data until resync</value> <value>Deletes the workflow data until resync</value>
</data> </data>
<data name="BarButtonItem10.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem10.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMoCAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AMoCAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iRGVsZXRlVGFibGUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iRGVsZXRlVGFibGUiIHN0eWxlPSJl
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3MjcyNzI7 bmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5zdDB7b3BhY2l0eTow Ij4KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5SZWR7Zmls
LjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNOCw4SDBWMmg4Vjh6IE0xOCwyaC04djZoOFYyeiBNMjgs bDojRDExQzFDO30KCS5zdDB7b3BhY2l0eTowLjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNOCw4
MmgtOHY2aDhWMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBk SDBWMmg4Vjh6IE0xOCwyaC04djZoOFYyeiBNMjgsMmgtOHY2aDhWMnoiIGNsYXNzPSJCbHVlIiAv
PSJNOCwxNkgwdi02aDhWMTZ6IE0xOCwxMGgtOHY2aDhWMTB6IE0yOCwxMGgtOHY2aDhWMTB6IE04LDE4 Pg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNOCwxNkgwdi02aDhWMTZ6IE0xOCwx
SDB2Nmg4VjE4eiBNMTgsMThoLTh2Nmg4VjE4eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxw MGgtOHY2aDhWMTB6IE0yOCwxMGgtOHY2aDhWMTB6IE04LDE4SDB2Nmg4VjE4eiBNMTgsMThoLTh2
b2x5Z29uIHBvaW50cz0iMzIsMjAgMzAsMTggMjYsMjIgMjIsMTggMjAsMjAgMjQsMjQgMjAsMjggMjIs Nmg4VjE4eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxwb2x5Z29uIHBvaW50cz0iMzIs
MzAgMjYsMjYgMzAsMzAgMzIsMjggMjgsMjQgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw== MjAgMzAsMTggMjYsMjIgMjIsMTggMjAsMjAgMjQsMjQgMjAsMjggMjIsMzAgMjYsMjYgMzAsMzAg
MzIsMjggMjgsMjQgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw==
</value> </value>
</data> </data>
<data name="BarButtonItem11.Caption" xml:space="preserve"> <data name="BarButtonItem11.Caption" xml:space="preserve">
@@ -715,89 +719,91 @@
<data name="BarButtonItem15.Caption" xml:space="preserve"> <data name="BarButtonItem15.Caption" xml:space="preserve">
<value>Refresh</value> <value>Refresh</value>
</data> </data>
<data name="BarButtonItem15.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem15.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AC4DAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41 c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYs
NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3 NEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQsNC02LDcuNy02YzIuMiwwLDQuMiww
LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt LjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3LjV6IiBjbGFzcz0iR3JlZW4i
NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz IC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjktNS42LTIuNGwzLjYtMy42
LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwzLjUgICBDMjIuMSwy
bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs= OCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBjbGFzcz0iR3Jl
ZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem16.Caption" xml:space="preserve"> <data name="BarButtonItem16.Caption" xml:space="preserve">
<value>Add</value> <value>Add</value>
</data> </data>
<data name="BarButtonItem16.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem16.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AGICAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0 c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0 IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0QzkuNCw0LDQsOS40LDQsMTZzNS40LDEy
LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N LDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0LDE4aC02djZoLTR2LTZIOHYtNGg2
Cjwvc3ZnPgs= VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem17.Caption" xml:space="preserve"> <data name="BarButtonItem17.Caption" xml:space="preserve">
<value>Delete</value> <value>Delete</value>
</data> </data>
<data name="BarButtonItem17.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem17.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD0DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AD0DAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMx
Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh MTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4N V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
CiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEu NzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4NCiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9
NGwtMS40LTEuNGMtMC40LTAuNC0xLTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0w Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEuNGwtMS40LTEuNGMtMC40LTAuNC0x
LjQtMS40LDAgICAgTDYuMyw3LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMt LTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0wLjQtMS40LDAgICAgTDYuMyw3
MC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2Ljks LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMtMC40LDAuNC0wLjQsMSww
Ni45ICAgIGMwLjQsMC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44 LDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2LjksNi45ICAgIGMwLjQs
LDE2eiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs= MC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44LDE2eiIgY2xh
c3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem18.Caption" xml:space="preserve"> <data name="BarButtonItem18.Caption" xml:space="preserve">
<value>Save</value> <value>Save</value>
</data> </data>
<data name="BarButtonItem18.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem18.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4BAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AO4BAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1i
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 YWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiww YWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1
LjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVDMjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYt QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiwwLjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVD
NiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2si MjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYtNiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6
IC8+DQo8L3N2Zz4L IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem19.Caption" xml:space="preserve"> <data name="BarButtonItem19.Caption" xml:space="preserve">
@@ -834,73 +840,75 @@
<data name="BarButtonItem21.Hint" xml:space="preserve"> <data name="BarButtonItem21.Hint" xml:space="preserve">
<value>Opens the SQL Editor for the SQL profile view</value> <value>Opens the SQL Editor for the SQL profile view</value>
</data> </data>
<data name="BarButtonItem21.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem21.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFkEAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AFkEAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iUGl2b3RfVGFibGVfT3B0aW9ucyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3Jv OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iUGl2b3RfVGFibGVfT3B0aW9ucyIg
dW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDoj c3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0i
MTE3N0Q3O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+ dGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJ
DQogIDxnIGNsYXNzPSJzdDAiPg0KICAgIDxwYXRoIGQ9Ik0xMCwxMEg2VjZoNFYxMHogTTI0LDZIMTJ2 LnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+DQogIDxnIGNsYXNzPSJzdDAiPg0KICAgIDxwYXRo
NGgxMlY2eiBNMTAsMTJINnYxMmg0VjEyeiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPHBhdGgg IGQ9Ik0xMCwxMEg2VjZoNFYxMHogTTI0LDZIMTJ2NGgxMlY2eiBNMTAsMTJINnYxMmg0VjEyeiIg
ZD0iTTE2LDI2SDRWNGgyMnYxMmMwLjcsMC4yLDEuNCwwLjUsMiwwLjhWM2MwLTAuNi0wLjQtMS0xLTFI Y2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPHBhdGggZD0iTTE2LDI2SDRWNGgyMnYxMmMwLjcs
M0MyLjQsMiwyLDIuNCwyLDN2MjRjMCwwLjYsMC40LDEsMSwxaDEzLjggIEMxNi41LDI3LjQsMTYuMiwy MC4yLDEuNCwwLjUsMiwwLjhWM2MwLTAuNi0wLjQtMS0xLTFIM0MyLjQsMiwyLDIuNCwyLDN2MjRj
Ni43LDE2LDI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8cGF0aCBkPSJNMzIsMjV2LTJsLTIuMi0wLjRj MCwwLjYsMC40LDEsMSwxaDEzLjggIEMxNi41LDI3LjQsMTYuMiwyNi43LDE2LDI2eiIgY2xhc3M9
LTAuMi0wLjYtMC40LTEuMy0wLjgtMS44bDEuMy0xLjhsLTEuNC0xLjRsLTEuOCwxLjNjLTAuNS0wLjMt IkJsYWNrIiAvPg0KICA8cGF0aCBkPSJNMzIsMjV2LTJsLTIuMi0wLjRjLTAuMi0wLjYtMC40LTEu
MS4yLTAuNi0xLjgtMC43TDI1LDE2aC0yICBsLTAuNCwyLjJjLTAuNiwwLjItMS4zLDAuNC0xLjgsMC43 My0wLjgtMS44bDEuMy0xLjhsLTEuNC0xLjRsLTEuOCwxLjNjLTAuNS0wLjMtMS4yLTAuNi0xLjgt
bC0xLjgtMS4zbC0xLjQsMS40bDEuMywxLjhjLTAuMywwLjUtMC42LDEuMi0wLjgsMS44TDE2LDIzdjJs MC43TDI1LDE2aC0yICBsLTAuNCwyLjJjLTAuNiwwLjItMS4zLDAuNC0xLjgsMC43bC0xLjgtMS4z
Mi4yLDAuNGMwLjIsMC42LDAuNCwxLjMsMC44LDEuOCAgbC0xLjMsMS44bDEuNCwxLjRsMS44LTEuM2Mw bC0xLjQsMS40bDEuMywxLjhjLTAuMywwLjUtMC42LDEuMi0wLjgsMS44TDE2LDIzdjJsMi4yLDAu
LjUsMC4zLDEuMiwwLjYsMS44LDAuN0wyMywzMmgybDAuNC0yLjJjMC42LTAuMiwxLjMtMC40LDEuOC0w NGMwLjIsMC42LDAuNCwxLjMsMC44LDEuOCAgbC0xLjMsMS44bDEuNCwxLjRsMS44LTEuM2MwLjUs
LjdsMS44LDEuM2wxLjQtMS40bC0xLjMtMS44ICBjMC4zLTAuNSwwLjYtMS4yLDAuOC0xLjhMMzIsMjV6 MC4zLDEuMiwwLjYsMS44LDAuN0wyMywzMmgybDAuNC0yLjJjMC42LTAuMiwxLjMtMC40LDEuOC0w
IE0yNCwyNmMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMmMxLjEsMCwyLDAuOSwyLDJTMjUuMSwyNiwy LjdsMS44LDEuM2wxLjQtMS40bC0xLjMtMS44ICBjMC4zLTAuNSwwLjYtMS4yLDAuOC0xLjhMMzIs
NCwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KPC9zdmc+Cw== MjV6IE0yNCwyNmMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMmMxLjEsMCwyLDAuOSwyLDJTMjUu
MSwyNiwyNCwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KPC9zdmc+Cw==
</value> </value>
</data> </data>
<data name="bbtnItemFinishSQL.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bbtnItemFinishSQL.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAN4DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi ANADAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz LkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh OiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTow
Pg0KICA8ZyBpZD0iRmluaXNoTWVyZ2UiPg0KICAgIDxwYXRoIGQ9Ik0xMy4yLDE4Yy0wLjMsMC42LTAu LjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRmluaXNoTWVyZ2Ui
NiwxLjMtMC44LDJINnYtMkgxMy4yeiBNMTIuMSwyNEg0VjJoMTZ2MTAuNGMwLjYtMC4yLDEuMy0wLjMs Pg0KICAgIDxwYXRoIGQ9Ik0xMy4yLDE4Yy0wLjMsMC42LTAuNiwxLjMtMC44LDJINnYtMkgxMy4y
Mi0wLjRWMWMwLTAuNS0wLjUtMS0xLTEgICBIM0MyLjUsMCwyLDAuNSwyLDF2MjRjMCwwLjUsMC41LDEs eiBNMTIuMSwyNEg0VjJoMTZ2MTAuNGMwLjYtMC4yLDEuMy0wLjMsMi0wLjRWMWMwLTAuNS0wLjUt
MSwxaDkuNEMxMi4yLDI1LjQsMTIuMSwyNC43LDEyLjEsMjR6IE02LDE2aDguNWMwLjYtMC44LDEuNC0x MS0xLTEgICBIM0MyLjUsMCwyLDAuNSwyLDF2MjRjMCwwLjUsMC41LDEsMSwxaDkuNEMxMi4yLDI1
LjQsMi4yLTJINlYxNnogTTYsOGgxMlY2SDZWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICA8cmVjdCB4 LjQsMTIuMSwyNC43LDEyLjEsMjR6IE02LDE2aDguNWMwLjYtMC44LDEuNC0xLjQsMi4yLTJINlYx
PSI2IiB5PSIxMCIgd2lkdGg9IjEyIiBoZWlnaHQ9IjIiIHJ4PSIwIiByeT0iMCIgY2xhc3M9IlllbGxv NnogTTYsOGgxMlY2SDZWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICA8cmVjdCB4PSI2IiB5PSIx
dyIgLz4NCiAgICA8cGF0aCBkPSJNMjMsMTRjLTUsMC05LDQtOSw5YzAsNSw0LDksOSw5czktNCw5LTlD MCIgd2lkdGg9IjEyIiBoZWlnaHQ9IjIiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGggZD0i
MzIsMTgsMjgsMTQsMjMsMTR6IE0yMiwyOGwtNS01bDItMmwzLDNsNS01bDIsMkwyMiwyOHoiIGNsYXNz TTIzLDE0Yy01LDAtOSw0LTksOWMwLDUsNCw5LDksOXM5LTQsOS05QzMyLDE4LDI4LDE0LDIzLDE0
PSJHcmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== eiBNMjIsMjhsLTUtNWwyLTJsMywzbDUtNWwyLDJMMjIsMjh6IiBjbGFzcz0iR3JlZW4iIC8+DQog
IDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem22.Caption" xml:space="preserve"> <data name="BarButtonItem22.Caption" xml:space="preserve">
<value>Save</value> <value>Save</value>
</data> </data>
<data name="BarButtonItem22.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem22.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4BAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AO4BAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1i
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 YWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiww YWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1
LjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVDMjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYt QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiwwLjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVD
NiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2si MjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYtNiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6
IC8+DQo8L3N2Zz4L IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem24.Caption" xml:space="preserve"> <data name="BarButtonItem24.Caption" xml:space="preserve">

File diff suppressed because it is too large Load Diff

View File

@@ -189,26 +189,27 @@
<data name="BarButtonItemRefreshProfileData.Caption" xml:space="preserve"> <data name="BarButtonItemRefreshProfileData.Caption" xml:space="preserve">
<value>Rechargez</value> <value>Rechargez</value>
</data> </data>
<assembly alias="DevExpress.Data.v21.2" name="DevExpress.Data.v21.2, Version=21.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" /> <assembly alias="DevExpress.Data.v25.2" name="DevExpress.Data.v25.2, Version=25.2.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<data name="BarButtonItemRefreshProfileData.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItemRefreshProfileData.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AC4DAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41 c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYs
NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3 NEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQsNC02LDcuNy02YzIuMiwwLDQuMiww
LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt LjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3LjV6IiBjbGFzcz0iR3JlZW4i
NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz IC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjktNS42LTIuNGwzLjYtMy42
LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwzLjUgICBDMjIuMSwy
bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs= OCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBjbGFzcz0iR3Jl
ZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem2.Caption" xml:space="preserve"> <data name="BarButtonItem2.Caption" xml:space="preserve">
@@ -217,21 +218,21 @@
<data name="BarButtonItem3.Caption" xml:space="preserve"> <data name="BarButtonItem3.Caption" xml:space="preserve">
<value>Copier le profil</value> <value>Copier le profil</value>
</data> </data>
<data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem3.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAADACAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi ADACAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iQ29weSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iQ29weSIgc3R5bGU9ImVuYWJsZS1i
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 YWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
bGU+DQogIDxwYXRoIGQ9Ik0yMSwwSDlDOC40LDAsOCwwLjQsOCwxdjVIM0MyLjQsNiwyLDYuNCwyLDd2 YWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yMSwwSDlDOC40LDAsOCww
MjJjMCwwLjYsMC40LDEsMSwxaDE4YzAuNiwwLDEtMC40LDEtMXYtNWg1YzAuNiwwLDEtMC40LDEtMVY3 LjQsOCwxdjVIM0MyLjQsNiwyLDYuNCwyLDd2MjJjMCwwLjYsMC40LDEsMSwxaDE4YzAuNiwwLDEt
ICBMMjEsMHogTTIwLDI4SDRWOGg0aDJoNHY1YzAsMC42LDAuNCwxLDEsMWg1djR2NHYyVjI4eiBNMjYs MC40LDEtMXYtNWg1YzAuNiwwLDEtMC40LDEtMVY3ICBMMjEsMHogTTIwLDI4SDRWOGg0aDJoNHY1
MTJ2MTBoLTR2LTlsLTctN2gtNVYyaDRoNnY0djFjMCwwLjYsMC40LDEsMSwxaDVWMTJ6IiBjbGFzcz0i YzAsMC42LDAuNCwxLDEsMWg1djR2NHYyVjI4eiBNMjYsMTJ2MTBoLTR2LTlsLTctN2gtNVYyaDRo
QmxhY2siIC8+DQo8L3N2Zz4L NnY0djFjMCwwLjYsMC40LDEsMSwxaDVWMTJ6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem4.Caption" xml:space="preserve"> <data name="BarButtonItem4.Caption" xml:space="preserve">
@@ -281,25 +282,26 @@
<data name="BarButtonItem5.Caption" xml:space="preserve"> <data name="BarButtonItem5.Caption" xml:space="preserve">
<value>Supprimer le profil</value> <value>Supprimer le profil</value>
</data> </data>
<data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem5.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD0DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AD0DAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMx
Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh MTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4N V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
CiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEu NzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4NCiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9
NGwtMS40LTEuNGMtMC40LTAuNC0xLTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0w Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEuNGwtMS40LTEuNGMtMC40LTAuNC0x
LjQtMS40LDAgICAgTDYuMyw3LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMt LTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0wLjQtMS40LDAgICAgTDYuMyw3
MC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2Ljks LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMtMC40LDAuNC0wLjQsMSww
Ni45ICAgIGMwLjQsMC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44 LDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2LjksNi45ICAgIGMwLjQs
LDE2eiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs= MC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44LDE2eiIgY2xh
c3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem6.Caption" xml:space="preserve"> <data name="BarButtonItem6.Caption" xml:space="preserve">
@@ -308,63 +310,64 @@
<data name="BarButtonItem6.Hint" xml:space="preserve"> <data name="BarButtonItem6.Hint" xml:space="preserve">
<value>Supprime les données de workflow du profil jusqu'à la resynchronisation</value> <value>Supprime les données de workflow du profil jusqu'à la resynchronisation</value>
</data> </data>
<data name="BarButtonItem6.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem6.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMoCAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AMoCAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iRGVsZXRlVGFibGUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iRGVsZXRlVGFibGUiIHN0eWxlPSJl
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3MjcyNzI7 bmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5zdDB7b3BhY2l0eTow Ij4KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5SZWR7Zmls
LjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNOCw4SDBWMmg4Vjh6IE0xOCwyaC04djZoOFYyeiBNMjgs bDojRDExQzFDO30KCS5zdDB7b3BhY2l0eTowLjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNOCw4
MmgtOHY2aDhWMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBk SDBWMmg4Vjh6IE0xOCwyaC04djZoOFYyeiBNMjgsMmgtOHY2aDhWMnoiIGNsYXNzPSJCbHVlIiAv
PSJNOCwxNkgwdi02aDhWMTZ6IE0xOCwxMGgtOHY2aDhWMTB6IE0yOCwxMGgtOHY2aDhWMTB6IE04LDE4 Pg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNOCwxNkgwdi02aDhWMTZ6IE0xOCwx
SDB2Nmg4VjE4eiBNMTgsMThoLTh2Nmg4VjE4eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxw MGgtOHY2aDhWMTB6IE0yOCwxMGgtOHY2aDhWMTB6IE04LDE4SDB2Nmg4VjE4eiBNMTgsMThoLTh2
b2x5Z29uIHBvaW50cz0iMzIsMjAgMzAsMTggMjYsMjIgMjIsMTggMjAsMjAgMjQsMjQgMjAsMjggMjIs Nmg4VjE4eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxwb2x5Z29uIHBvaW50cz0iMzIs
MzAgMjYsMjYgMzAsMzAgMzIsMjggMjgsMjQgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw== MjAgMzAsMTggMjYsMjIgMjIsMTggMjAsMjAgMjQsMjQgMjAsMjggMjIsMzAgMjYsMjYgMzAsMzAg
MzIsMjggMjgsMjQgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw==
</value> </value>
</data> </data>
<data name="BarButtonItem7.Caption" xml:space="preserve"> <data name="BarButtonItem7.Caption" xml:space="preserve">
<value>Sauvez</value> <value>Sauvez</value>
</data> </data>
<data name="BarButtonItem7.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem7.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4BAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AO4BAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1i
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 YWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiww YWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1
LjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVDMjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYt QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiwwLjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVD
NiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2si MjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYtNiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6
IC8+DQo8L3N2Zz4L IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem8.Caption" xml:space="preserve"> <data name="BarButtonItem8.Caption" xml:space="preserve">
<value>Ajoutez</value> <value>Ajoutez</value>
</data> </data>
<data name="BarButtonItem8.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem8.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AGICAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0 c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0 IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0QzkuNCw0LDQsOS40LDQsMTZzNS40LDEy
LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N LDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0LDE4aC02djZoLTR2LTZIOHYtNGg2
Cjwvc3ZnPgs= VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem9.Caption" xml:space="preserve"> <data name="BarButtonItem9.Caption" xml:space="preserve">
@@ -446,23 +449,24 @@
<data name="BarButtonItem10.Hint" xml:space="preserve"> <data name="BarButtonItem10.Hint" xml:space="preserve">
<value>Supprime les données du workflow jusqu'à la resynchronisation</value> <value>Supprime les données du workflow jusqu'à la resynchronisation</value>
</data> </data>
<data name="BarButtonItem10.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem10.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAMoCAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AMoCAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iRGVsZXRlVGFibGUiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iRGVsZXRlVGFibGUiIHN0eWxlPSJl
MCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5CbGFja3tmaWxsOiM3MjcyNzI7 bmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyIj4NCiAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5SZWR7ZmlsbDojRDExQzFDO30KCS5zdDB7b3BhY2l0eTow Ij4KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5SZWR7Zmls
LjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNOCw4SDBWMmg4Vjh6IE0xOCwyaC04djZoOFYyeiBNMjgs bDojRDExQzFDO30KCS5zdDB7b3BhY2l0eTowLjU7fQo8L3N0eWxlPg0KICA8cGF0aCBkPSJNOCw4
MmgtOHY2aDhWMnoiIGNsYXNzPSJCbHVlIiAvPg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBk SDBWMmg4Vjh6IE0xOCwyaC04djZoOFYyeiBNMjgsMmgtOHY2aDhWMnoiIGNsYXNzPSJCbHVlIiAv
PSJNOCwxNkgwdi02aDhWMTZ6IE0xOCwxMGgtOHY2aDhWMTB6IE0yOCwxMGgtOHY2aDhWMTB6IE04LDE4 Pg0KICA8ZyBjbGFzcz0ic3QwIj4NCiAgICA8cGF0aCBkPSJNOCwxNkgwdi02aDhWMTZ6IE0xOCwx
SDB2Nmg4VjE4eiBNMTgsMThoLTh2Nmg4VjE4eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxw MGgtOHY2aDhWMTB6IE0yOCwxMGgtOHY2aDhWMTB6IE04LDE4SDB2Nmg4VjE4eiBNMTgsMThoLTh2
b2x5Z29uIHBvaW50cz0iMzIsMjAgMzAsMTggMjYsMjIgMjIsMTggMjAsMjAgMjQsMjQgMjAsMjggMjIs Nmg4VjE4eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8L2c+DQogIDxwb2x5Z29uIHBvaW50cz0iMzIs
MzAgMjYsMjYgMzAsMzAgMzIsMjggMjgsMjQgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw== MjAgMzAsMTggMjYsMjIgMjIsMTggMjAsMjAgMjQsMjQgMjAsMjggMjIsMzAgMjYsMjYgMzAsMzAg
MzIsMjggMjgsMjQgIiBjbGFzcz0iUmVkIiAvPg0KPC9zdmc+Cw==
</value> </value>
</data> </data>
<data name="BarButtonItem11.Caption" xml:space="preserve"> <data name="BarButtonItem11.Caption" xml:space="preserve">
@@ -727,89 +731,91 @@
<data name="BarButtonItem15.Caption" xml:space="preserve"> <data name="BarButtonItem15.Caption" xml:space="preserve">
<value>Rechargez</value> <value>Rechargez</value>
</data> </data>
<data name="BarButtonItem15.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem15.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAC4DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AC4DAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41 c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYsNEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQs IlJlZnJlc2hfMV8iPg0KICAgIDxwYXRoIGQ9Ik0yNC41LDcuNUMyMi4zLDUuMywxOS4zLDQsMTYs
NC02LDcuNy02YzIuMiwwLDQuMiwwLjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3 NEMxMC4xLDQsNS4xLDguMyw0LjIsMTRoNC4xYzAuOS0zLjQsNC02LDcuNy02YzIuMiwwLDQuMiww
LjV6IiBjbGFzcz0iR3JlZW4iIC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjkt LjksNS42LDIuNEwxOCwxNCAgIGg1LjdoNC4xSDI4VjRMMjQuNSw3LjV6IiBjbGFzcz0iR3JlZW4i
NS42LTIuNGwzLjYtMy42SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwz IC8+DQogICAgPHBhdGggZD0iTTE2LjIsMjRjLTIuMiwwLTQuMi0wLjktNS42LTIuNGwzLjYtMy42
LjUgICBDMjIuMSwyOCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBj SDguNEg0LjRINC4ydjEwbDMuNS0zLjVjMi4yLDIuMiw1LjIsMy41LDguNSwzLjUgICBDMjIuMSwy
bGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs= OCwyNywyMy43LDI4LDE4aC00LjFDMjMsMjEuNCwxOS45LDI0LDE2LjIsMjR6IiBjbGFzcz0iR3Jl
ZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem16.Caption" xml:space="preserve"> <data name="BarButtonItem16.Caption" xml:space="preserve">
<value>Ajoutez</value> <value>Ajoutez</value>
</data> </data>
<data name="BarButtonItem16.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem16.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAGICAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AGICAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5Z ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
ZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAz LkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5ZZWxsb3d7ZmlsbDojRkZCMTE1O30KCS5CbGFja3tmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgkuc3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNp OiM3MjcyNzI7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
dHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0 c3Qwe29wYWNpdHk6MC43NTt9Cgkuc3Qxe29wYWNpdHk6MC41O30KPC9zdHlsZT4NCiAgPGcgaWQ9
QzkuNCw0LDQsOS40LDQsMTZzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0 IkFkZENpcmNsZWQiPg0KICAgIDxwYXRoIGQ9Ik0xNiw0QzkuNCw0LDQsOS40LDQsMTZzNS40LDEy
LDE4aC02djZoLTR2LTZIOHYtNGg2VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4N LDEyLDEyczEyLTUuNCwxMi0xMlMyMi42LDQsMTYsNHogTTI0LDE4aC02djZoLTR2LTZIOHYtNGg2
Cjwvc3ZnPgs= VjhoNHY2aDZWMTh6IiBjbGFzcz0iR3JlZW4iIC8+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem17.Caption" xml:space="preserve"> <data name="BarButtonItem17.Caption" xml:space="preserve">
<value>Supprimez</value> <value>Supprimez</value>
</data> </data>
<data name="BarButtonItem17.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem17.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAD0DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AD0DAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJs ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
YWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMy LlJlZHtmaWxsOiNEMTFDMUM7fQoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuQmx1ZXtmaWxsOiMx
Mzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh MTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9Cgku
Y2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAuNzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4N V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjU7fQoJLnN0MXtvcGFjaXR5OjAu
CiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEu NzU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRGVsZXRlIj4NCiAgICA8Zz4NCiAgICAgIDxwYXRoIGQ9
NGwtMS40LTEuNGMtMC40LTAuNC0xLTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0w Ik0xOC44LDE2bDYuOS02LjljMC40LTAuNCwwLjQtMSwwLTEuNGwtMS40LTEuNGMtMC40LTAuNC0x
LjQtMS40LDAgICAgTDYuMyw3LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMt LTAuNC0xLjQsMEwxNiwxMy4yTDkuMSw2LjNjLTAuNC0wLjQtMS0wLjQtMS40LDAgICAgTDYuMyw3
MC40LDAuNC0wLjQsMSwwLDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2Ljks LjdjLTAuNCwwLjQtMC40LDEsMCwxLjRsNi45LDYuOWwtNi45LDYuOWMtMC40LDAuNC0wLjQsMSww
Ni45ICAgIGMwLjQsMC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44 LDEuNGwxLjQsMS40YzAuNCwwLjQsMSwwLjQsMS40LDBsNi45LTYuOWw2LjksNi45ICAgIGMwLjQs
LDE2eiIgY2xhc3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs= MC40LDEsMC40LDEuNCwwbDEuNC0xLjRjMC40LTAuNCwwLjQtMSwwLTEuNEwxOC44LDE2eiIgY2xh
c3M9IlJlZCIgLz4NCiAgICA8L2c+DQogIDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem18.Caption" xml:space="preserve"> <data name="BarButtonItem18.Caption" xml:space="preserve">
<value>Sauvez</value> <value>Sauvez</value>
</data> </data>
<data name="BarButtonItem18.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem18.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4BAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AO4BAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1i
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 YWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiww YWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1
LjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVDMjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYt QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiwwLjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVD
NiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2si MjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYtNiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6
IC8+DQo8L3N2Zz4L IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem19.Caption" xml:space="preserve"> <data name="BarButtonItem19.Caption" xml:space="preserve">
@@ -846,76 +852,78 @@
<data name="BarButtonItem21.Hint" xml:space="preserve"> <data name="BarButtonItem21.Hint" xml:space="preserve">
<value>Ouvre l'éditeur SQL pour la vue du profil SQL</value> <value>Ouvre l'éditeur SQL pour la vue du profil SQL</value>
</data> </data>
<data name="BarButtonItem21.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem21.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAFkEAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AFkEAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iUGl2b3RfVGFibGVfT3B0aW9ucyIgc3R5bGU9ImVuYWJsZS1iYWNrZ3Jv OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iUGl2b3RfVGFibGVfT3B0aW9ucyIg
dW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDoj c3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0i
MTE3N0Q3O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJLnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+ dGV4dC9jc3MiPgoJLkJsdWV7ZmlsbDojMTE3N0Q3O30KCS5CbGFja3tmaWxsOiM3MjcyNzI7fQoJ
DQogIDxnIGNsYXNzPSJzdDAiPg0KICAgIDxwYXRoIGQ9Ik0xMCwxMEg2VjZoNFYxMHogTTI0LDZIMTJ2 LnN0MHtvcGFjaXR5OjAuNTt9Cjwvc3R5bGU+DQogIDxnIGNsYXNzPSJzdDAiPg0KICAgIDxwYXRo
NGgxMlY2eiBNMTAsMTJINnYxMmg0VjEyeiIgY2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPHBhdGgg IGQ9Ik0xMCwxMEg2VjZoNFYxMHogTTI0LDZIMTJ2NGgxMlY2eiBNMTAsMTJINnYxMmg0VjEyeiIg
ZD0iTTE2LDI2SDRWNGgyMnYxMmMwLjcsMC4yLDEuNCwwLjUsMiwwLjhWM2MwLTAuNi0wLjQtMS0xLTFI Y2xhc3M9IkJsdWUiIC8+DQogIDwvZz4NCiAgPHBhdGggZD0iTTE2LDI2SDRWNGgyMnYxMmMwLjcs
M0MyLjQsMiwyLDIuNCwyLDN2MjRjMCwwLjYsMC40LDEsMSwxaDEzLjggIEMxNi41LDI3LjQsMTYuMiwy MC4yLDEuNCwwLjUsMiwwLjhWM2MwLTAuNi0wLjQtMS0xLTFIM0MyLjQsMiwyLDIuNCwyLDN2MjRj
Ni43LDE2LDI2eiIgY2xhc3M9IkJsYWNrIiAvPg0KICA8cGF0aCBkPSJNMzIsMjV2LTJsLTIuMi0wLjRj MCwwLjYsMC40LDEsMSwxaDEzLjggIEMxNi41LDI3LjQsMTYuMiwyNi43LDE2LDI2eiIgY2xhc3M9
LTAuMi0wLjYtMC40LTEuMy0wLjgtMS44bDEuMy0xLjhsLTEuNC0xLjRsLTEuOCwxLjNjLTAuNS0wLjMt IkJsYWNrIiAvPg0KICA8cGF0aCBkPSJNMzIsMjV2LTJsLTIuMi0wLjRjLTAuMi0wLjYtMC40LTEu
MS4yLTAuNi0xLjgtMC43TDI1LDE2aC0yICBsLTAuNCwyLjJjLTAuNiwwLjItMS4zLDAuNC0xLjgsMC43 My0wLjgtMS44bDEuMy0xLjhsLTEuNC0xLjRsLTEuOCwxLjNjLTAuNS0wLjMtMS4yLTAuNi0xLjgt
bC0xLjgtMS4zbC0xLjQsMS40bDEuMywxLjhjLTAuMywwLjUtMC42LDEuMi0wLjgsMS44TDE2LDIzdjJs MC43TDI1LDE2aC0yICBsLTAuNCwyLjJjLTAuNiwwLjItMS4zLDAuNC0xLjgsMC43bC0xLjgtMS4z
Mi4yLDAuNGMwLjIsMC42LDAuNCwxLjMsMC44LDEuOCAgbC0xLjMsMS44bDEuNCwxLjRsMS44LTEuM2Mw bC0xLjQsMS40bDEuMywxLjhjLTAuMywwLjUtMC42LDEuMi0wLjgsMS44TDE2LDIzdjJsMi4yLDAu
LjUsMC4zLDEuMiwwLjYsMS44LDAuN0wyMywzMmgybDAuNC0yLjJjMC42LTAuMiwxLjMtMC40LDEuOC0w NGMwLjIsMC42LDAuNCwxLjMsMC44LDEuOCAgbC0xLjMsMS44bDEuNCwxLjRsMS44LTEuM2MwLjUs
LjdsMS44LDEuM2wxLjQtMS40bC0xLjMtMS44ICBjMC4zLTAuNSwwLjYtMS4yLDAuOC0xLjhMMzIsMjV6 MC4zLDEuMiwwLjYsMS44LDAuN0wyMywzMmgybDAuNC0yLjJjMC42LTAuMiwxLjMtMC40LDEuOC0w
IE0yNCwyNmMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMmMxLjEsMCwyLDAuOSwyLDJTMjUuMSwyNiwy LjdsMS44LDEuM2wxLjQtMS40bC0xLjMtMS44ICBjMC4zLTAuNSwwLjYtMS4yLDAuOC0xLjhMMzIs
NCwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KPC9zdmc+Cw== MjV6IE0yNCwyNmMtMS4xLDAtMi0wLjktMi0yczAuOS0yLDItMmMxLjEsMCwyLDAuOSwyLDJTMjUu
MSwyNiwyNCwyNnoiIGNsYXNzPSJCbHVlIiAvPg0KPC9zdmc+Cw==
</value> </value>
</data> </data>
<data name="bbtnItemFinishSQL.Caption" xml:space="preserve"> <data name="bbtnItemFinishSQL.Caption" xml:space="preserve">
<value>Conclusion vérification SQL</value> <value>Conclusion vérification SQL</value>
</data> </data>
<data name="bbtnItemFinishSQL.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="bbtnItemFinishSQL.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAN4DAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi ANADAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iTGF5ZXJfMSIgc3R5bGU9ImVuYWJs
MzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cgku ZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJ
WWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxsOiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAz LkJsYWNre2ZpbGw6IzcyNzI3Mjt9CgkuWWVsbG93e2ZpbGw6I0ZGQjExNTt9CgkuQmx1ZXtmaWxs
OUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9CgkuV2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3Bh OiMxMTc3RDc7fQoJLkdyZWVue2ZpbGw6IzAzOUMyMzt9CgkuUmVke2ZpbGw6I0QxMUMxQzt9Cgku
Y2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTowLjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxl V2hpdGV7ZmlsbDojRkZGRkZGO30KCS5zdDB7b3BhY2l0eTowLjc1O30KCS5zdDF7b3BhY2l0eTow
Pg0KICA8ZyBpZD0iRmluaXNoTWVyZ2UiPg0KICAgIDxwYXRoIGQ9Ik0xMy4yLDE4Yy0wLjMsMC42LTAu LjU7fQoJLnN0MntvcGFjaXR5OjAuMjU7fQo8L3N0eWxlPg0KICA8ZyBpZD0iRmluaXNoTWVyZ2Ui
NiwxLjMtMC44LDJINnYtMkgxMy4yeiBNMTIuMSwyNEg0VjJoMTZ2MTAuNGMwLjYtMC4yLDEuMy0wLjMs Pg0KICAgIDxwYXRoIGQ9Ik0xMy4yLDE4Yy0wLjMsMC42LTAuNiwxLjMtMC44LDJINnYtMkgxMy4y
Mi0wLjRWMWMwLTAuNS0wLjUtMS0xLTEgICBIM0MyLjUsMCwyLDAuNSwyLDF2MjRjMCwwLjUsMC41LDEs eiBNMTIuMSwyNEg0VjJoMTZ2MTAuNGMwLjYtMC4yLDEuMy0wLjMsMi0wLjRWMWMwLTAuNS0wLjUt
MSwxaDkuNEMxMi4yLDI1LjQsMTIuMSwyNC43LDEyLjEsMjR6IE02LDE2aDguNWMwLjYtMC44LDEuNC0x MS0xLTEgICBIM0MyLjUsMCwyLDAuNSwyLDF2MjRjMCwwLjUsMC41LDEsMSwxaDkuNEMxMi4yLDI1
LjQsMi4yLTJINlYxNnogTTYsOGgxMlY2SDZWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICA8cmVjdCB4 LjQsMTIuMSwyNC43LDEyLjEsMjR6IE02LDE2aDguNWMwLjYtMC44LDEuNC0xLjQsMi4yLTJINlYx
PSI2IiB5PSIxMCIgd2lkdGg9IjEyIiBoZWlnaHQ9IjIiIHJ4PSIwIiByeT0iMCIgY2xhc3M9IlllbGxv NnogTTYsOGgxMlY2SDZWOHoiIGNsYXNzPSJCbGFjayIgLz4NCiAgICA8cmVjdCB4PSI2IiB5PSIx
dyIgLz4NCiAgICA8cGF0aCBkPSJNMjMsMTRjLTUsMC05LDQtOSw5YzAsNSw0LDksOSw5czktNCw5LTlD MCIgd2lkdGg9IjEyIiBoZWlnaHQ9IjIiIGNsYXNzPSJZZWxsb3ciIC8+DQogICAgPHBhdGggZD0i
MzIsMTgsMjgsMTQsMjMsMTR6IE0yMiwyOGwtNS01bDItMmwzLDNsNS01bDIsMkwyMiwyOHoiIGNsYXNz TTIzLDE0Yy01LDAtOSw0LTksOWMwLDUsNCw5LDksOXM5LTQsOS05QzMyLDE4LDI4LDE0LDIzLDE0
PSJHcmVlbiIgLz4NCiAgPC9nPg0KPC9zdmc+Cw== eiBNMjIsMjhsLTUtNWwyLTJsMywzbDUtNWwyLDJMMjIsMjh6IiBjbGFzcz0iR3JlZW4iIC8+DQog
IDwvZz4NCjwvc3ZnPgs=
</value> </value>
</data> </data>
<data name="BarButtonItem22.Caption" xml:space="preserve"> <data name="BarButtonItem22.Caption" xml:space="preserve">
<value>Sauvez</value> <value>Sauvez</value>
</data> </data>
<data name="BarButtonItem22.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v21.2" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="BarButtonItem22.ImageOptions.SvgImage" type="DevExpress.Utils.Svg.SvgImage, DevExpress.Data.v25.2" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjIxLjIsIFZlcnNpb249MjEuMi40 AAEAAAD/////AQAAAAAAAAAMAgAAAFlEZXZFeHByZXNzLkRhdGEudjI1LjIsIFZlcnNpb249MjUu
LjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUBAAAAHURl Mi4zLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjg4ZDE3NTRkNzAwZTQ5YQUB
dkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAAAO4BAAAC77u/ AAAAHURldkV4cHJlc3MuVXRpbHMuU3ZnLlN2Z0ltYWdlAQAAAAREYXRhBwICAAAACQMAAAAPAwAA
PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0iMHB4IiB5PSIwcHgi AO4BAAAC77u/PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxzdmcgeD0i
IHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMiAzMiIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3Bh cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
Y2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIg OTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiBpZD0iU2F2ZSIgc3R5bGU9ImVuYWJsZS1i
MzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJsYWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5 YWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzIiPg0KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLkJs
bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiww YWNre2ZpbGw6IzcyNzI3Mjt9Cjwvc3R5bGU+DQogIDxwYXRoIGQ9Ik0yNyw0aC0zdjEwSDhWNEg1
LjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVDMjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYt QzQuNCw0LDQsNC40LDQsNXYyMmMwLDAuNiwwLjQsMSwxLDFoMjJjMC42LDAsMS0wLjQsMS0xVjVD
NiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2si MjgsNC40LDI3LjYsNCwyNyw0eiBNMjQsMjRIOHYtNiAgaDE2VjI0eiBNMTAsNHY4aDEwVjRIMTB6
IC8+DQo8L3N2Zz4L IE0xNCwxMGgtMlY2aDJWMTB6IiBjbGFzcz0iQmxhY2siIC8+DQo8L3N2Zz4L
</value> </value>
</data> </data>
<data name="BarButtonItem24.Caption" xml:space="preserve"> <data name="BarButtonItem24.Caption" xml:space="preserve">

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

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