Erledigte TODOs auf DONE geändert. ReadMe zeigt erledigte TODOs.

This commit is contained in:
Kilian Wirl 2025-12-11 14:22:10 +01:00
parent 66a13939ae
commit 8fe79a33f1
9 changed files with 77 additions and 82 deletions

View File

@ -308,9 +308,8 @@ namespace Deckungsbeitrag
} }
//TODO: Wenn NeuerAuftrag gewählt wie gehts weiter? //TODO: Wenn NeuerAuftrag gewählt wie gehts weiter?
//TODO: Bei Transport wir ein Fach mit Aktuellem Auftrag erstellt. Das Alte wird bei Transport gespeichert. //DONE: Bei Transport wir ein Fach mit Aktuellem Auftrag erstellt. Das Alte wird bei Transport gespeichert.
//TODO: Wenn NeuerAuftrag gewählt Fach ändern nicht vergessen. //DONE: Wenn NeuerAuftrag gewählt Fach ändern nicht vergessen.
//TODO: Eventuell einen "Nächsten Auftrag" erstellen damit im Vorraus erstellt werden kann?
} }
} }

View File

@ -79,7 +79,6 @@ namespace Deckungsbeitrag
this.buttonDrucken.Enabled = this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false; this.buttonDrucken.Enabled = this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
this.groupBoxEtikett.Enabled = false; this.groupBoxEtikett.Enabled = false;
//TODO: Testen ob ausblenden der Button Column funktioniert. Benutzer-Verwaltung oder Frottee oder Flach notwendig.
GetUnvisibleButtonColumn(); GetUnvisibleButtonColumn();
break; break;
case BenutzerRolle.Fahrer: case BenutzerRolle.Fahrer:
@ -261,7 +260,6 @@ namespace Deckungsbeitrag
// Alle Zeilenhöhen an Zellinhalt anpassen // Alle Zeilenhöhen an Zellinhalt anpassen
this.dGArtikel.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; this.dGArtikel.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
//TODO: Breite der GridView festlegen.
this.dGArtikel = Funktionen.DGV_Size_Anpassen(this.dGArtikel); this.dGArtikel = Funktionen.DGV_Size_Anpassen(this.dGArtikel);
this.dGArtikel.Width = this.Width - dGArtikel.Left; this.dGArtikel.Width = this.Width - dGArtikel.Left;
@ -662,7 +660,6 @@ namespace Deckungsbeitrag
} }
private void Liefertag_rB_Checked(object sender, EventArgs e) private void Liefertag_rB_Checked(object sender, EventArgs e)
{ {
//TODO: OLV-Item refresh. Neuer Liefertag speichern.
foreach (RadioButton radioButton in this.groupBoxEtikett.Controls.OfType<RadioButton>()) foreach (RadioButton radioButton in this.groupBoxEtikett.Controls.OfType<RadioButton>())
{ {
if (radioButton.Checked) radioButton.BackColor = Color.Yellow; if (radioButton.Checked) radioButton.BackColor = Color.Yellow;
@ -778,3 +775,6 @@ namespace Deckungsbeitrag
} }
} }
//DONE: Breite der GridView festlegen.
//DONE: OLV-Item refresh. Neuer Liefertag speichern.
//DONE: Testen ob ausblenden der Button Column funktioniert. Benutzer-Verwaltung oder Frottee oder Flach notwendig.

View File

