┌─────────┐ ┌─────────┐ ┌──────────┐ ┌──────────┐ │UserAgent│ │AppFacade│ │AppService│ │Repository│ └────┬────┘ └────┬────┘ └─────┬────┘ └─────┬────┘ │ │ │ │ ╔═══════════╤══╪══════════════════════════════════╪═══════════════════════════════════════════╪══════════════════════════════╪═══════════════╗ ║ RETRIEVE │ │ │ │ │ ║ ╟───────────┘ │ GET Entity 3 │ │ │ ║ ║ │─────────────────────────────────>│ │ │ ║ ║ │ │ │ │ ║ ║ │ │ Get(3) │ │ ║ ║ │ │──────────────────────────────────────────>│ │ ║ ║ │ │ │ │ ║ ║ │ │ │ Get(3) │ ║ ║ │ │ │─────────────────────────────>│ ║ ║ │ │ │ │ ║ ║ │ │ │ return entity │ ║ ║ │ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ ║ ║ │ │ │ │ ║ ║ │ │ return entity │ │ ║ ║ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ ║ ║ │ │ │ │ ║ ║ │ │────┐ │ │ ║ ║ │ │ │ encode as JSON │ │ ║ ║ │ │<───┘ │ │ ║ ║ │ │ │ │ ║ ║ │ returns JSON │ │ │ ║ ║ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ │ ║ ╚══════════════╪══════════════════════════════════╪═══════════════════════════════════════════╪══════════════════════════════╪═══════════════╝ │ │ │ │ │ │ │ │ ╔══════════════╤══════════════════════════════════╪═══════════════════════════════════════════╪══════════════════════════════╪═══════════════╗ ║ POST UPDATE │ │ │ │ ║ ╟──────────────┘────┐ │ │ │ ║ ║ │ │ user edits entity ViewModel │ │ │ ║ ║ │<───┘ │ │ │ ║ ║ │ │ │ │ ║ ║ │ POST Entity 3 + JSON body │ │ │ ║ ║ │─────────────────────────────────>│ │ │ ║ ║ │ │ │ │ ║ ║ │ │────┐ │ │ ║ ║ │ │ │ Map JSON to new (incomplete) Entity' │ │ ║ ║ │ │<───┘ │ │ ║ ║ │ │ │ │ ║ ║ │ │ Update(Entity entity) │ │ ║ ║ │ │──────────────────────────────────────────>│ │ ║ ║ │ │ │ │ ║ ║ │ │ │ Get(3) │ ║ ║ │ │ │─────────────────────────────>│ ║ ║ │ │ │ │ ║ ║ │ │ │────┐ │ ║ ║ │ │ │ │ Map Entity' over Entity │ ║ ║ │ │ │<───┘ │ ║ ║ │ │ │ │ ║ ║ │ │ │ UpdateOnCommit(entity) │ ║ ║ │ │ │─────────────────────────────>│ ║ ║ │ │ │ │ ║ ║ │ │ │ Commit() │ ║ ║ │ │ │─────────────────────────────>│ ║ ║ │ │ │ │ ║ ║ │ │ ACK │ │ ║ ║ │ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ │ │ ║ ║ │ │ │ │ ║ ║ │ ACK │ │ │ ║ ║ │<─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─│ │ │ ║ ╚══════════════╪══════════════════════════════════╪═══════════════════════════════════════════╪══════════════════════════════╪═══════════════╝ ┌────┴────┐ ┌────┴────┐ ┌─────┴────┐ ┌─────┴────┐ │UserAgent│ │AppFacade│ │AppService│ │Repository│ └─────────┘ └─────────┘ └──────────┘ └──────────┘