Sample Oqtane module demonstrating a scheduled job and JSInterop visualizations using Chart.js. This module powers the trend analysis on https://dnfprojects.org.
Split Project and ProjectActivity Service classes
used new constructor pattern in Service classes
updated razor files from table to div layouts
added TabStrip control to Edit component to optimize UI
used culture invariant date handling
Server
improved error handling in Controllers
replaced NewtonSoft.Json with System.Text.Json
used new constructor pattern in Manager classes
implemented EF Core Migrations
Split Project and ProjectActivity Repository classes
Removed Scripts and included upgrade support
used culture invariant date handling
Commit: https://github.com/oqtane/DNF.Projects/commit/a354e01b7c64115cef5e512ec557ae5ef577e1f3
General
Updated to .NET 7 updated to Oqtane 4.0
Client
Split Project and ProjectActivity Service classes used new constructor pattern in Service classes updated razor files from table to div layouts added TabStrip control to Edit component to optimize UI used culture invariant date handling
Server
improved error handling in Controllers replaced NewtonSoft.Json with System.Text.Json used new constructor pattern in Manager classes implemented EF Core Migrations Split Project and ProjectActivity Repository classes Removed Scripts and included upgrade support used culture invariant date handling
Shared
Used ModelBase for auditable fields