Frontend Application Init

This commit is contained in:
Sven Kribitz 2024-12-08 22:52:38 +01:00
parent 8f1d988677
commit dceb598b52
49 changed files with 1148 additions and 242 deletions

View file

@ -39,7 +39,7 @@ chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => {
if (selectedTab === "Summary") { if (selectedTab === "Summary") {
const pedigreeLinks = document.querySelectorAll('.pedigree a'); const pedigreeLinks = document.querySelectorAll('.pedigree a');
if (!pedigreeLinks) { if (!pedigreeLinks) {
console.error("No pedigree links found for Summary tab."); console.warn("No pedigree links found for Summary tab.");
sendResponse({ success: false, message: "No pedigree links found." }); sendResponse({ success: false, message: "No pedigree links found." });
return true; return true;
} }
@ -288,7 +288,7 @@ chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => {
} }
updateSingleLoadStateUI("Health", true, false); updateSingleLoadStateUI("Health", true, false);
} else { } else {
console.error("Unknown or no tab selected."); console.warn("Unknown or no tab selected.");
sendResponse({ success: false, message: "Unknown or no tab selected." }); sendResponse({ success: false, message: "Unknown or no tab selected." });
} }
} else { } else {
@ -307,11 +307,13 @@ function getTabselText() {
return document.querySelector('div.tabsel')?.textContent?.trim() || "Unknown"; return document.querySelector('div.tabsel')?.textContent?.trim() || "Unknown";
} }
function cleanResult(value) { function cleanResult(value) {
if (value === "This horse doesn't have any achievements") { // Check if the value is not a number or cannot be converted to a number
if (isNaN(value) || value === null || value === undefined || value === "") {
return -1; return -1;
} }
return value; return parseFloat(value); // Convert to a number if it is valid
} }
function cleanShowResults(results) { function cleanShowResults(results) {
// Überprüfen, ob das Array gültig ist // Überprüfen, ob das Array gültig ist
if (!Array.isArray(results)) { if (!Array.isArray(results)) {

View file

@ -3,20 +3,32 @@
"WorkspaceRootPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\", "WorkspaceRootPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\",
"Documents": [ "Documents": [
{ {
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\horseviewer.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
"RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\horseviewer.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewmain.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewmain.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewedittable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewedittable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewedittable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewedittable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
} }
], ],
"DocumentGroupContainers": [ "DocumentGroupContainers": [
@ -26,62 +38,97 @@
"DocumentGroups": [ "DocumentGroups": [
{ {
"DockedWidth": 200, "DockedWidth": 200,
"SelectedChildIndex": 1, "SelectedChildIndex": 7,
"Children": [ "Children": [
{ {
"$type": "Bookmark", "$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
}, },
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Horse.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Models\\Horse.cs",
"RelativeDocumentMoniker": "HorseViewer\\Models\\Horse.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Models\\Horse.cs",
"RelativeToolTip": "HorseViewer\\Models\\Horse.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAOAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T19:13:28.722Z",
"EditorCaption": ""
},
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 1, "DocumentIndex": 1,
"Title": "Form1.cs", "Title": "ViewMain.cs [Entwurf]",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Form1.cs", "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.cs",
"RelativeDocumentMoniker": "HorseViewer\\Form1.cs", "RelativeDocumentMoniker": "HorseViewer\\ViewMain.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Form1.cs", "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.cs [Entwurf]",
"RelativeToolTip": "HorseViewer\\Form1.cs", "RelativeToolTip": "HorseViewer\\ViewMain.cs [Entwurf]",
"ViewState": "AgIAAA8AAAAAAAAAAAAIwCAAAAAcAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T18:52:40.109Z", "WhenOpened": "2024-12-08T21:28:48.344Z",
"EditorCaption": "" "EditorCaption": " [Entwurf]"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Horse.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Models\\Horse.cs",
"RelativeDocumentMoniker": "HRServer\\Models\\Horse.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Models\\Horse.cs",
"RelativeToolTip": "HRServer\\Models\\Horse.cs",
"ViewState": "AgIAAAEBAAAAAAAAAAAcwB8BAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T18:45:20.797Z",
"EditorCaption": ""
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 3, "DocumentIndex": 3,
"Title": "HorseController.cs", "Title": "ViewMain.Designer.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.Designer.cs",
"RelativeDocumentMoniker": "HRServer\\Controllers\\HorseController.cs", "RelativeDocumentMoniker": "HorseViewer\\ViewMain.Designer.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.Designer.cs",
"RelativeToolTip": "HRServer\\Controllers\\HorseController.cs", "RelativeToolTip": "HorseViewer\\ViewMain.Designer.cs",
"ViewState": "AgIAABcAAAAAAAAAAAAgwCgAAAARAAAAAAAAAA==", "ViewState": "AgIAACAAAAAAAAAAAAAawCcAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T18:45:00.922Z", "WhenOpened": "2024-12-08T21:28:35.506Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "ViewEditTable.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewEditTable.cs",
"RelativeDocumentMoniker": "HorseViewer\\ViewEditTable.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewEditTable.cs",
"RelativeToolTip": "HorseViewer\\ViewEditTable.cs",
"ViewState": "AgIAACYAAAAAAAAAAAAEwDEAAAArAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T21:25:40.251Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "ViewEditTable.cs [Entwurf]",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewEditTable.cs",
"RelativeDocumentMoniker": "HorseViewer\\ViewEditTable.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewEditTable.cs [Entwurf]",
"RelativeToolTip": "HorseViewer\\ViewEditTable.cs [Entwurf]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T21:01:27.789Z",
"EditorCaption": " [Entwurf]"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "ViewSettings.cs [Entwurf]",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewSettings.cs",
"RelativeDocumentMoniker": "HorseViewer\\ViewSettings.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewSettings.cs [Entwurf]",
"RelativeToolTip": "HorseViewer\\ViewSettings.cs [Entwurf]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T20:59:50.626Z",
"EditorCaption": " [Entwurf]"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "HorseViewer",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
"RelativeDocumentMoniker": "HorseViewer\\HorseViewer.csproj",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
"RelativeToolTip": "HorseViewer\\HorseViewer.csproj",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2024-12-08T20:58:28.928Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "ViewMain.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.cs",
"RelativeDocumentMoniker": "HorseViewer\\ViewMain.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.cs",
"RelativeToolTip": "HorseViewer\\ViewMain.cs",
"ViewState": "AgIAAE0AAAAAAAAAAAAAAFoAAAAyAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T18:52:40.109Z",
"EditorCaption": "" "EditorCaption": ""
} }
] ]

View file

@ -3,20 +3,32 @@
"WorkspaceRootPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\", "WorkspaceRootPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\",
"Documents": [ "Documents": [
{ {
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewmain.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\horseviewer.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|",
"RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\horseviewer.csproj||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|"
}, },
{ {
"AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewmain.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewmain.designer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewedittable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewedittable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewedittable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewedittable.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
},
{
"AbsoluteMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\horseviewer\\viewsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form",
"RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\viewsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}|Form"
} }
], ],
"DocumentGroupContainers": [ "DocumentGroupContainers": [
@ -26,62 +38,97 @@
"DocumentGroups": [ "DocumentGroups": [
{ {
"DockedWidth": 200, "DockedWidth": 200,
"SelectedChildIndex": 1, "SelectedChildIndex": 7,
"Children": [ "Children": [
{ {
"$type": "Bookmark", "$type": "Bookmark",
"Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}" "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
}, },
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "Horse.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Models\\Horse.cs",
"RelativeDocumentMoniker": "HorseViewer\\Models\\Horse.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Models\\Horse.cs",
"RelativeToolTip": "HorseViewer\\Models\\Horse.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAkAAAAOAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T19:13:28.722Z",
"EditorCaption": ""
},
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 1, "DocumentIndex": 1,
"Title": "Form1.cs", "Title": "ViewMain.cs [Entwurf]",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Form1.cs", "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.cs",
"RelativeDocumentMoniker": "HorseViewer\\Form1.cs", "RelativeDocumentMoniker": "HorseViewer\\ViewMain.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Form1.cs", "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.cs [Entwurf]",
"RelativeToolTip": "HorseViewer\\Form1.cs", "RelativeToolTip": "HorseViewer\\ViewMain.cs [Entwurf]",
"ViewState": "AgIAAA8AAAAAAAAAAAAIwCAAAAAcAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T18:52:40.109Z", "WhenOpened": "2024-12-08T21:28:48.344Z",
"EditorCaption": "" "EditorCaption": " [Entwurf]"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "Horse.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Models\\Horse.cs",
"RelativeDocumentMoniker": "HRServer\\Models\\Horse.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Models\\Horse.cs",
"RelativeToolTip": "HRServer\\Models\\Horse.cs",
"ViewState": "AgIAAAEBAAAAAAAAAAAcwB8BAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T18:45:20.797Z",
"EditorCaption": ""
}, },
{ {
"$type": "Document", "$type": "Document",
"DocumentIndex": 3, "DocumentIndex": 3,
"Title": "HorseController.cs", "Title": "ViewMain.Designer.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.Designer.cs",
"RelativeDocumentMoniker": "HRServer\\Controllers\\HorseController.cs", "RelativeDocumentMoniker": "HorseViewer\\ViewMain.Designer.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs", "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.Designer.cs",
"RelativeToolTip": "HRServer\\Controllers\\HorseController.cs", "RelativeToolTip": "HorseViewer\\ViewMain.Designer.cs",
"ViewState": "AgIAABcAAAAAAAAAAAAgwCgAAAARAAAAAAAAAA==", "ViewState": "AgIAACAAAAAAAAAAAAAawCcAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T18:45:00.922Z", "WhenOpened": "2024-12-08T21:28:35.506Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 4,
"Title": "ViewEditTable.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewEditTable.cs",
"RelativeDocumentMoniker": "HorseViewer\\ViewEditTable.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewEditTable.cs",
"RelativeToolTip": "HorseViewer\\ViewEditTable.cs",
"ViewState": "AgIAACYAAAAAAAAAAAAEwDEAAAArAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T21:25:40.251Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "ViewEditTable.cs [Entwurf]",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewEditTable.cs",
"RelativeDocumentMoniker": "HorseViewer\\ViewEditTable.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewEditTable.cs [Entwurf]",
"RelativeToolTip": "HorseViewer\\ViewEditTable.cs [Entwurf]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T21:01:27.789Z",
"EditorCaption": " [Entwurf]"
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "ViewSettings.cs [Entwurf]",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewSettings.cs",
"RelativeDocumentMoniker": "HorseViewer\\ViewSettings.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewSettings.cs [Entwurf]",
"RelativeToolTip": "HorseViewer\\ViewSettings.cs [Entwurf]",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T20:59:50.626Z",
"EditorCaption": " [Entwurf]"
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "HorseViewer",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
"RelativeDocumentMoniker": "HorseViewer\\HorseViewer.csproj",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
"RelativeToolTip": "HorseViewer\\HorseViewer.csproj",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|",
"WhenOpened": "2024-12-08T20:58:28.928Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "ViewMain.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.cs",
"RelativeDocumentMoniker": "HorseViewer\\ViewMain.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\ViewMain.cs",
"RelativeToolTip": "HorseViewer\\ViewMain.cs",
"ViewState": "AgIAAE0AAAAAAAAAAAAAAF4AAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2024-12-08T18:52:40.109Z",
"EditorCaption": "" "EditorCaption": ""
} }
] ]

View file

@ -1 +1 @@
{"19055499":{"id":19055499,"age":6,"name":"Foal Doe 19055499","gender":"Mare","breed":"Akhal-Teke","link":"https://www.horsereality.com/horses/19055499/foal-doe-19055499","lastDrawnDate":"2024-12-08T20:07:41.1057801+01:00","Summary":{"RelatedIds":["https://www.horsereality.com/horses/1922256/gozgan","https://www.horsereality.com/horses/1922245/guljady"]},"Training":{"Training":""},"Genetics":{"GP":679,"GeneticPotential":{"Acceleration":73,"Agility":65,"Balance":68,"Bascule":64,"Pulling power":33,"Speed":74,"Sprint":69,"Stamina":90,"Strength":59,"Surefootedness":84},"Disciplines":{"Dressage":192,"Driving":321,"Endurance":307,"Eventing":349,"Flat Racing":306,"Show Jumping":330,"Western Reining":290},"Colors":{"Extension":"? / ?","Agouti":"? / ?","Grey":"? / ?","Creampearl":"? / ?","Dun":"? / ?","Champagne":"? / ?","Silver":"? / ?","Mushroom":"? / ?","Frame":"? / ?","Appaloosa":"? / ?","PATN1":"? / ?","MITF":"? / ?","SW2":"? / ?","KIT":"? / ?"}},"Achievements":{"ShowResults":[],"Conformation":{"Walk":"Average","Trot":"Average","Canter":"Good","Gallop":"Below average","Posture":"Good","Head":"Average","Neck":"Good","Back":"Average","Shoulders":"Average","Frontlegs":"Good","Hindquarters":"Below average","Socks":"Average"},"ShortConformation":"6A 4G 2BA","MaxShowResult":-1,"MinShowResult":-1,"MaxCompetitionResult":-1,"MinCompetitionResult":-1},"Health":{"Health":{}},"LoadState":{"BasicInfoLoaded":true,"BasicInfoNeedsRefresh":false,"SummaryLoaded":true,"SummaryNeedsRefresh":false,"TrainingLoaded":false,"TrainingNeedsRefresh":false,"GeneticsLoaded":true,"GeneticsNeedsRefresh":false,"AchievementsLoaded":true,"AchievementsNeedsRefresh":false,"HealthLoaded":false,"HealthNeedsRefresh":false}},"17848165":{"id":17848165,"age":5,"name":"Foal Doe 17848165","gender":"Stallion","breed":"Cleveland Bay","link":"https://www.horsereality.com/horses/17848165/foal-doe-17848165","lastDrawnDate":"2024-12-08T20:08:00.3404896+01:00","Summary":{"RelatedIds":[]},"Training":{"Training":""},"Genetics":{"GP":671,"GeneticPotential":{"Acceleration":66,"Agility":57,"Balance":72,"Bascule":75,"Pulling power":78,"Speed":67,"Sprint":53,"Stamina":72,"Strength":75,"Surefootedness":56},"Disciplines":{"Dressage":204,"Driving":349,"Endurance":270,"Eventing":345,"Flat Racing":258,"Show Jumping":326,"Western Reining":251},"Colors":{"Extension":"? / ?","Agouti":"? / ?","Grey":"? / ?","Creampearl":"? / ?","Dun":"? / ?","Champagne":"? / ?","Silver":"? / ?","Mushroom":"? / ?","Frame":"? / ?","Appaloosa":"? / ?","PATN1":"? / ?","MITF":"? / ?","SW2":"? / ?","KIT":"? / ?"}},"Achievements":{"ShowResults":[],"Conformation":{},"ShortConformation":"","MaxShowResult":0,"MinShowResult":0,"MaxCompetitionResult":0,"MinCompetitionResult":0},"Health":{"Health":{}},"LoadState":{"BasicInfoLoaded":true,"BasicInfoNeedsRefresh":false,"SummaryLoaded":false,"SummaryNeedsRefresh":false,"TrainingLoaded":false,"TrainingNeedsRefresh":false,"GeneticsLoaded":true,"GeneticsNeedsRefresh":false,"AchievementsLoaded":false,"AchievementsNeedsRefresh":false,"HealthLoaded":false,"HealthNeedsRefresh":false}}} {"17848165":{"id":17848165,"age":5,"name":"Foal Doe 17848165","gender":"Stallion","breed":"Cleveland Bay","link":"https://www.horsereality.com/horses/17848165/foal-doe-17848165","lastDrawnDate":"2024-12-08T20:29:54.3591439+01:00","Summary":{"RelatedIds":["https://www.horsereality.com/horses/12826575/eadgar","https://www.horsereality.com/horses/12826522/mildburg"]},"Training":{"Training":"Basic Training"},"Genetics":{"GP":671,"GeneticPotential":{"Acceleration":66,"Agility":57,"Balance":72,"Bascule":75,"Pulling power":78,"Speed":67,"Sprint":53,"Stamina":72,"Strength":75,"Surefootedness":56},"Disciplines":{"Dressage":204,"Driving":349,"Endurance":270,"Eventing":345,"Flat Racing":258,"Show Jumping":326,"Western Reining":251},"Colors":{"Extension":"? / ?","Agouti":"? / ?","Grey":"? / ?","Creampearl":"? / ?","Dun":"? / ?","Champagne":"? / ?","Silver":"? / ?","Mushroom":"? / ?","Frame":"? / ?","Appaloosa":"? / ?","PATN1":"? / ?","MITF":"? / ?","SW2":"? / ?","KIT":"? / ?"}},"Achievements":{"ShowResults":[],"Conformation":{"Walk":"Good","Trot":"Good","Canter":"Good","Gallop":"Good","Posture":"Good","Head":"Average","Neck":"Good","Back":"Average","Shoulders":"Good","Frontlegs":"Good","Hindquarters":"Average","Socks":"Average"},"ShortConformation":"8G 4A","MaxShowResult":-1,"MinShowResult":-1,"MaxCompetitionResult":-1,"MinCompetitionResult":-1},"Health":{"Health":{"Fertility":"Good","Colic resistance":"Good","Hoof quality":"Good","Back problems":"Excellent","Respiratory disease":"Good","Resistance to lameness":"Excellent"}},"LoadState":{"BasicInfoLoaded":true,"BasicInfoNeedsRefresh":false,"SummaryLoaded":true,"SummaryNeedsRefresh":false,"TrainingLoaded":true,"TrainingNeedsRefresh":false,"GeneticsLoaded":true,"GeneticsNeedsRefresh":false,"AchievementsLoaded":true,"AchievementsNeedsRefresh":false,"HealthLoaded":true,"HealthNeedsRefresh":false}},"17911721":{"id":17911721,"age":4,"name":"Foal Doe 17911721","gender":"Stallion","breed":"Brabant Horse","link":"https://www.horsereality.com/horses/17911721/foal-doe-17911721","lastDrawnDate":"2024-12-08T20:30:25.871593+01:00","Summary":{"RelatedIds":[]},"Training":{"Training":""},"Genetics":{"GP":524,"GeneticPotential":{"Acceleration":39,"Agility":40,"Balance":47,"Bascule":42,"Pulling power":85,"Speed":50,"Sprint":55,"Stamina":66,"Strength":54,"Surefootedness":46},"Disciplines":{"Dressage":141,"Driving":295,"Endurance":216,"Eventing":239,"Flat Racing":210,"Show Jumping":230,"Western Reining":172},"Colors":{"Extension":"? / ?","Agouti":"? / ?","Grey":"? / ?","Creampearl":"n / n","Dun":"nd2 / nd2","Champagne":"? / ?","Silver":"? / ?","Mushroom":"? / ?","Frame":"? / ?","Appaloosa":"? / ?","PATN1":"? / ?","MITF":"? / ?","SW2":"? / ?","KIT":"? / ?"}},"Achievements":{"ShowResults":[],"Conformation":{"Walk":"Good","Trot":"Good","Canter":"Below average","Gallop":"Average","Posture":"Very good","Head":"Good","Neck":"Good","Back":"Good","Shoulders":"Good","Frontlegs":"Good","Hindquarters":"Good","Socks":"Good"},"ShortConformation":"9G 1BA 1A 1VG","MaxShowResult":-1,"MinShowResult":-1,"MaxCompetitionResult":-1,"MinCompetitionResult":-1},"Health":{"Health":{}},"LoadState":{"BasicInfoLoaded":true,"BasicInfoNeedsRefresh":false,"SummaryLoaded":false,"SummaryNeedsRefresh":false,"TrainingLoaded":false,"TrainingNeedsRefresh":false,"GeneticsLoaded":true,"GeneticsNeedsRefresh":false,"AchievementsLoaded":true,"AchievementsNeedsRefresh":false,"HealthLoaded":false,"HealthNeedsRefresh":false}}}

File diff suppressed because one or more lines are too long

View file

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("HRServer")] [assembly: System.Reflection.AssemblyCompanyAttribute("HRServer")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+12b7fc655326aa1426924b3c90b144f694605d52")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8f1d98867721eca2ff0013c3d41284809087d4ae")]
[assembly: System.Reflection.AssemblyProductAttribute("HRServer")] [assembly: System.Reflection.AssemblyProductAttribute("HRServer")]
[assembly: System.Reflection.AssemblyTitleAttribute("HRServer")] [assembly: System.Reflection.AssemblyTitleAttribute("HRServer")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View file

@ -1 +1 @@
460cd62de3c1086440c4a0d159fce26552e588833218be100511410cd92708f4 850a8fe9acac4f17d01598d3d837a83153b8af1b66bac89b79d7a2956c463839

View file

@ -1,73 +0,0 @@
namespace HorseViewer
{
partial class Form1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
dataGridView1 = new DataGridView();
button1 = new Button();
((System.ComponentModel.ISupportInitialize)dataGridView1).BeginInit();
SuspendLayout();
//
// dataGridView1
//
dataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
dataGridView1.Location = new Point(254, 171);
dataGridView1.Name = "dataGridView1";
dataGridView1.Size = new Size(797, 477);
dataGridView1.TabIndex = 0;
dataGridView1.CellContentClick += dataGridView1_CellContentClick;
//
// button1
//
button1.Location = new Point(12, 12);
button1.Name = "button1";
button1.Size = new Size(75, 23);
button1.TabIndex = 1;
button1.Text = "button1";
button1.UseVisualStyleBackColor = true;
button1.Click += button1_Click;
//
// Form1
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(1229, 717);
Controls.Add(button1);
Controls.Add(dataGridView1);
Name = "Form1";
Text = "Form1";
((System.ComponentModel.ISupportInitialize)dataGridView1).EndInit();
ResumeLayout(false);
}
#endregion
private DataGridView dataGridView1;
private Button button1;
}
}

View file

@ -1,54 +0,0 @@
using HorseViewer.Models;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace HorseViewer
{
public class HorseGridViewItem
{
public ulong Id { get; set; }
public string Name { get; set; }
public string Breed { get; set; }
public string Gender { get; set; }
public int Age { get; set; }
public DateTime LastDrawnDate { get; set; }
public bool IsAllDataLoaded { get; set; }
}
public partial class Form1 : Form
{
string horsePath = "";
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
FileDialog fileDialog = new OpenFileDialog();
if (fileDialog.ShowDialog() == DialogResult.OK)
{
horsePath = fileDialog.FileName;
}
var json = File.ReadAllText(horsePath);
HorseFactory.Horses = JsonSerializer.Deserialize<Dictionary<ulong, HorseViewer.Models.Horse>>(json);
var result = HorseFactory.GetAllHorses().Values.Select(horse => new HorseGridViewItem
{
Id = horse.Id ?? 0,
Name = horse.HorseName,
Breed = horse.Breed,
Gender = horse.Gender,
Age = horse.Age ?? 0,
LastDrawnDate = horse.LastDrawnDate,
IsAllDataLoaded = horse.IsAllDataLoaded()
}).ToList();
dataGridView1.DataSource = result;
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

View file

@ -6,6 +6,11 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>HR-Collector_Icon.ico</ApplicationIcon>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<Content Include="HR-Collector_Icon.ico" />
</ItemGroup>
</Project> </Project>

View file

@ -1,2 +1,14 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" /> <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Compile Update="ViewEditTable.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="ViewMain.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="ViewSettings.cs">
<SubType>Form</SubType>
</Compile>
</ItemGroup>
</Project>

View file

@ -11,7 +11,7 @@ namespace HorseViewer
// To customize application configuration such as set high DPI settings or default font, // To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration. // see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize(); ApplicationConfiguration.Initialize();
Application.Run(new Form1()); Application.Run(new ViewMain());
} }
} }
} }

View file

@ -0,0 +1,94 @@
namespace HorseViewer
{
partial class ViewEditTable
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
checkedListBoxProperties = new CheckedListBox();
button1 = new Button();
txtTabName = new TextBox();
button2 = new Button();
SuspendLayout();
//
// checkedListBoxProperties
//
checkedListBoxProperties.FormattingEnabled = true;
checkedListBoxProperties.Location = new Point(24, 12);
checkedListBoxProperties.Name = "checkedListBoxProperties";
checkedListBoxProperties.Size = new Size(450, 364);
checkedListBoxProperties.TabIndex = 0;
//
// button1
//
button1.Location = new Point(713, 415);
button1.Name = "button1";
button1.Size = new Size(75, 23);
button1.TabIndex = 1;
button1.Text = "button1";
button1.UseVisualStyleBackColor = true;
button1.Click += button1_Click;
//
// txtTabName
//
txtTabName.Location = new Point(574, 22);
txtTabName.Name = "txtTabName";
txtTabName.Size = new Size(100, 23);
txtTabName.TabIndex = 2;
//
// button2
//
button2.Location = new Point(12, 415);
button2.Name = "button2";
button2.Size = new Size(75, 23);
button2.TabIndex = 3;
button2.Text = "button2";
button2.UseVisualStyleBackColor = true;
button2.Click += button2_Click;
//
// ViewEditTable
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(800, 450);
Controls.Add(button2);
Controls.Add(txtTabName);
Controls.Add(button1);
Controls.Add(checkedListBoxProperties);
Name = "ViewEditTable";
Text = "ViewEditTable";
ResumeLayout(false);
PerformLayout();
}
#endregion
private CheckedListBox checkedListBoxProperties;
private Button button1;
private TextBox txtTabName;
private Button button2;
}
}

View file

@ -0,0 +1,61 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HorseViewer
{
public partial class ViewEditTable : Form
{
public string TabName { get; private set; }
public List<string> SelectedProperties { get; private set; } = new();
public ViewEditTable()
{
InitializeComponent();
// Hole alle Properties von HorseGridViewItem
var properties = typeof(HorseGridViewItem).GetProperties()
.Select(p => p.Name)
.ToList();
// Fülle die CheckedListBox
foreach (var property in properties)
{
checkedListBoxProperties.Items.Add(property, true); // Standardmäßig alle angehakt
}
}
private void button1_Click(object sender, EventArgs e)
{
TabName = txtTabName.Text.Trim();
if (string.IsNullOrWhiteSpace(TabName))
{
MessageBox.Show("Bitte einen Namen für den Tab eingeben.");
return;
}
// Hole die ausgewählten Properties
SelectedProperties = checkedListBoxProperties.CheckedItems.Cast<string>().ToList();
if (SelectedProperties.Count == 0)
{
MessageBox.Show("Bitte mindestens eine Eigenschaft auswählen.");
return;
}
DialogResult = DialogResult.OK;
Close();
}
private void button2_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
}
}

View file

@ -0,0 +1,103 @@
namespace HorseViewer
{
partial class ViewMain
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ViewMain));
tabControl1 = new TabControl();
menuStrip1 = new MenuStrip();
toolStripMenuItem1 = new ToolStripMenuItem();
einstellungenToolStripMenuItem = new ToolStripMenuItem();
editTableToolStripMenuItem = new ToolStripMenuItem();
menuStrip1.SuspendLayout();
SuspendLayout();
//
// tabControl1
//
tabControl1.Dock = DockStyle.Fill;
tabControl1.Location = new Point(0, 24);
tabControl1.Name = "tabControl1";
tabControl1.SelectedIndex = 0;
tabControl1.Size = new Size(1229, 693);
tabControl1.TabIndex = 2;
//
// menuStrip1
//
menuStrip1.Items.AddRange(new ToolStripItem[] { toolStripMenuItem1 });
menuStrip1.Location = new Point(0, 0);
menuStrip1.Name = "menuStrip1";
menuStrip1.Size = new Size(1229, 24);
menuStrip1.TabIndex = 3;
menuStrip1.Text = "menuStrop";
//
// toolStripMenuItem1
//
toolStripMenuItem1.DropDownItems.AddRange(new ToolStripItem[] { einstellungenToolStripMenuItem, editTableToolStripMenuItem });
toolStripMenuItem1.Name = "toolStripMenuItem1";
toolStripMenuItem1.Size = new Size(46, 20);
toolStripMenuItem1.Text = "File...";
//
// einstellungenToolStripMenuItem
//
einstellungenToolStripMenuItem.Name = "einstellungenToolStripMenuItem";
einstellungenToolStripMenuItem.Size = new Size(180, 22);
einstellungenToolStripMenuItem.Text = "Settings";
//
// editTableToolStripMenuItem
//
editTableToolStripMenuItem.Name = "editTableToolStripMenuItem";
editTableToolStripMenuItem.Size = new Size(180, 22);
editTableToolStripMenuItem.Text = "Edit table";
editTableToolStripMenuItem.Click += editTableToolStripMenuItem_Click;
//
// ViewMain
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(1229, 717);
Controls.Add(tabControl1);
Controls.Add(menuStrip1);
Icon = (Icon)resources.GetObject("$this.Icon");
MainMenuStrip = menuStrip1;
Name = "ViewMain";
Text = "Horsetastic";
Load += ViewMain_Load;
menuStrip1.ResumeLayout(false);
menuStrip1.PerformLayout();
ResumeLayout(false);
PerformLayout();
}
#endregion
private TabControl tabControl1;
private MenuStrip menuStrip1;
private ToolStripMenuItem toolStripMenuItem1;
private ToolStripMenuItem einstellungenToolStripMenuItem;
private ToolStripMenuItem editTableToolStripMenuItem;
}
}

