- Refactor download processing to use fixed
C:\DL-SYNCHinstead of the legacy temporary download token. - Validate
C:\DL-SYNCHand required subfolders before download/sync processing. - Log detected
C:\DL-SYNCHprocessing, archive, error, failed/retry, processed, quarantine, and log folders. - Test
Databasemode against a restored/non-production SQL Server database. - Fill
TaskMonitor.Desktop\appsettings.jsonwith real SQL Server settings for a test environment. - Run WPF Diagnostics in
Databasemode and confirm SQL Server connectivity passes. - Validate generated SQL operations against the real schema:
-
tblProducts -
tblBarcode -
tblDepartments -
tblVendors -
tblUsers -
tblServerLog -
tblAuditTrail -
tblTransAudit -
tblTransAuditDetails
-
- Extract or obtain real legacy
.Filfiles from production/test packages. - Verify
DataSetLegacySyncFileReadercan read all real.Filvariants. - Compare modern exported
.Filoutput with VB6 ADOadPersistXMLoutput. - Decide whether exact ADO XML compatibility is required.
- If exact compatibility is required, implement an ADO-compatible XML writer.
- Add golden-file self-tests for:
-
ProdQtyDb.Fil -
SynchDb.Fil -
BarcodeDb.Fil -
DeptDb.Fil -
tblVendors.FIL -
tblUsers.FIL -
ItemList.Fil
-
- Confirm whether downstream systems require true RAR or ZIP-compatible archives.
- Test
WinRarCompatibilityArchiveServicewith realSynProducts.rarpackages. - Test extraction of numbered
SynProducts.rarfiles. - Test extraction of
Itemtrans.rar,?Itemtrans.rar, and??Itemtrans.rar. - Decide whether to keep WinRAR CLI or replace with a managed archive library.
- Remove archive encryption and all archive-password configuration.
- Confirm the Create Transfer program produces unencrypted
Itemtrans.rarpackages.
- Validate vendor import behavior against VB6.
- Validate department import behavior against VB6.
- Validate user import behavior against VB6.
- Validate product import behavior against VB6.
- Validate product quantity import behavior.
- Validate barcode duplicate/pre-existence behavior.
- Skip blank barcode rows that violate the SQL Server non-empty barcode constraint.
- Confirm whether product quantity import should remain disabled as in the VB6
ReadXmlDataProdQtyearlyExit Sub, or be enabled. - Add integration tests for each import workflow using a test SQL database.
- Validate
ItemList.Filfield names and types from real transfer files. - Confirm
ReverseYnsign behavior. - Confirm audit ID handling for
tblTransAuditDetails. - Align
tblAuditTrailfields with production schema. - Validate product quantity changes against VB6 output.
- Wrap complete transfer posting in one SQL transaction.
- Add transfer posting integration tests.
- Validate outgoing SQL select lists against production schema.
- Confirm
ItemChangeflag values are boolean-compatible in SQL Server. - Confirm reset of
ItemChangeflags after successful package creation. - Confirm outgoing package file naming and increment behavior.
- Implement legacy increment counter equivalent for numbered
SynProducts.rar. - Save created sync packages to fixed
C:\UL-SYNCHinstead of the old local temp folder. - Confirm upload folder copy/delete behavior matches VB6 expectations.
- Validate interval settings loaded from JSON and/or registry.
- Confirm create-sync vs execute-sync scheduler behavior with users.
- Validate nightly
InventoryValPost.exelaunch path. - Decide whether nightly task should run even when scheduler mode is Create Sync.
- Add UI controls for interval settings if needed.
- Consider moving scheduler into a Windows Service if always-on behavior is required.
- Add settings screen for:
- app mode
- application root
- SQL Server settings
- WinRAR path
- nightly executable
- scheduler interval
- workflow disable controls
- sync behavior
- Add masked SQL password entry and runtime-only database password support.
- Improve diagnostics display with filtering or color cues.
- Add progress reporting during package processing.
- Add cancellation support for long-running operations.
- Add tray tooltip updates for scheduler/package status.
- Decide deployment shape:
- xcopy folder
- MSIX
- MSI
- Windows service plus WPF monitor
- Create publish profile for
TaskMonitor.Desktop. - Validate app on clean Windows workstation/server.
- Document required installed tools, especially WinRAR if retained.
- Document configuration file and startup switches.
- Prepare a restored copy of production database.
- Run VB6 and .NET workflows side by side on copied data.
- Compare database row changes after each workflow.
- Compare package outputs.
- Run pilot in Recording mode.
- Run pilot in Database mode against test database.
- Run controlled live pilot with rollback plan.
- Keep VB6 executable available until all workflows are validated.
- Continue running:
dotnet build .\TaskMonitorModern.sln
dotnet run --no-build --project .\TaskMonitor.Tests\TaskMonitor.Tests.csproj- Add more self-tests for:
- startup command parsing
- package discovery
- archive service command construction
- SQL Server connection string creation
- import SQL builders
- transfer SQL builder
- transfer
ReverseYnsign behavior - diagnostics in Database mode