Skip to main content

Wisej.NET Foundations

One runnable Wisej.NET 4 application per module of the Wisej.NET Foundations course, built from each module's lesson guide, lab guide and walkthrough video. Every sample follows the same layout: the screen the lab asks for, built with the control names the lab guide uses, plus an event log card that shows what the server-side C# did for every click, a status label, and buttons that exercise the success path, a progress path where the module has one, at least one failure path and the recovery. Each module folder has its own README.md (what to click, lab steps → code map, self-check answers) and a docs/ folder with the lab deliverables.

Requirements: .NET 10 SDK and the Wisej-4 4.1.0 NuGet package. Nothing is deployed anywhere.

The modules

ModuleWhat it builds
1 · How Wisej.NET worksWindow1: the first app from the walkthrough — lblTitle "What's your name?", txtName, btnSayHello, lblStatus greeting
2 · Designer, properties & eventsDashboardWindow: lblTitle, lblStatus, pnlServices with three service labels, Start / Stop / Reset / Refresh, lstEventLog + AddLog
3 · Application shell & navigationMainPage : Page shell: docked header / nav / content / status, four UserControl views, one NavigateTo, view-only Settings for a Support Agent
4 · Data binding & layoutTicketsWindow: Ticket + TicketService, SplitContainer, dgvTickets bound through a BindingSource, detail controls, btnSaveTicket
5 · Dialogs & validationthe ticket grid + one TicketDialog for New and Edit, ValidateForm, DialogResult.OK, refresh only after a successful save
6 · State, background work & errorsJobsWindow: Start Import / Export, Cancel, progress bar, job log, async/await + try/catch/finally, safe messages, per-session state
7 · Theming & UI modernizationMainWindow: theme selector (Application.LoadTheme), active nav state, metric cards, grouped commands, recent activity — Module 5 ticket logic reused unchanged
8 · JavaScript widgetStatusPage: widStatus (Wisej.Web.Widget) fed by a C# StatusService, Widgets/statusGauge.js + .css, data card, Refresh / Set Healthy / Warning / Critical, gaugeClick event
9 · Configuration, security & deploymentReleaseReviewWindow: release info, required / optional checklist, deployment notes, role-gated review with a server-side re-check, license key from secure config, troubleshooting log
10 · CapstoneWindow1 mini helpdesk: left-nav shell (Dashboard, Tickets, Architecture, Code Review, Deployment, Next Steps), ticket CRUD with TicketDialog + TicketValidator + TicketService over a fake repository, dashboard counts, notes screens

Run any module from its WisejTrainingApp project folder. The projects multi-target net10.0-windows and net10.0, so dotnet run needs a framework (-f net10.0, or -f net10.0-windows), e.g.

cd "LearnWisej-Samples/Foundations Course/Module 4/WisejTrainingApp"
dotnet run -f net10.0 --urls http://localhost:5084

or open the WisejTrainingApp.slnx in the module folder with Visual Studio and press F5.