View file

@ -0,0 +1,129 @@
using HorseViewer.Models;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace HorseViewer
{
public partial class ViewMain : Form
{
public ViewMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
/*FileDialog fileDialog = new OpenFileDialog();
if (fileDialog.ShowDialog() == DialogResult.OK)
{
horsePath = fileDialog.FileName;
}
var json = File.ReadAllText(horsePath);
HorseFactory.Horses = JsonSerializer.Deserialize<Dictionary<ulong, HorseViewer.Models.Horse>>(json);
var result = HorseFactory.GetAllHorses().Values.Select(horse => new HorseGridViewItem
{
Id = horse.Id ?? 0,
Name = horse.HorseName,
Breed = horse.Breed,
Gender = horse.Gender,
Age = horse.Age ?? 0,
LastDrawnDate = horse.LastDrawnDate,
IsAllDataLoaded = horse.IsAllDataLoaded()
}).ToList();
dataGridView1.DataSource = result;*/
}
private void AddNewTab()
{
using (var settingsForm = new ViewEditTable())
{
if (settingsForm.ShowDialog() == DialogResult.OK)
{
// Erstelle eine neue TabPage
var tabPage = new TabPage(settingsForm.TabName);
var dataGridView = new DataGridView
{
Dock = DockStyle.Fill,
AutoGenerateColumns = false
};
// Füge die ausgewählten Properties als Spalten hinzu
foreach (var propertyName in settingsForm.SelectedProperties)
{
dataGridView.Columns.Add(new DataGridViewTextBoxColumn
{
HeaderText = propertyName,
DataPropertyName = propertyName
});
}
// Hole die Daten und filtere nur die ausgewählten Properties
var filteredData = HorseFactory.GetAllHorses()
.Values
.Select(horse => new HorseGridViewItem
{
Id = horse.Id ?? 0,
Name = settingsForm.SelectedProperties.Contains(nameof(HorseGridViewItem.Name)) ? horse.HorseName : null,
Breed = settingsForm.SelectedProperties.Contains(nameof(HorseGridViewItem.Breed)) ? horse.Breed : null,
Gender = settingsForm.SelectedProperties.Contains(nameof(HorseGridViewItem.Gender)) ? horse.Gender : null,
Age = settingsForm.SelectedProperties.Contains(nameof(HorseGridViewItem.Age)) ? horse.Age ?? 0 : 0,
LastDrawnDate = settingsForm.SelectedProperties.Contains(nameof(HorseGridViewItem.LastDrawnDate)) ? horse.LastDrawnDate : DateTime.MinValue,
IsAllDataLoaded = settingsForm.SelectedProperties.Contains(nameof(HorseGridViewItem.IsAllDataLoaded)) && horse.IsAllDataLoaded()
})
.ToList();
dataGridView.DataSource = filteredData;
// Füge DataGridView zur TabPage hinzu
tabPage.Controls.Add(dataGridView);
// Füge die TabPage zum TabControl hinzu
tabControl1.TabPages.Add(tabPage);
}
}
}
private void ViewMain_Load(object sender, EventArgs e)
{
// Initialisiere TabControl mit Standardtab
var json = File.ReadAllText("Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Horses.json");
HorseFactory.Horses = JsonSerializer.Deserialize<Dictionary<ulong, Horse>>(json);
tabControl1.TabPages.Clear();
var defaultTab = new TabPage("Default Tab");
var defaultDataGridView = new DataGridView
{
Dock = DockStyle.Fill,
AutoGenerateColumns = true,
DataSource = HorseFactory.GetAllHorses().Values.Select(horse => new HorseGridViewItem
{
Id = horse.Id ?? 0,
Name = horse.HorseName,
Breed = horse.Breed,
Gender = horse.Gender,
Age = horse.Age ?? 0,
LastDrawnDate = horse.LastDrawnDate,
IsAllDataLoaded = horse.IsAllDataLoaded()
}).ToList()
};
defaultTab.Controls.Add(defaultDataGridView);
tabControl1.TabPages.Add(defaultTab);
}
private void editTableToolStripMenuItem_Click(object sender, EventArgs e)
{
AddNewTab();
}
}
public class HorseGridViewItem
{
public ulong Id { get; set; }
public string Name { get; set; }
public string Breed { get; set; }
public string Gender { get; set; }
public int Age { get; set; }
public DateTime LastDrawnDate { get; set; }
public bool IsAllDataLoaded { get; set; }
}
}

