diff --git a/Extension/background.js b/Extension/background.js
index 047cebb..19dceea 100644
--- a/Extension/background.js
+++ b/Extension/background.js
@@ -36,7 +36,7 @@ function updateHorseButton() {
const activeTabId = tabs[0].id;
// Schritt 1: Basisdaten des Pferdes holen
- return sendMessageAsync(activeTabId, { action: "getHorseBasicData" })
+ sendMessageAsync(activeTabId, { action: "getHorseBasicData" })
.then((basicDataResponse) => {
if (!basicDataResponse || !basicDataResponse.success) {
console.error("Failed to get horse basic data:", basicDataResponse ? basicDataResponse.message : "No response");
@@ -46,15 +46,8 @@ function updateHorseButton() {
const horseData = basicDataResponse.data;
// Pferd beim Backend prüfen
- return getHorseLoadStateAPIAsync(horseData.id)
- .then((existingHorse) => {
- if (!existingHorse || existingHorse.message === "Horse not found") {
- console.warn("Horse not found in the API.");
- return; // Beende die Kette
- }
-
- // Basisdaten an die API senden
- return setBaseDataHorseAPI(horseData.id, horseData)
+ getHorseLoadStateAPIAsync(horseData.id);
+ setBaseDataHorseAPI(horseData.id, horseData)
.then(() => {
console.log("Base data updated in API for horse ID:", horseData.id);
// Schritt 2: Aktuelle Horse-Daten holen (abhängig vom aktiven Tab)
diff --git a/Extension/content.js b/Extension/content.js
index a49b566..8719afc 100644
--- a/Extension/content.js
+++ b/Extension/content.js
@@ -18,13 +18,13 @@ chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => {
const id = BigInt(idString).toString();
const horseData = {
- id: id,
+ id: parseFloat(id),
age: parseInt(ageEl.innerText, 10) || 0,
name: (document.title.replace(/ - Horse Reality.*$/, '') || "Unknown").trim(),
gender: genderEl.alt || "Unknown",
breed: breedEl.innerText || "Unknown",
link: window.location.href || "",
- lastDrawnDate: Date.now()
+ lastDrawnDate: new Date(Date.now()).toISOString()
};
updateSingleLoadStateUI("Basic", true, false);
console.log("Horse data gathered:", horseData);
@@ -236,13 +236,13 @@ chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => {
try {
const achievementTab =
{
- ShowResults: showResults,
+ ShowResults: cleanShowResults(showResults),
Conformation: conformation,
ShortConformation: shortConformation,
- MaxShowResult: showResults[showResults.length - 1],
- MinShowResult: showResults[0],
- MaxCompetitionResult: competitionResults[competitionResults.length - 1],
- MinCompetitionResult: competitionResults[0]
+ MaxShowResult: cleanResult(showResults[showResults.length - 1]),
+ MinShowResult: cleanResult(showResults[0]),
+ MaxCompetitionResult: cleanResult(competitionResults[competitionResults.length - 1]),
+ MinCompetitionResult: cleanResult(competitionResults[0])
};
sendResponse({ success: true, data: "Processing..." });
const response = await setHorseAchievementsAPIAsync(request.data.id, achievementTab);
@@ -306,3 +306,19 @@ chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => {
function getTabselText() {
return document.querySelector('div.tabsel')?.textContent?.trim() || "Unknown";
}
+function cleanResult(value) {
+ if (value === "This horse doesn't have any achievements") {
+ return -1;
+ }
+ return value;
+}
+function cleanShowResults(results) {
+ // Überprüfen, ob das Array gültig ist
+ if (!Array.isArray(results)) {
+ console.error("Invalid ShowResults data: not an array.");
+ return [];
+ }
+
+ // Bereinigen der Ergebnisse
+ return [];
+}
\ No newline at end of file
diff --git a/Extension/ui.js b/Extension/ui.js
index 274f55e..d3f58c1 100644
--- a/Extension/ui.js
+++ b/Extension/ui.js
@@ -166,12 +166,12 @@ async function updateLoadStateUI(horseId) {
// Mappe die LoadState-Werte auf die UI-Emojis
const loadStateMapping = {
- Basic: loadState.BasicInfoLoaded ? (loadState.BasicInfoNeedsRefresh ? '🔄' : '✅') : '❌',
- Summary: loadState.SummaryLoaded ? (loadState.SummaryNeedsRefresh ? '🔄' : '✅') : '❌',
- Training: loadState.TrainingLoaded ? (loadState.TrainingNeedsRefresh ? '🔄' : '✅') : '❌',
- Genetics: loadState.GeneticsLoaded ? (loadState.GeneticsNeedsRefresh ? '🔄' : '✅') : '❌',
- Achievements: loadState.AchievementsLoaded ? (loadState.AchievementsNeedsRefresh ? '🔄' : '☑️') : '❌',
- Health: loadState.HealthLoaded ? (loadState.HealthNeedsRefresh ? '🔄' : '✅') : '❌',
+ Basic: loadState.basicInfoLoaded ? (loadState.basicInfoNeedsRefresh ? '🔄' : '✅') : '❌',
+ Summary: loadState.summaryLoaded ? (loadState.summaryNeedsRefresh ? '🔄' : '✅') : '❌',
+ Training: loadState.trainingLoaded ? (loadState.trainingNeedsRefresh ? '🔄' : '✅') : '❌',
+ Genetics: loadState.geneticsLoaded ? (loadState.geneticsNeedsRefresh ? '🔄' : '✅') : '❌',
+ Achievements: loadState.achievementsLoaded ? (loadState.achievementsNeedsRefresh ? '🔄' : '☑️') : '❌',
+ Health: loadState.healthLoaded ? (loadState.healthNeedsRefresh ? '🔄' : '✅') : '❌',
};
// Aktualisiere die Rows in der UI
@@ -186,7 +186,7 @@ async function updateLoadStateUI(horseId) {
function updateSingleLoadStateUI(loadStateKey, isLoaded, needsRefresh) {
// Mappe das LoadState-Schlüssel auf das Emoji
const loadStateMapping = {
- true: needsRefresh ? '✅' : '☑️', // Geladen, aber möglicherweise veraltet
+ true: needsRefresh ? '☑️' : '✅', // Geladen, aber möglicherweise veraltet
false: '❌' // Nicht geladen
};
diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/CodeChunks.db b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/CodeChunks.db
index 7004fa2..61e20fd 100644
Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/CodeChunks.db and b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/CodeChunks.db differ
diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db
index 54a0b6e..33db7b4 100644
Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db and b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db differ
diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db-wal b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db-wal
index 20f120d..58da728 100644
Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db-wal and b/HRServer-Exporter/.vs/HRServer-Exporter/CopilotIndices/0.2.1653.9816/SemanticSymbols.db-wal differ
diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/DesignTimeBuild/.dtbcache.v2 b/HRServer-Exporter/.vs/HRServer-Exporter/DesignTimeBuild/.dtbcache.v2
index 5e46646..e6a6cb4 100644
Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/DesignTimeBuild/.dtbcache.v2 and b/HRServer-Exporter/.vs/HRServer-Exporter/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/v17/.suo b/HRServer-Exporter/.vs/HRServer-Exporter/v17/.suo
index 650fb5b..d8073a0 100644
Binary files a/HRServer-Exporter/.vs/HRServer-Exporter/v17/.suo and b/HRServer-Exporter/.vs/HRServer-Exporter/v17/.suo differ
diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.backup.json b/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.backup.json
index 3e16a92..0076414 100644
--- a/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.backup.json
+++ b/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.backup.json
@@ -2,6 +2,14 @@
"Version": 1,
"WorkspaceRootPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\",
"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}",
+ "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative: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\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
{
"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}",
"RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@@ -9,14 +17,6 @@
{
"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}",
"RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
}
],
"DocumentGroupContainers": [
@@ -36,52 +36,52 @@
"$type": "Document",
"DocumentIndex": 0,
"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": "AgIAALUAAAAAAAAAAAAwwL4AAAAAAAAAAAAAAA==",
+ "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": "AgIAAAAAAAAAAAAAAAAAAA0AAAAJAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-12-07T17:50:21.836Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 3,
- "Title": "launchSettings.json",
- "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Properties\\launchSettings.json",
- "RelativeDocumentMoniker": "HRServer\\Properties\\launchSettings.json",
- "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Properties\\launchSettings.json",
- "RelativeToolTip": "HRServer\\Properties\\launchSettings.json",
- "ViewState": "AgIAAAUAAAAAAAAAAAAkwA0AAAAgAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2024-12-07T15:18:38.498Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 2,
- "Title": "Program.cs",
- "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Program.cs",
- "RelativeDocumentMoniker": "HRServer\\Program.cs",
- "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Program.cs",
- "RelativeToolTip": "HRServer\\Program.cs",
- "ViewState": "AgIAAA0AAAAAAAAAAAAgwBcAAAAqAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-12-07T13:05:31.847Z",
+ "WhenOpened": "2024-12-08T19:13:28.722Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
+ "Title": "Form1.cs",
+ "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Form1.cs",
+ "RelativeDocumentMoniker": "HorseViewer\\Form1.cs",
+ "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Form1.cs",
+ "RelativeToolTip": "HorseViewer\\Form1.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-12-08T18:52:40.109Z",
+ "EditorCaption": ""
+ },
+ {
+ "$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",
+ "DocumentIndex": 3,
"Title": "HorseController.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs",
"RelativeDocumentMoniker": "HRServer\\Controllers\\HorseController.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs",
"RelativeToolTip": "HRServer\\Controllers\\HorseController.cs",
- "ViewState": "AgIAADgAAAAAAAAAAAAcwEAAAABOAAAAAAAAAA==",
+ "ViewState": "AgIAABcAAAAAAAAAAAAgwCgAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-12-07T13:05:14.341Z",
+ "WhenOpened": "2024-12-08T18:45:00.922Z",
"EditorCaption": ""
}
]
diff --git a/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.json b/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.json
index 6f60949..ff8cf51 100644
--- a/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.json
+++ b/HRServer-Exporter/.vs/HRServer-Exporter/v17/DocumentLayout.json
@@ -3,20 +3,20 @@
"WorkspaceRootPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\",
"Documents": [
{
- "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}",
- "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative: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\\models\\horse.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}"
+ },
+ {
+ "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}",
+ "RelativeMoniker": "D:0:0:{280C08D1-5874-4E96-882B-7926464D1FA8}|HorseViewer\\HorseViewer.csproj|solutionrelative:horseviewer\\form1.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"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}",
"RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\models\\horse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|z:\\[01] kribitz development\\[02] projekte\\hr-collector\\hrserver-exporter\\hrserver\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ "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}",
+ "RelativeMoniker": "D:0:0:{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}|HRServer\\HRServer.csproj|solutionrelative:hrserver\\controllers\\horsecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -26,7 +26,7 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "SelectedChildIndex": 1,
"Children": [
{
"$type": "Bookmark",
@@ -34,54 +34,54 @@
},
{
"$type": "Document",
- "DocumentIndex": 1,
+ "DocumentIndex": 0,
"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": "AgIAALoAAAAAAAAAAAAcwMcAAAAjAAAAAAAAAA==",
+ "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-07T17:50:21.836Z",
+ "WhenOpened": "2024-12-08T19:13:28.722Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 3,
- "Title": "launchSettings.json",
- "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Properties\\launchSettings.json",
- "RelativeDocumentMoniker": "HRServer\\Properties\\launchSettings.json",
- "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Properties\\launchSettings.json",
- "RelativeToolTip": "HRServer\\Properties\\launchSettings.json",
- "ViewState": "AgIAAAUAAAAAAAAAAAAkwA0AAAAgAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2024-12-07T15:18:38.498Z",
+ "DocumentIndex": 1,
+ "Title": "Form1.cs",
+ "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Form1.cs",
+ "RelativeDocumentMoniker": "HorseViewer\\Form1.cs",
+ "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\Form1.cs",
+ "RelativeToolTip": "HorseViewer\\Form1.cs",
+ "ViewState": "AgIAAA8AAAAAAAAAAAAIwCAAAAAcAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-12-08T18:52:40.109Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
- "Title": "Program.cs",
- "DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Program.cs",
- "RelativeDocumentMoniker": "HRServer\\Program.cs",
- "ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Program.cs",
- "RelativeToolTip": "HRServer\\Program.cs",
- "ViewState": "AgIAAA0AAAAAAAAAAAAgwBcAAAAqAAAAAAAAAA==",
+ "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-07T13:05:31.847Z",
+ "WhenOpened": "2024-12-08T18:45:20.797Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 0,
+ "DocumentIndex": 3,
"Title": "HorseController.cs",
"DocumentMoniker": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs",
"RelativeDocumentMoniker": "HRServer\\Controllers\\HorseController.cs",
"ToolTip": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HRServer\\Controllers\\HorseController.cs",
"RelativeToolTip": "HRServer\\Controllers\\HorseController.cs",
- "ViewState": "AgIAABUAAAAAAAAAAAAowC4AAAAJAAAAAAAAAA==",
+ "ViewState": "AgIAABcAAAAAAAAAAAAgwCgAAAARAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2024-12-07T13:05:14.341Z",
+ "WhenOpened": "2024-12-08T18:45:00.922Z",
"EditorCaption": ""
}
]
diff --git a/HRServer-Exporter/HRServer-Exporter.sln b/HRServer-Exporter/HRServer-Exporter.sln
index 26fdb7d..20fcca8 100644
--- a/HRServer-Exporter/HRServer-Exporter.sln
+++ b/HRServer-Exporter/HRServer-Exporter.sln
@@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.11.35312.102
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HRServer", "HRServer\HRServer.csproj", "{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HRServer", "HRServer\HRServer.csproj", "{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HorseViewer", "HorseViewer\HorseViewer.csproj", "{280C08D1-5874-4E96-882B-7926464D1FA8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -15,6 +17,10 @@ Global
{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{86A245AC-2CD6-4303-97B9-8463B6B6B8D6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {280C08D1-5874-4E96-882B-7926464D1FA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {280C08D1-5874-4E96-882B-7926464D1FA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {280C08D1-5874-4E96-882B-7926464D1FA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {280C08D1-5874-4E96-882B-7926464D1FA8}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/HRServer-Exporter/HRServer/Controllers/HorseController.cs b/HRServer-Exporter/HRServer/Controllers/HorseController.cs
index 77ac7fe..c9b38af 100644
--- a/HRServer-Exporter/HRServer/Controllers/HorseController.cs
+++ b/HRServer-Exporter/HRServer/Controllers/HorseController.cs
@@ -24,10 +24,8 @@ namespace HRServer.Controllers
var horse = HorseFactory.GetHorse((ulong)id);
if (horse == null)
{
- horse = new Horse { Id = (ulong)id };
- HorseFactory.AddOrUpdateHorse(horse);
+ horse = new Horse();
}
- HorseFactory.SaveHorsesToFile();
return Ok(horse);
}
[HttpGet("/api/getHorse/{id}/LoadState")]
@@ -39,15 +37,23 @@ namespace HRServer.Controllers
// berprfe, ob das Pferd existiert
if (horse == null)
{
- horse = new Horse { Id = (ulong)id };
- HorseFactory.AddOrUpdateHorse(horse);
+ return Ok(new DataLoadState
+ {
+ AchievementsLoaded = false,
+ AchievementsNeedsRefresh = false,
+ SummaryLoaded = false,
+ BasicInfoLoaded = false,
+ GeneticsLoaded = false,
+ HealthLoaded = false,
+ TrainingLoaded = false
+ });
}
if (horse.LastDrawnDate.AddDays(1) < DateTime.Now)
{
horse.LoadState.AchievementsNeedsRefresh = true;
}
- // Gib den Ladezustand des Pferdes zurck
HorseFactory.SaveHorsesToFile();
+ // Gib den Ladezustand des Pferdes zurck
return Ok(horse.LoadState);
}
[HttpPost("/api/updateHorse/{id}/BasicData")]
@@ -59,11 +65,11 @@ namespace HRServer.Controllers
localHorse = new Horse { Id = (ulong)id };
HorseFactory.AddOrUpdateHorse(localHorse);
}
- localHorse.Age = localHorse.Age;
- localHorse.Breed = localHorse.Breed;
- localHorse.HorseName = localHorse.HorseName;
- localHorse.Gender = localHorse.Gender;
- localHorse.Link = localHorse.Link;
+ localHorse.Age = websiteHorse.Age;
+ localHorse.Breed = websiteHorse.Breed;
+ localHorse.HorseName = websiteHorse.HorseName;
+ localHorse.Gender = websiteHorse.Gender;
+ localHorse.Link = websiteHorse.Link;
HorseFactory.SaveHorsesToFile();
return Ok(localHorse);
}
@@ -128,21 +134,24 @@ namespace HRServer.Controllers
localHorse = new Horse { Id = (ulong)id };
HorseFactory.AddOrUpdateHorse(localHorse);
}
- if (websiteHorseAchievements.MaxShowResult < localHorse.Achievements.MaxShowResult)
+ if (websiteHorseAchievements.ShowResults.Count >= 1)
{
- websiteHorseAchievements.MaxShowResult = localHorse.Achievements.MaxShowResult;
- }
- if (websiteHorseAchievements.MinShowResult > localHorse.Achievements.MinShowResult)
- {
- websiteHorseAchievements.MinShowResult = localHorse.Achievements.MinShowResult;
- }
- if (websiteHorseAchievements.MaxCompetitionResult < localHorse.Achievements.MaxCompetitionResult)
- {
- websiteHorseAchievements.MaxCompetitionResult = localHorse.Achievements.MaxCompetitionResult;
- }
- if (websiteHorseAchievements.MinCompetitionResult > localHorse.Achievements.MinCompetitionResult)
- {
- websiteHorseAchievements.MinCompetitionResult = localHorse.Achievements.MinCompetitionResult;
+ if (websiteHorseAchievements.MaxShowResult < localHorse.Achievements.MaxShowResult)
+ {
+ websiteHorseAchievements.MaxShowResult = localHorse.Achievements.MaxShowResult;
+ }
+ if (websiteHorseAchievements.MinShowResult > localHorse.Achievements.MinShowResult)
+ {
+ websiteHorseAchievements.MinShowResult = localHorse.Achievements.MinShowResult;
+ }
+ if (websiteHorseAchievements.MaxCompetitionResult < localHorse.Achievements.MaxCompetitionResult)
+ {
+ websiteHorseAchievements.MaxCompetitionResult = localHorse.Achievements.MaxCompetitionResult;
+ }
+ if (websiteHorseAchievements.MinCompetitionResult > localHorse.Achievements.MinCompetitionResult)
+ {
+ websiteHorseAchievements.MinCompetitionResult = localHorse.Achievements.MinCompetitionResult;
+ }
}
localHorse.Achievements = websiteHorseAchievements;
HorseFactory.SaveHorsesToFile();
diff --git a/HRServer-Exporter/HRServer/Models/Horse.cs b/HRServer-Exporter/HRServer/Models/Horse.cs
index 8bceb97..a4b5572 100644
--- a/HRServer-Exporter/HRServer/Models/Horse.cs
+++ b/HRServer-Exporter/HRServer/Models/Horse.cs
@@ -41,21 +41,15 @@ namespace HRServer.Models
public class Horse
{
// Basic Information
- [JsonPropertyName("id")]
private ulong? _id;
- [JsonPropertyName("age")]
private int? _age;
- [JsonPropertyName("name")]
private string _horseName = string.Empty;
- [JsonPropertyName("gender")]
private string _gender = string.Empty;
- [JsonPropertyName("breed")]
private string _breed = string.Empty;
- [JsonPropertyName("link")]
private string _link = string.Empty;
- [JsonPropertyName("lastDrawnDate")]
private DateTime _lastDrawnDate = DateTime.Now;
+ [JsonPropertyName("id")]
public ulong? Id
{
get => _id;
@@ -65,7 +59,7 @@ namespace HRServer.Models
LoadState.BasicInfoLoaded = true;
}
}
-
+ [JsonPropertyName("age")]
public int? Age
{
get => _age;
@@ -74,7 +68,7 @@ namespace HRServer.Models
_age = value;
}
}
-
+ [JsonPropertyName("name")]
public string HorseName
{
get => _horseName;
@@ -83,7 +77,7 @@ namespace HRServer.Models
_horseName = value;
}
}
-
+ [JsonPropertyName("gender")]
public string Gender
{
get => _gender;
@@ -92,7 +86,7 @@ namespace HRServer.Models
_gender = value;
}
}
-
+ [JsonPropertyName("breed")]
public string Breed
{
get => _breed;
@@ -101,7 +95,7 @@ namespace HRServer.Models
_breed = value;
}
}
-
+ [JsonPropertyName("link")]
public string Link
{
get => _link;
@@ -110,6 +104,7 @@ namespace HRServer.Models
_link = value;
}
}
+ [JsonPropertyName("lastDrawnDate")]
public DateTime LastDrawnDate
{
get => _lastDrawnDate;
diff --git a/HRServer-Exporter/HRServer/Program.cs b/HRServer-Exporter/HRServer/Program.cs
index 3e908bb..2ad19b8 100644
--- a/HRServer-Exporter/HRServer/Program.cs
+++ b/HRServer-Exporter/HRServer/Program.cs
@@ -1,3 +1,5 @@
+using HRServer.Models;
+
namespace HRServer
{
public class Program
@@ -40,6 +42,7 @@ namespace HRServer
// Controller-Routen festlegen
app.MapControllers();
+ HorseFactory.LoadHorsesFromFile();
app.Run();
}
diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.dll b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.dll
index 9997b92..7cd24ff 100644
Binary files a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.dll and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.dll differ
diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.exe b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.exe
index 82eff30..64947e0 100644
Binary files a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.exe and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.exe differ
diff --git a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.pdb b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.pdb
index 4b4c376..39b04a4 100644
Binary files a/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.pdb and b/HRServer-Exporter/HRServer/bin/Debug/net8.0/HRServer.pdb differ
diff --git a/HRServer-Exporter/HRServer/horses.json b/HRServer-Exporter/HRServer/horses.json
new file mode 100644
index 0000000..f6e2092
--- /dev/null
+++ b/HRServer-Exporter/HRServer/horses.json
@@ -0,0 +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}}}
\ No newline at end of file
diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfo.cs b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfo.cs
index 3f85ce9..5517219 100644
--- a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfo.cs
+++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfo.cs
@@ -1,9 +1,10 @@
//------------------------------------------------------------------------------
//
-// This code was generated by a tool.
+// Dieser Code wurde von einem Tool generiert.
+// Laufzeitversion:4.0.30319.42000
//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
+// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+// der Code erneut generiert wird.
//
//------------------------------------------------------------------------------
@@ -13,10 +14,10 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("HRServer")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+873462ec5e25b2e7c3913d7df0174ce76ef00881")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+12b7fc655326aa1426924b3c90b144f694605d52")]
[assembly: System.Reflection.AssemblyProductAttribute("HRServer")]
[assembly: System.Reflection.AssemblyTitleAttribute("HRServer")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
-// Generated by the MSBuild WriteCodeFragment class.
+// Von der MSBuild WriteCodeFragment-Klasse generiert.
diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfoInputs.cache b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfoInputs.cache
index e9d5da5..501e608 100644
--- a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfoInputs.cache
+++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.AssemblyInfoInputs.cache
@@ -1 +1 @@
-2b9e6b04546558b8be5da9680e2e9462db49f3d3bd846c47b3601708d788771a
+460cd62de3c1086440c4a0d159fce26552e588833218be100511410cd92708f4
diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.dll b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.dll
index 9997b92..7cd24ff 100644
Binary files a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.dll and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.dll differ
diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.pdb b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.pdb
index 4b4c376..39b04a4 100644
Binary files a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.pdb and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.pdb differ
diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.sourcelink.json b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.sourcelink.json
index f0516e0..7ab6333 100644
--- a/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.sourcelink.json
+++ b/HRServer-Exporter/HRServer/obj/Debug/net8.0/HRServer.sourcelink.json
@@ -1 +1 @@
-{"documents":{"Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\*":"https://raw.githubusercontent.com/SvenKribitz/HR-Collector/f8946138c755861a4827dbd051bc0effcd5fa403/*"}}
\ No newline at end of file
+{"documents":{"Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\*":"https://raw.githubusercontent.com/SvenKribitz/HR-Collector/12b7fc655326aa1426924b3c90b144f694605d52/*"}}
\ No newline at end of file
diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/apphost.exe b/HRServer-Exporter/HRServer/obj/Debug/net8.0/apphost.exe
index 82eff30..64947e0 100644
Binary files a/HRServer-Exporter/HRServer/obj/Debug/net8.0/apphost.exe and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/apphost.exe differ
diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/ref/HRServer.dll b/HRServer-Exporter/HRServer/obj/Debug/net8.0/ref/HRServer.dll
index 13a052b..8f6204d 100644
Binary files a/HRServer-Exporter/HRServer/obj/Debug/net8.0/ref/HRServer.dll and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/ref/HRServer.dll differ
diff --git a/HRServer-Exporter/HRServer/obj/Debug/net8.0/refint/HRServer.dll b/HRServer-Exporter/HRServer/obj/Debug/net8.0/refint/HRServer.dll
index 13a052b..8f6204d 100644
Binary files a/HRServer-Exporter/HRServer/obj/Debug/net8.0/refint/HRServer.dll and b/HRServer-Exporter/HRServer/obj/Debug/net8.0/refint/HRServer.dll differ
diff --git a/HRServer-Exporter/HorseViewer/Form1.Designer.cs b/HRServer-Exporter/HorseViewer/Form1.Designer.cs
new file mode 100644
index 0000000..e6055e1
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/Form1.Designer.cs
@@ -0,0 +1,73 @@
+namespace HorseViewer
+{
+ partial class Form1
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ 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;
+ }
+}
diff --git a/HRServer-Exporter/HorseViewer/Form1.cs b/HRServer-Exporter/HorseViewer/Form1.cs
new file mode 100644
index 0000000..d8fb661
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/Form1.cs
@@ -0,0 +1,54 @@
+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>(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)
+ {
+
+ }
+ }
+}
diff --git a/HRServer-Exporter/HorseViewer/Form1.resx b/HRServer-Exporter/HorseViewer/Form1.resx
new file mode 100644
index 0000000..8b2ff64
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/HorseViewer.csproj b/HRServer-Exporter/HorseViewer/HorseViewer.csproj
new file mode 100644
index 0000000..663fdb8
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/HorseViewer.csproj
@@ -0,0 +1,11 @@
+
+
+
+ WinExe
+ net8.0-windows
+ enable
+ true
+ enable
+
+
+
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/HorseViewer.csproj.user b/HRServer-Exporter/HorseViewer/HorseViewer.csproj.user
new file mode 100644
index 0000000..317a8c7
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/HorseViewer.csproj.user
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/Models/Horse.cs b/HRServer-Exporter/HorseViewer/Models/Horse.cs
new file mode 100644
index 0000000..6a1b991
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/Models/Horse.cs
@@ -0,0 +1,287 @@
+using System.Text.Json;
+using System.Text.Json.Serialization;
+
+namespace HorseViewer.Models
+{
+ public static class HorseFactory
+ {
+ public static string HorseDataPath = "horses.json";
+ // Thread-safe Dictionary
+ public static Dictionary Horses = new();
+ public static Horse? GetHorse(ulong id)
+ {
+ return Horses.TryGetValue(id, out var horse) ? horse : null;
+ }
+ public static void AddOrUpdateHorse(Horse horse)
+ {
+ if (horse == null || horse.Id == null)
+ throw new ArgumentNullException(nameof(horse), "Horse or its ID cannot be null.");
+
+ Horses[horse.Id.Value] = horse;
+ }
+ public static IReadOnlyDictionary GetAllHorses()
+ {
+ return Horses;
+ }
+ public static void SaveHorsesToFile()
+ {
+ var json = JsonSerializer.Serialize(Horses);
+ File.WriteAllText(HorseDataPath, json);
+ }
+ public static void LoadHorsesFromFile()
+ {
+ if (!File.Exists(HorseDataPath))
+ return;
+
+ var json = File.ReadAllText(HorseDataPath);
+ Horses = JsonSerializer.Deserialize>(json);
+ }
+ }
+
+ public class Horse
+ {
+ // Basic Information
+ private ulong? _id;
+ private int? _age;
+ private string _horseName = string.Empty;
+ private string _gender = string.Empty;
+ private string _breed = string.Empty;
+ private string _link = string.Empty;
+ private DateTime _lastDrawnDate = DateTime.Now;
+
+ [JsonPropertyName("id")]
+ public ulong? Id
+ {
+ get => _id;
+ set
+ {
+ _id = value;
+ LoadState.BasicInfoLoaded = true;
+ }
+ }
+ [JsonPropertyName("age")]
+ public int? Age
+ {
+ get => _age;
+ set
+ {
+ _age = value;
+ }
+ }
+ [JsonPropertyName("name")]
+ public string HorseName
+ {
+ get => _horseName;
+ set
+ {
+ _horseName = value;
+ }
+ }
+ [JsonPropertyName("gender")]
+ public string Gender
+ {
+ get => _gender;
+ set
+ {
+ _gender = value;
+ }
+ }
+ [JsonPropertyName("breed")]
+ public string Breed
+ {
+ get => _breed;
+ set
+ {
+ _breed = value;
+ }
+ }
+ [JsonPropertyName("link")]
+ public string Link
+ {
+ get => _link;
+ set
+ {
+ _link = value;
+ }
+ }
+ [JsonPropertyName("lastDrawnDate")]
+ public DateTime LastDrawnDate
+ {
+ get => _lastDrawnDate;
+ set
+ {
+ _lastDrawnDate = value;
+ }
+ }
+ private HorseSummary _summary = new();
+ public HorseSummary Summary
+ {
+ get => _summary;
+ set
+ {
+ _summary = value;
+ LoadState.SummaryLoaded = true;
+ }
+ }
+
+ private HorseTraining _training = new();
+ public HorseTraining Training
+ {
+ get => _training;
+ set
+ {
+ _training = value;
+ LoadState.TrainingLoaded = true;
+ }
+ }
+
+ private HorseGenetics _genetics = new();
+ public HorseGenetics Genetics
+ {
+ get => _genetics;
+ set
+ {
+ _genetics = value;
+ LoadState.GeneticsLoaded = true;
+ }
+ }
+
+ private HorseAchievements _achievements = new();
+ public HorseAchievements Achievements
+ {
+ get => _achievements;
+ set
+ {
+ _achievements = value;
+ LoadState.AchievementsLoaded = true;
+ }
+ }
+
+ private HorseHealth _health = new();
+ public HorseHealth Health
+ {
+ get => _health;
+ set
+ {
+ _health = value;
+ LoadState.HealthLoaded = true;
+ }
+ }
+
+ public DataLoadState LoadState { get; set; } = new();
+
+ public bool IsAllDataLoaded()
+ {
+ return LoadState.IsAllDataLoaded();
+ }
+
+ public void PrintLoadState()
+ {
+ Console.WriteLine("Load State of Horse Data:");
+ Console.WriteLine($"- Basic Info Loaded: {LoadState.BasicInfoLoaded}");
+ Console.WriteLine($"- Summary Loaded: {LoadState.SummaryLoaded}");
+ Console.WriteLine($"- Training Loaded: {LoadState.TrainingLoaded}");
+ Console.WriteLine($"- Genetics Loaded: {LoadState.GeneticsLoaded}");
+ Console.WriteLine($"- Achievements Loaded: {LoadState.AchievementsLoaded}");
+ Console.WriteLine($"- Health Loaded: {LoadState.HealthLoaded}");
+ }
+ }
+
+ public class DataLoadState
+ {
+ public bool BasicInfoLoaded { get; set; } = false;
+ public bool BasicInfoNeedsRefresh { get; set; } = false;
+ public bool SummaryLoaded { get; set; } = false;
+ public bool SummaryNeedsRefresh { get; set; } = false;
+ public bool TrainingLoaded { get; set; } = false;
+ public bool TrainingNeedsRefresh { get; set; } = false;
+ public bool GeneticsLoaded { get; set; } = false;
+ public bool GeneticsNeedsRefresh { get; set; } = false;
+ public bool AchievementsLoaded { get; set; } = false;
+ public bool AchievementsNeedsRefresh { get; set; } = false;
+ public bool HealthLoaded { get; set; } = false;
+ public bool HealthNeedsRefresh { get; set; } = false;
+
+ public bool IsAllDataLoaded()
+ {
+ return BasicInfoLoaded && SummaryLoaded && TrainingLoaded && GeneticsLoaded && AchievementsLoaded && HealthLoaded;
+ }
+ }
+
+ public class HorseSummary
+ {
+ [JsonPropertyName("RelatedIds")]
+ public List RelatedIds { get; set; } = new();
+ }
+
+ public class HorseTraining
+ {
+ [JsonPropertyName("Training")]
+ public string Training { get; set; } = string.Empty;
+ }
+
+ public class HorseGenetics
+ {
+ [JsonPropertyName("GP")]
+ public int GP { get; set; }
+
+ [JsonPropertyName("GeneticPotential")]
+ public Dictionary GeneticPotential { get; set; } = new();
+
+ [JsonPropertyName("Disciplines")]
+ public Dictionary Disciplines { get; set; } = new() {
+ { "Dressage", 0 },
+ { "Driving", 0 },
+ { "Endurance", 0 },
+ { "Eventing", 0 },
+ { "Flat Racing", 0 },
+ { "Show Jumping", 0 },
+ {"Western Reining", 0 }
+ };
+
+ [JsonPropertyName("Colors")]
+ public Dictionary Colors { get; set; } = new() {
+ { "Extension", string.Empty },
+ { "Agouti", string.Empty },
+ { "Grey", string.Empty},
+ { "Creampearl", string.Empty },
+ { "Dun", string.Empty },
+ { "Champagne", string.Empty },
+ { "Silver", string.Empty },
+ { "Mushroom", string.Empty },
+ { "Frame", string.Empty},
+ { "Appaloosa", string.Empty },
+ { "PATN1", string.Empty },
+ { "MITF", string.Empty },
+ { "SW2", string.Empty },
+ { "KIT", string.Empty },
+ { "RAB", string.Empty},
+ { "Seal", string.Empty },
+ { "Flaxen", string.Empty }
+ };
+ }
+
+ public class HorseAchievements
+ {
+ [JsonPropertyName("ShowResults")]
+ public List ShowResults { get; set; } = new();
+ [JsonPropertyName("Conformation")]
+ public Dictionary Conformation { get; set; } = new();
+ [JsonPropertyName("ShortConformation")]
+ public string ShortConformation { get; set; } = string.Empty;
+ [JsonPropertyName("MaxShowResult")]
+ public double MaxShowResult { get; set; } = 0;
+ [JsonPropertyName("MinShowResult")]
+ public double MinShowResult { get; set; } = 0;
+ [JsonPropertyName("MaxCompetitionResult")]
+ public double MaxCompetitionResult { get; set; } = 0;
+ [JsonPropertyName("MinCompetitionResult")]
+ public double MinCompetitionResult { get; set; } = 0;
+ }
+
+ public class HorseHealth
+ {
+ [JsonPropertyName("Health")]
+ public Dictionary Health { get; set; } = new();
+ }
+}
diff --git a/HRServer-Exporter/HorseViewer/Program.cs b/HRServer-Exporter/HorseViewer/Program.cs
new file mode 100644
index 0000000..132f124
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/Program.cs
@@ -0,0 +1,17 @@
+namespace HorseViewer
+{
+ internal static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ // To customize application configuration such as set high DPI settings or default font,
+ // see https://aka.ms/applicationconfiguration.
+ ApplicationConfiguration.Initialize();
+ Application.Run(new Form1());
+ }
+ }
+}
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.deps.json b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.deps.json
new file mode 100644
index 0000000..b4eaadf
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.deps.json
@@ -0,0 +1,23 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "HorseViewer/1.0.0": {
+ "runtime": {
+ "HorseViewer.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "HorseViewer/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ }
+ }
+}
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.dll b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.dll
new file mode 100644
index 0000000..82e6681
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.dll differ
diff --git a/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.exe b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.exe
new file mode 100644
index 0000000..997eeef
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.exe differ
diff --git a/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.pdb b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.pdb
new file mode 100644
index 0000000..b346d91
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.pdb differ
diff --git a/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.runtimeconfig.json b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.runtimeconfig.json
new file mode 100644
index 0000000..1dc0145
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/bin/Debug/net8.0-windows/HorseViewer.runtimeconfig.json
@@ -0,0 +1,18 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "frameworks": [
+ {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App",
+ "version": "8.0.0"
+ }
+ ],
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 0000000..2217181
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.AssemblyInfo.cs b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.AssemblyInfo.cs
new file mode 100644
index 0000000..5d38dcd
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.AssemblyInfo.cs
@@ -0,0 +1,25 @@
+//------------------------------------------------------------------------------
+//
+// Dieser Code wurde von einem Tool generiert.
+// Laufzeitversion:4.0.30319.42000
+//
+// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
+// der Code erneut generiert wird.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("HorseViewer")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+12b7fc655326aa1426924b3c90b144f694605d52")]
+[assembly: System.Reflection.AssemblyProductAttribute("HorseViewer")]
+[assembly: System.Reflection.AssemblyTitleAttribute("HorseViewer")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+[assembly: System.Runtime.Versioning.TargetPlatformAttribute("Windows7.0")]
+[assembly: System.Runtime.Versioning.SupportedOSPlatformAttribute("Windows7.0")]
+
+// Von der MSBuild WriteCodeFragment-Klasse generiert.
+
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.AssemblyInfoInputs.cache b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..877a479
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+a26672736430a6c7dd4ca5fe5c30667328c3cfc098b26eae55cabd78618ec298
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.GeneratedMSBuildEditorConfig.editorconfig b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..d582fb1
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,19 @@
+is_global = true
+build_property.ApplicationManifest =
+build_property.StartupObject =
+build_property.ApplicationDefaultFont =
+build_property.ApplicationHighDpiMode =
+build_property.ApplicationUseCompatibleTextRendering =
+build_property.ApplicationVisualStyles =
+build_property.TargetFramework = net8.0-windows
+build_property.TargetPlatformMinVersion = 7.0
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = HorseViewer
+build_property.ProjectDir = Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.GlobalUsings.g.cs b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.GlobalUsings.g.cs
new file mode 100644
index 0000000..84bbb89
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.GlobalUsings.g.cs
@@ -0,0 +1,10 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.Drawing;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
+global using global::System.Windows.Forms;
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.HorseGridViewItem.resources b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.HorseGridViewItem.resources
new file mode 100644
index 0000000..6c05a97
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.HorseGridViewItem.resources differ
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.assets.cache b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.assets.cache
new file mode 100644
index 0000000..b3c4bb6
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.assets.cache differ
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.BuildWithSkipAnalyzers b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.BuildWithSkipAnalyzers
new file mode 100644
index 0000000..e69de29
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.CoreCompileInputs.cache b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..e864623
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+6372ab1836e9181ee9317b8078b5b25abd9e84a9fd4aaece0f25b5c49b6b5281
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.FileListAbsolute.txt b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..3693c7e
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.FileListAbsolute.txt
@@ -0,0 +1,17 @@
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\bin\Debug\net8.0-windows\HorseViewer.exe
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\bin\Debug\net8.0-windows\HorseViewer.deps.json
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\bin\Debug\net8.0-windows\HorseViewer.runtimeconfig.json
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\bin\Debug\net8.0-windows\HorseViewer.dll
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\bin\Debug\net8.0-windows\HorseViewer.pdb
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.csproj.GenerateResource.cache
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.GeneratedMSBuildEditorConfig.editorconfig
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.AssemblyInfoInputs.cache
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.AssemblyInfo.cs
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.csproj.CoreCompileInputs.cache
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.sourcelink.json
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.dll
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\refint\HorseViewer.dll
+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\ref\HorseViewer.dll
+Z:\[01] Kribitz Development\[02] Projekte\HR-Collector\HRServer-Exporter\HorseViewer\obj\Debug\net8.0-windows\HorseViewer.HorseGridViewItem.resources
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.GenerateResource.cache b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.GenerateResource.cache
new file mode 100644
index 0000000..702da39
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.csproj.GenerateResource.cache differ
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.designer.deps.json b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.designer.deps.json
new file mode 100644
index 0000000..8599efd
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.designer.deps.json
@@ -0,0 +1,11 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {}
+ },
+ "libraries": {}
+}
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.designer.runtimeconfig.json b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.designer.runtimeconfig.json
new file mode 100644
index 0000000..7253ee6
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.designer.runtimeconfig.json
@@ -0,0 +1,24 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "frameworks": [
+ {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ {
+ "name": "Microsoft.WindowsDesktop.App",
+ "version": "8.0.0"
+ }
+ ],
+ "additionalProbingPaths": [
+ "C:\\Users\\SvenK\\.dotnet\\store\\|arch|\\|tfm|",
+ "C:\\Users\\SvenK\\.nuget\\packages",
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": true,
+ "Microsoft.NETCore.DotNetHostPolicy.SetAppPaths": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.dll b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.dll
new file mode 100644
index 0000000..82e6681
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.dll differ
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.genruntimeconfig.cache b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.genruntimeconfig.cache
new file mode 100644
index 0000000..3db34aa
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.genruntimeconfig.cache
@@ -0,0 +1 @@
+ffedaeea08d4ef0a266e70099a78f7d889ef93fb9980a252d75ec09eae888a13
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.pdb b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.pdb
new file mode 100644
index 0000000..b346d91
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.pdb differ
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.sourcelink.json b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.sourcelink.json
new file mode 100644
index 0000000..7ab6333
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/HorseViewer.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\*":"https://raw.githubusercontent.com/SvenKribitz/HR-Collector/12b7fc655326aa1426924b3c90b144f694605d52/*"}}
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/apphost.exe b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/apphost.exe
new file mode 100644
index 0000000..997eeef
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/apphost.exe differ
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/ref/HorseViewer.dll b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/ref/HorseViewer.dll
new file mode 100644
index 0000000..3fb1593
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/ref/HorseViewer.dll differ
diff --git a/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/refint/HorseViewer.dll b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/refint/HorseViewer.dll
new file mode 100644
index 0000000..3fb1593
Binary files /dev/null and b/HRServer-Exporter/HorseViewer/obj/Debug/net8.0-windows/refint/HorseViewer.dll differ
diff --git a/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.dgspec.json b/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..1d47d0a
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.dgspec.json
@@ -0,0 +1,76 @@
+{
+ "format": 1,
+ "restore": {
+ "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj": {}
+ },
+ "projects": {
+ "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
+ "projectName": "HorseViewer",
+ "projectPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
+ "packagesPath": "C:\\Users\\SvenK\\.nuget\\packages\\",
+ "outputPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\SvenK\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0-windows"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0-windows7.0": {
+ "targetAlias": "net8.0-windows",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ }
+ },
+ "frameworks": {
+ "net8.0-windows7.0": {
+ "targetAlias": "net8.0-windows",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ },
+ "Microsoft.WindowsDesktop.App.WindowsForms": {
+ "privateAssets": "none"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.g.props b/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.g.props
new file mode 100644
index 0000000..3c801d2
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.g.props
@@ -0,0 +1,16 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ $(UserProfile)\.nuget\packages\
+ C:\Users\SvenK\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages
+ PackageReference
+ 6.11.0
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.g.targets b/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.g.targets
new file mode 100644
index 0000000..3dc06ef
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/HorseViewer.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/obj/project.assets.json b/HRServer-Exporter/HorseViewer/obj/project.assets.json
new file mode 100644
index 0000000..73f5017
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/project.assets.json
@@ -0,0 +1,82 @@
+{
+ "version": 3,
+ "targets": {
+ "net8.0-windows7.0": {}
+ },
+ "libraries": {},
+ "projectFileDependencyGroups": {
+ "net8.0-windows7.0": []
+ },
+ "packageFolders": {
+ "C:\\Users\\SvenK\\.nuget\\packages\\": {},
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
+ "projectName": "HorseViewer",
+ "projectPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
+ "packagesPath": "C:\\Users\\SvenK\\.nuget\\packages\\",
+ "outputPath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\obj\\",
+ "projectStyle": "PackageReference",
+ "fallbackFolders": [
+ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
+ ],
+ "configFilePaths": [
+ "C:\\Users\\SvenK\\AppData\\Roaming\\NuGet\\NuGet.Config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
+ "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0-windows"
+ ],
+ "sources": {
+ "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
+ "C:\\Program Files\\dotnet\\library-packs": {},
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0-windows7.0": {
+ "targetAlias": "net8.0-windows",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ }
+ },
+ "frameworks": {
+ "net8.0-windows7.0": {
+ "targetAlias": "net8.0-windows",
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ },
+ "Microsoft.WindowsDesktop.App.WindowsForms": {
+ "privateAssets": "none"
+ }
+ },
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.400/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/HRServer-Exporter/HorseViewer/obj/project.nuget.cache b/HRServer-Exporter/HorseViewer/obj/project.nuget.cache
new file mode 100644
index 0000000..7c76c93
--- /dev/null
+++ b/HRServer-Exporter/HorseViewer/obj/project.nuget.cache
@@ -0,0 +1,8 @@
+{
+ "version": 2,
+ "dgSpecHash": "J5TU+ZSOMN8=",
+ "success": true,
+ "projectFilePath": "Z:\\[01] Kribitz Development\\[02] Projekte\\HR-Collector\\HRServer-Exporter\\HorseViewer\\HorseViewer.csproj",
+ "expectedPackageFiles": [],
+ "logs": []
+}
\ No newline at end of file