Table of Contents

TS-004 — Regola di business elusa via WCF/integrazione

Sintomi

  • Dati incoerenti creati "aggirando" un controllo presente nella UI (es. doppia prenotazione, richiesta senza validazione obbligatoria, lettura energia fuori sequenza).
  • L'anomalia si presenta solo quando l'operazione arriva da WCF / integrazione / import, non dalla UI interattiva.

Componenti coinvolti

Entry-point BL condivisi (Request.Create, SaveBuilding, Book*, NRG_*) invocati sia dalla UI sia dai canali *.svc (WCF) e dagli EntityLayer<Cliente>/EXELoaders. Vedi TD-006 e Regole di business.

Cause probabili

Regole di validazione applicate solo nel code-behind della UI (27 casi rilevati) e non ripetute nell'entry-point BL/WCF condiviso → i canali non-UI le saltano. Esempi confermati:

  • BR-BOOK-003 (anti-sovrapposizione prenotazioni) bypassata dal canale WCF BR-BOOK-021.
  • BR-ENE-003 (guardia data/valore) assente sul canale WCF (BR-ENE-018).
  • BR-REQ-007 (validazione create) non ripetuta in Request.Create.

Query diagnostiche (read-only)

-- prenotazioni sovrapposte per la stessa entità/intervallo (adattare colonne)
SELECT ID_ENTITY, START_DATE, END_DATE, COUNT(*)
FROM   INFOCAD_TEST38.BOOK_SCHEDULE
GROUP  BY ID_ENTITY, START_DATE, END_DATE HAVING COUNT(*) > 1;

Procedura diagnostica

  1. Determinare il canale di origine del dato anomalo (UI vs WCF/loader) dai log/audit.
  2. Confrontare la regola attesa (pagina BR-*) col punto di enforcement effettivo (UI/BL/DB).
  3. Confermare se la regola è marcata solo-UI nel register.

Risoluzione

Rilievo di debito/architettura: la correzione (spostare la validazione nell'entry-point condiviso o a DB) è a cura del team. La documentazione non modifica il codice.

Escalation

Team architettura/applicativo — triage dei reperti TD-006.

Evidenza

TD-006; BR-BOOK-003/BR-BOOK-021, BR-ENE-003/BR-ENE-018, BR-REQ-007 in Regole di business.