Supponiamo di avere un Order
oggetto che ha List<OrderItem>
, l'utente va alla pagina e crea il suo ordine, ora dovrei salvare la sua selezione nel database, ho due classi di servizi dati una per ogni entità , OrderDataService
e OrderItemDataService
, che è più corretto?
1- A livello di presentazione nel pulsante Add
Scrivo un codice che chiama il metodo OrderDataService.Add(Order order)
, quindi ciclo su List<OrderItem>
e richiama OrderItemDataService.Add(OrderItem item)
per ogni OrderItem
facendo in modo che la transazione avvenga a livello di presentazione dietro il pulsante Add
.
OR
2- Creare un metodo in OrderService.AddWithItems(Order order, List<OrderItem> items)
che richiede Order e OrderItem come parametro e fare in modo che questo metodo gestisca il looping e la transazione?
Nota: Questo è un esempio molto semplice, in pratica le cose sono più complicate e la creazione di un metodo OrderService.AddWithItems () potrebbe richiedere troppi parametri.