@ -777,7 +777,6 @@ namespace Deckungsbeitrag
gb = (GroupBox)ctr.Parent; gb = (GroupBox)ctr.Parent;
} }
Panel panel = (Panel)gb.Parent; Panel panel = (Panel)gb.Parent;
//TODO: DragDrop verbessern
if (isDragging) if (isDragging)
{ {
// Neue Position berechnen, relativ zum ursprünglichen Klickpunkt // Neue Position berechnen, relativ zum ursprünglichen Klickpunkt
@ -791,7 +790,6 @@ namespace Deckungsbeitrag
// Position des Controls setzen // Position des Controls setzen
newLocation = panel.PointToClient(newLocation); newLocation = panel.PointToClient(newLocation);
//TODO: GroupBox Realtime verschieben testen. Sonst Endposition nehmen. gb.Location hier entfernen und unten einkommentieren.
} }
} }
private void groupBox_MouseUp(object sender, MouseEventArgs e) private void groupBox_MouseUp(object sender, MouseEventArgs e)
@ -807,7 +805,6 @@ namespace Deckungsbeitrag
if (e.Button == MouseButtons.Left) if (e.Button == MouseButtons.Left)
{ {
isDragging = false; isDragging = false;
//TODO: GroupBox wird an Endposition verschoben.
gb.Location = newLocation; gb.Location = newLocation;
} }
Properties.Settings.Default.Location_GroupBoxStatistik_Main = gb.Location; Properties.Settings.Default.Location_GroupBoxStatistik_Main = gb.Location;
@ -908,4 +905,7 @@ namespace Deckungsbeitrag
} }
} }
//DONE: DragDrop verbessern
//DONE: GroupBox Realtime verschieben testen. Sonst Endposition nehmen. gb.Location hier entfernen und unten einkommentieren.
//DONE: GroupBox wird an Endposition verschoben.

View File

@ -546,7 +546,7 @@ namespace Deckungsbeitrag
} }
else else
{ {
//TODO: Funktionalität klären. MessageBox vor Screenauswahl? oder mit Button im Screen Kamera?
//if (meldung.HandEingabe()) this.kunde = Funktionen.Open_List(); //if (meldung.HandEingabe()) this.kunde = Funktionen.Open_List();
//else this.kunde = Funktionen.Open_Kamera(videoDevices); //else this.kunde = Funktionen.Open_Kamera(videoDevices);
kunde = Open_Kamera(videoDevices); kunde = Open_Kamera(videoDevices);
@ -1097,3 +1097,5 @@ namespace Deckungsbeitrag
} }
} }
} }
//DONE: Funktionalität klären. MessageBox vor Screenauswahl? oder mit Button im Screen Kamera?

View File

