Audit finding
ApplicationAssignmentsGrid is a useful presentation boundary, but one class still owns:
- DataGridView and column construction;
- selector option population;
- row writing and lookup;
- column-name-to-command translation;
- recoverable data-error classification and diagnostics;
- custom enabled-cell painting;
- selection and empty-state publication.
The result is a large control whose data contract, rendering rules and event decoding change for unrelated reasons.
Target state
Keep ApplicationAssignmentsGrid as the UserControl boundary while extracting only stable focused collaborators, for example:
- column/selector configuration;
- typed cell-change mapping;
- enabled-state cell renderer;
- selector data-error policy.
Avoid introducing a general UI framework.
Acceptance criteria
Audit finding
ApplicationAssignmentsGridis a useful presentation boundary, but one class still owns:The result is a large control whose data contract, rendering rules and event decoding change for unrelated reasons.
Target state
Keep
ApplicationAssignmentsGridas the UserControl boundary while extracting only stable focused collaborators, for example:Avoid introducing a general UI framework.
Acceptance criteria
ApplicationAssignmentChangeis independently testable without raising WinForms events.ApplicationAssignmentsGridremains the owner of selection, binding, row updates and typed change publication.