View file

@ -0,0 +1,352 @@
<?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="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
TkSuQmCC
</value>
</data>
</root>

View file

@ -0,0 +1,39 @@
namespace HorseViewer
{
partial class ViewSettings
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 450);
this.Text = "ViewSettings";
}
#endregion
}
}

View file

@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace HorseViewer
{
public partial class ViewSettings : Form
{
public ViewSettings()
{
InitializeComponent();
}
}
}

View file

@ -0,0 +1,120 @@
<?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>
</root>

View file

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("HorseViewer")] [assembly: System.Reflection.AssemblyCompanyAttribute("HorseViewer")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+12b7fc655326aa1426924b3c90b144f694605d52")] [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+8f1d98867721eca2ff0013c3d41284809087d4ae")]
[assembly: System.Reflection.AssemblyProductAttribute("HorseViewer")] [assembly: System.Reflection.AssemblyProductAttribute("HorseViewer")]
[assembly: System.Reflection.AssemblyTitleAttribute("HorseViewer")] [assembly: System.Reflection.AssemblyTitleAttribute("HorseViewer")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View file

@ -1 +1 @@
a26672736430a6c7dd4ca5fe5c30667328c3cfc098b26eae55cabd78618ec298 c1acacc398364b2235094e04eb477b43d626615ca09a899c470dadb50d864894

View file

@ -1 +1 @@
6372ab1836e9181ee9317b8078b5b25abd9e84a9fd4aaece0f25b5c49b6b5281 ea6c6acad67b11d21132a1fd251de5562d104515b4aed14cf174466865be750f

View file

@ -14,4 +14,6 @@ Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseVi
Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.pdb Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.pdb
Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.genruntimeconfig.cache Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.genruntimeconfig.cache
Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\ref\HorseViewer.dll Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\ref\HorseViewer.dll
Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.HorseGridViewItem.resources Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.ViewEditTable.resources
Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.ViewMain.resources
Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.ViewSettings.resources

View file

@ -1 +1 @@
{"documents":{"Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\*":"https://raw.githubusercontent.com/SvenKribitz/HR-Collector/12b7fc655326aa1426924b3c90b144f694605d52/*"}} {"documents":{"Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\*":"https://raw.githubusercontent.com/SvenKribitz/HR-Collector/8f1d98867721eca2ff0013c3d41284809087d4ae/*"}}