Skip to content

Latest commit

 

History

History
146 lines (122 loc) · 5.94 KB

File metadata and controls

146 lines (122 loc) · 5.94 KB

Migration TODO

Highest Priority

  • Refactor download processing to use fixed C:\DL-SYNCH instead of the legacy temporary download token.
  • Validate C:\DL-SYNCH and required subfolders before download/sync processing.
  • Log detected C:\DL-SYNCH processing, archive, error, failed/retry, processed, quarantine, and log folders.
  • Test Database mode against a restored/non-production SQL Server database.
  • Fill TaskMonitor.Desktop\appsettings.json with real SQL Server settings for a test environment.
  • Run WPF Diagnostics in Database mode and confirm SQL Server connectivity passes.
  • Validate generated SQL operations against the real schema:
    • tblProducts
    • tblBarcode
    • tblDepartments
    • tblVendors
    • tblUsers
    • tblServerLog
    • tblAuditTrail
    • tblTransAudit
    • tblTransAuditDetails

Legacy File Compatibility

  • Extract or obtain real legacy .Fil files from production/test packages.
  • Verify DataSetLegacySyncFileReader can read all real .Fil variants.
  • Compare modern exported .Fil output with VB6 ADO adPersistXML output.
  • 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

Archive Compatibility

  • Confirm whether downstream systems require true RAR or ZIP-compatible archives.
  • Test WinRarCompatibilityArchiveService with real SynProducts.rar packages.
  • Test extraction of numbered SynProducts.rar files.
  • 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.rar packages.

Data Import Workflows

  • 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 ReadXmlDataProdQty early Exit Sub, or be enabled.
  • Add integration tests for each import workflow using a test SQL database.

Transfer Posting Workflow

  • Validate ItemList.Fil field names and types from real transfer files.
  • Confirm ReverseYn sign behavior.
  • Confirm audit ID handling for tblTransAuditDetails.
  • Align tblAuditTrail fields with production schema.
  • Validate product quantity changes against VB6 output.
  • Wrap complete transfer posting in one SQL transaction.
  • Add transfer posting integration tests.

Export Workflow

  • Validate outgoing SQL select lists against production schema.
  • Confirm ItemChange flag values are boolean-compatible in SQL Server.
  • Confirm reset of ItemChange flags 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-SYNCH instead of the old local temp folder.
  • Confirm upload folder copy/delete behavior matches VB6 expectations.

Scheduling And Background Behavior

  • Validate interval settings loaded from JSON and/or registry.
  • Confirm create-sync vs execute-sync scheduler behavior with users.
  • Validate nightly InventoryValPost.exe launch 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.

UI And UX

  • 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.

Deployment

  • 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.

Cutover Plan

  • 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.

Verification

  • 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 ReverseYn sign behavior
    • diagnostics in Database mode