@ -27,7 +27,7 @@ namespace Deckungsbeitrag
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Screen[] screens = Screen.AllScreens; Screen[] screens = Screen.AllScreens;
//TODO: Wenn mit Anmeldung dann if-Clause entfernen und Switch alleine verwenden. //DONE: Für Maschinen keine Anmeldung notwendig.
if (userid.StartsWith("ms") | userid.StartsWith("ps")) if (userid.StartsWith("ms") | userid.StartsWith("ps"))
{ {
if (userid.Contains("wstrasse")) Application.Run(new FormWSVerfolgung(userid)); if (userid.Contains("wstrasse")) Application.Run(new FormWSVerfolgung(userid));

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// //
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben: // indem Sie "*" wie unten gezeigt eingeben:
[assembly: AssemblyVersion("1.0.2.4")] [assembly: AssemblyVersion("1.0.2.6")]
[assembly: AssemblyFileVersion("1.0.2.4")] [assembly: AssemblyFileVersion("1.0.2.6")]

View File

@ -381,6 +381,12 @@
} }
"Entry" "Entry"
{ {
"MsmKey" = "8:_D8C25AA5CDB643A797EB1D8E142E22CE"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_E0CD318B00C3EBC6018E7287D1C5C964" "MsmKey" = "8:_E0CD318B00C3EBC6018E7287D1C5C964"
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72" "OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
"MsmSig" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED"
@ -1472,6 +1478,26 @@
"IsDependency" = "11:TRUE" "IsDependency" = "11:TRUE"
"IsolateTo" = "8:" "IsolateTo" = "8:"
} }
"{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_D8C25AA5CDB643A797EB1D8E142E22CE"
{
"SourcePath" = "8:..\\Verwaltung_ReadMe.txt"
"TargetName" = "8:Verwaltung_ReadMe.txt"
"Tag" = "8:"
"Folder" = "8:_C848DFB5E4D140A7A7F5E1F129613626"
"Condition" = "8:"
"Transitive" = "11:FALSE"
"Vital" = "11:TRUE"
"ReadOnly" = "11:FALSE"
"Hidden" = "11:FALSE"
"System" = "11:FALSE"
"Permanent" = "11:FALSE"
"SharedLegacy" = "11:FALSE"
"PackageAs" = "3:1"
"Register" = "3:1"
"Exclude" = "11:FALSE"
"IsDependency" = "11:FALSE"
"IsolateTo" = "8:"
}
"{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E0CD318B00C3EBC6018E7287D1C5C964" "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_E0CD318B00C3EBC6018E7287D1C5C964"
{ {
"AssemblyRegister" = "3:1" "AssemblyRegister" = "3:1"
@ -1621,15 +1647,15 @@
{ {
"Name" = "8:Microsoft Visual Studio" "Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:SetupVerwaltung" "ProductName" = "8:SetupVerwaltung"
"ProductCode" = "8:{DC10DA93-2096-4B0A-9B08-5B5DEB59A8FA}" "ProductCode" = "8:{86777761-9DC8-4CDE-916B-AF7A753E5414}"
"PackageCode" = "8:{0A25F7B5-0F0C-4888-A20A-7CFC157873F9}" "PackageCode" = "8:{0B8B46B4-E3DA-42A0-8E69-164483EDA243}"
"UpgradeCode" = "8:{2DC7CE56-8D1C-42EB-B326-2E887EBB7F5A}" "UpgradeCode" = "8:{2DC7CE56-8D1C-42EB-B326-2E887EBB7F5A}"
"AspNetVersion" = "8:" "AspNetVersion" = "8:"
"RestartWWWService" = "11:FALSE" "RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE" "RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE" "InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.0.21" "ProductVersion" = "8:1.0.23"
"Manufacturer" = "8:Kilian Wirl GmbH" "Manufacturer" = "8:Kilian Wirl GmbH"
"ARPHELPTELEPHONE" = "8:" "ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:" "ARPHELPLINK" = "8:"

View File

@ -1,12 +1,11 @@
# Vollständig fehlerfrei - autonom # UpdateVerwaltungReadMe.ps1 - FINAL mit ERLEDIGTEN TODOs
$ProjectDir = Split-Path $MyInvocation.MyCommand.Path -Parent $ProjectDir = Split-Path $MyInvocation.MyCommand.Path -Parent
if (-not $ProjectDir) { $ProjectDir = (Get-Location).Path } $readmePath = Join-Path $ProjectDir "Verwaltung_ReadMe.txt"
Write-Host "Suche ReadMe in: $ProjectDir" Write-Host "Aktualisiere ReadMe in: $ProjectDir"
$readmePath = Join-Path $ProjectDir "Verwaltung-ReadMe.txt" # ReadMe-Vorlage erstellen (falls nicht vorhanden)
# Datei automatisch erstellen
if (-not (Test-Path $readmePath)) { if (-not (Test-Path $readmePath)) {
@" @"
===================================== =====================================
@ -14,74 +13,58 @@ NEUIGKEITEN - Version ##VERSION##
===================================== =====================================
Build-Info: Build-Info:
- Commit-Hash: ##COMMIT##
- Build-Typ: ##CUSTOM## - Build-Typ: ##CUSTOM##
- Erledigte TODOs: ##TODOS##
Änderungen: Installation: ##BUILD_DATE##
- [ ] Neue Features
- [ ] Bugfixes
Erstellt: ##BUILD_DATE##
===================================== =====================================
"@ | Out-File $readmePath -Encoding UTF8 "@ | Out-File $readmePath -Encoding UTF8
Write-Host "✅ ReadMe-Vorlage erstellt!" Write-Host "✅ ReadMe-Vorlage erstellt!"
} }
# VERSION - * durch Buildnummer ersetzen # 1. VERSION aus AssemblyInfo.cs
$version = "1.0.0.0" $version = "1.0.0.0"
$assemblyInfoPath = Join-Path $ProjectDir "Properties\AssemblyInfo.cs" $assemblyInfoPath = Join-Path $ProjectDir "Properties\AssemblyInfo.cs"
if (Test-Path $assemblyInfoPath) { if (Test-Path $assemblyInfoPath) {
$assemblyContent = Get-Content $assemblyInfoPath -Raw -ErrorAction SilentlyContinue $assemblyContent = Get-Content $assemblyInfoPath -Raw -ErrorAction SilentlyContinue
if ($assemblyContent -match 'AssemblyVersion\s*\(\s*"([^"]+)"\s*\)') { if ($assemblyContent -match 'AssemblyVersion\s*\(\s*"([^"]+)"\s*\)') {
$rawVersion = $matches[1] $version = $matches[1]
# * durch Datum/Uhrzeit ersetzen Write-Host "✓ Version: $version"
$buildNumber = (Get-Date -Format "MMdd")
$revision = (Get-Date -Format "HHmm")
$version = $rawVersion -replace '\*', $buildNumber -replace '\*', $revision
Write-Host "✓ Rohe Version: $rawVersion → Finale: $version"
} }
} }
# Git Commit - 100% robust # 2. ERLEDIGTE TODOs sammeln
$commit = "No Git" $doneTodos = @()
try { $csFiles = Get-ChildItem -Path $ProjectDir -Recurse -Filter "*.cs" -ErrorAction SilentlyContinue
# Einfachster Weg: git von aktuellem Ort ausführen foreach ($file in $csFiles) {
$gitOutput = & git rev-parse --short HEAD 2>$null $content = Get-Content $file.FullName -Raw -ErrorAction SilentlyContinue
if ($LASTEXITCODE -eq 0 -and $gitOutput -and $gitOutput.Trim()) { # ERLEDIGTE TODOs: DONE oder [x]
$commit = $gitOutput.Trim() $doneMatches = [regex]::Matches($content, '//\s*(?:DONE|TODO:\s*\[x\])\s*(.+?)(?=\r?\n|$)', 'IgnoreCase')
} else { foreach ($match in $doneMatches) {
# Fallback: suche .git Ordner und wechsle hin $doneText = $match.Groups[1].Value.Trim()
$gitDir = Join-Path $ProjectDir ".git" $doneTodos += "✅ $doneText [$($file.Name)]"
if (Test-Path $gitDir) {
Push-Location $ProjectDir
$gitOutput = & git rev-parse --short HEAD 2>$null
if ($LASTEXITCODE -eq 0 -and $gitOutput -and $gitOutput.Trim()) {
$commit = $gitOutput.Trim()
}
Pop-Location
}
}
} catch {
# Noch ein Versuch mit vollständigem Pfad
$gitExe = (Get-Command git -ErrorAction SilentlyContinue).Source
if ($gitExe) {
$gitOutput = & $gitExe rev-parse --short HEAD 2>$null
if ($LASTEXITCODE -eq 0 -and $gitOutput -and $gitOutput.Trim()) {
$commit = $gitOutput.Trim()
}
} }
} }
Write-Host "Git Commit gefunden: $commit"
$custom = "PostgreSQL optimiert - Build: Debug" # 3. Custom-Text mit DONE-Status
if ($doneTodos.Count -gt 0) {
$custom = "Erledigte TODOs: $($doneTodos.Count)"
$todosText = ($doneTodos -join "`n")
} else {
$custom = "Keine erledigten TODOs"
$todosText = "Noch keine Aufgaben abgeschlossen"
}
$buildDate = Get-Date -Format "dd.MM.yyyy HH:mm" $buildDate = Get-Date -Format "dd.MM.yyyy HH:mm"
# Ersetzen (FEHLERFREI) # 4. Platzhalter ersetzen
$content = Get-Content $readmePath -Raw -Encoding UTF8 -ErrorAction SilentlyContinue $content = Get-Content $readmePath -Raw -Encoding UTF8 -ErrorAction SilentlyContinue
$content = $content -replace "##VERSION##", $version ` $content = $content -replace "##VERSION##", $version `
-replace "##COMMIT##", $commit `
-replace "##CUSTOM##", $custom ` -replace "##CUSTOM##", $custom `
-replace "##TODOS##", $todosText `
-replace "##BUILD_DATE##", $buildDate -replace "##BUILD_DATE##", $buildDate
Set-Content $readmePath $content -Encoding UTF8 Set-Content $readmePath $content -Encoding UTF8
Write-Host "✓ ReadMe aktualisiert: $version ($commit)" Write-Host "✓ ReadMe aktualisiert!"
Write-Host " Version: $version"
Write-Host " Erledigte TODOs: $($doneTodos.Count)"

View File

@ -1,15 +0,0 @@
=====================================
NEUIGKEITEN - Version 1.0.2.4
=====================================
Build-Info:
- Commit-Hash: No Git
- Build-Typ: PostgreSQL optimiert - Build: Debug
Änderungen:
- [ ] Neue Features
- [ ] Bugfixes
Installation: 11.12.2025 13:18
=====================================