Add BidParserLite WPF desktop variant (shared core, two solutions)#2
Merged
Conversation
- BidParser.Core: de-webbed ParseRunner (validation, writer dispatch,
wrong-file-type flow) with no DB/auth/User dependencies; returns
ParseOutcome { Validation, Currency, CancelledLines, OutputPath }
- BidParser.Wpf: net10.0-windows WPF shell — MainViewModel ports the
web ParseSettingsCard's vendor-driven conditional-field matrix
(Zebra / HP / Nutanix+Lenovo branches), canSubmit logic, error
stages, success/warning/error result panel; output auto-named beside
input via OutputNaming; single self-contained publish
- BidParserLite.sln: references shared Domain/Parsing/Output/Core/Wpf
and the existing parsing test suite — web BidParser.sln untouched
- CI: publish-windows job (windows-latest) + release job publish
BidParserLite-X.Y.Z-win-x64.exe as a GitHub Release asset on v* tags;
release body includes docker pull reference for the web image
- Docs: fix stale Parsing parser counts (five->six Nutanix, add Zebra),
add Vendors.Zebra and Zebra slugs to Domain constants list, reorder
Core/Wpf entries after Output in project_memory.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds BidParserLite, a portable Windows desktop variant of BidParser, without disturbing the web app. Both products live in one repo and share the same parser core, so a new parser is written once and both pick it up.
BidParserLite.sln(new) references the sharedDomain/Parsing/Outputprojects + the newCore/Wpfprojects + the existing parsing test suite. The webBidParser.slnis untouched (Linux/Docker CI anddotnet test BidParser.slnunaffected).src/BidParser.Core/ParseRunner.cs— the pure parse→write orchestration lifted fromParseServicewith all DB/auth/Usercode removed. ReturnsParseOutcome { Validation, Currency, CancelledLines, OutputPath }.src/BidParser.Wpf/(net10.0-windows, single self-contained publish) — MVVM shell.MainViewModelports the web SPA: vendor/file-type/template pickers, the vendor-driven conditional-field matrix fromParseSettingsCard.tsx+ settings blocks,canSubmit/error branching fromDashboardPage.tsx, and success/warning/error result panels. Output auto-named beside the input viaOutputNaming. No DB, no config files, no persistent storage.publish-windows(windows-latest) +releasejobs publishBidParserLite-X.Y.Z-win-x64.exeas a GitHub Release asset on everyv*tag, in lockstep with the Docker image; release body includes adocker pullreference.Conditional-field matrix (mirrors the web)
Vendor-driven, matching
ParseSettingsCard.tsx:No Calculationignores them but the fields still show)Uplift/% Off RRP with Uplift; Discount Off MSRP for% Off RRP with UpliftVerification
dotnet build BidParser.sln(web) — clean, 0 warnings/errorsdotnet build src/BidParser.Core— cleandotnet test BidParser.sln— 161 parsing tests pass (78 API tests need a Docker daemon, not run here)src/BidParser.Wpftargetsnet10.0-windowsand must be built on Windows — not compiled in this Linux environment. Remaining manual checks per the plan's §8 (smoke per writer family, portability test on a clean no-.NET box, throwaway release-tag pipeline test).Not done
.ico) — needs a design asset.