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: Bei Transport wir ein Fach mit Aktuellem Auftrag erstellt. Das Alte wird bei Transport gespeichert.
//TODO: Wenn NeuerAuftrag gewählt Fach ändern nicht vergessen.
//TODO: Eventuell einen "Nächsten Auftrag" erstellen damit im Vorraus erstellt werden kann?
//DONE: Bei Transport wir ein Fach mit Aktuellem Auftrag erstellt. Das Alte wird bei Transport gespeichert.
//DONE: Wenn NeuerAuftrag gewählt Fach ändern nicht vergessen.
}
}

View File

@ -79,7 +79,6 @@ namespace Deckungsbeitrag
this.buttonDrucken.Enabled = this.buttonNeuerAuftrag.Enabled = this.buttonSWS_Drucken.Enabled = false;
this.groupBoxEtikett.Enabled = false;
//TODO: Testen ob ausblenden der Button Column funktioniert. Benutzer-Verwaltung oder Frottee oder Flach notwendig.
GetUnvisibleButtonColumn();
break;
case BenutzerRolle.Fahrer:
@ -261,7 +260,6 @@ namespace Deckungsbeitrag
// Alle Zeilenhöhen an Zellinhalt anpassen
this.dGArtikel.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
//TODO: Breite der GridView festlegen.
this.dGArtikel = Funktionen.DGV_Size_Anpassen(this.dGArtikel);
this.dGArtikel.Width = this.Width - dGArtikel.Left;
@ -662,7 +660,6 @@ namespace Deckungsbeitrag
}
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>())
{
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;
}
Panel panel = (Panel)gb.Parent;
//TODO: DragDrop verbessern
if (isDragging)
{
// Neue Position berechnen, relativ zum ursprünglichen Klickpunkt
@ -791,7 +790,6 @@ namespace Deckungsbeitrag
// Position des Controls setzen
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)
@ -807,7 +805,6 @@ namespace Deckungsbeitrag
if (e.Button == MouseButtons.Left)
{
isDragging = false;
//TODO: GroupBox wird an Endposition verschoben.
gb.Location = newLocation;
}
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
{
//TODO: Funktionalität klären. MessageBox vor Screenauswahl? oder mit Button im Screen Kamera?
//if (meldung.HandEingabe()) this.kunde = Funktionen.Open_List();
//else this.kunde = Funktionen.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);
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.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,
// indem Sie "*" wie unten gezeigt eingeben:
[assembly: AssemblyVersion("1.0.2.4")]
[assembly: AssemblyFileVersion("1.0.2.4")]
[assembly: AssemblyVersion("1.0.2.6")]
[assembly: AssemblyFileVersion("1.0.2.6")]

View File

@ -381,6 +381,12 @@
}
"Entry"
{
"MsmKey" = "8:_D8C25AA5CDB643A797EB1D8E142E22CE"
"OwnerKey" = "8:_UNDEFINED"
"MsmSig" = "8:_UNDEFINED"
}
"Entry"
{
"MsmKey" = "8:_E0CD318B00C3EBC6018E7287D1C5C964"
"OwnerKey" = "8:_AD2C2F4AADC342899908C708EB4F4A72"
"MsmSig" = "8:_UNDEFINED"
@ -1472,6 +1478,26 @@
"IsDependency" = "11:TRUE"
"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"
{
"AssemblyRegister" = "3:1"
@ -1621,15 +1647,15 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:SetupVerwaltung"
"ProductCode" = "8:{DC10DA93-2096-4B0A-9B08-5B5DEB59A8FA}"
"PackageCode" = "8:{0A25F7B5-0F0C-4888-A20A-7CFC157873F9}"
"ProductCode" = "8:{86777761-9DC8-4CDE-916B-AF7A753E5414}"
"PackageCode" = "8:{0B8B46B4-E3DA-42A0-8E69-164483EDA243}"
"UpgradeCode" = "8:{2DC7CE56-8D1C-42EB-B326-2E887EBB7F5A}"
"AspNetVersion" = "8:"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:1.0.21"
"ProductVersion" = "8:1.0.23"
"Manufacturer" = "8:Kilian Wirl GmbH"
"ARPHELPTELEPHONE" = "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
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"
# Datei automatisch erstellen
# ReadMe-Vorlage erstellen (falls nicht vorhanden)
if (-not (Test-Path $readmePath)) {
@"
=====================================
@ -14,74 +13,58 @@ NEUIGKEITEN - Version ##VERSION##
=====================================
Build-Info:
- Commit-Hash: ##COMMIT##
- Build-Typ: ##CUSTOM##
- Erledigte TODOs: ##TODOS##
Änderungen:
- [ ] Neue Features
- [ ] Bugfixes
Erstellt: ##BUILD_DATE##
Installation: ##BUILD_DATE##
=====================================
"@ | Out-File $readmePath -Encoding UTF8
Write-Host "✅ ReadMe-Vorlage erstellt!"
}
# VERSION - * durch Buildnummer ersetzen
# 1. VERSION aus AssemblyInfo.cs
$version = "1.0.0.0"
$assemblyInfoPath = Join-Path $ProjectDir "Properties\AssemblyInfo.cs"
if (Test-Path $assemblyInfoPath) {
$assemblyContent = Get-Content $assemblyInfoPath -Raw -ErrorAction SilentlyContinue
if ($assemblyContent -match 'AssemblyVersion\s*\(\s*"([^"]+)"\s*\)') {
$rawVersion = $matches[1]
# * durch Datum/Uhrzeit ersetzen
$buildNumber = (Get-Date -Format "MMdd")
$revision = (Get-Date -Format "HHmm")
$version = $rawVersion -replace '\*', $buildNumber -replace '\*', $revision
Write-Host "✓ Rohe Version: $rawVersion → Finale: $version"
$version = $matches[1]
Write-Host "✓ Version: $version"
}
}
# Git Commit - 100% robust
$commit = "No Git"
try {
# Einfachster Weg: git von aktuellem Ort ausführen
$gitOutput = & git rev-parse --short HEAD 2>$null
if ($LASTEXITCODE -eq 0 -and $gitOutput -and $gitOutput.Trim()) {
$commit = $gitOutput.Trim()
} else {
# Fallback: suche .git Ordner und wechsle hin
$gitDir = Join-Path $ProjectDir ".git"
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()
}
# 2. ERLEDIGTE TODOs sammeln
$doneTodos = @()
$csFiles = Get-ChildItem -Path $ProjectDir -Recurse -Filter "*.cs" -ErrorAction SilentlyContinue
foreach ($file in $csFiles) {
$content = Get-Content $file.FullName -Raw -ErrorAction SilentlyContinue
# ERLEDIGTE TODOs: DONE oder [x]
$doneMatches = [regex]::Matches($content, '//\s*(?:DONE|TODO:\s*\[x\])\s*(.+?)(?=\r?\n|$)', 'IgnoreCase')
foreach ($match in $doneMatches) {
$doneText = $match.Groups[1].Value.Trim()
$doneTodos += "$doneText [$($file.Name)]"
}
}
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"
# Ersetzen (FEHLERFREI)
# 4. Platzhalter ersetzen
$content = Get-Content $readmePath -Raw -Encoding UTF8 -ErrorAction SilentlyContinue
$content = $content -replace "##VERSION##", $version `
-replace "##COMMIT##", $commit `
-replace "##CUSTOM##", $custom `
-replace "##TODOS##", $todosText `
-replace "##BUILD_DATE##", $buildDate
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
=====================================