ciao,
mia opinione personale, quindi sindacabile...
tutti i modelli di sviluppo andrebbero valutati in base a ciò che stai sviluppando, al tempo che hai a disposizione, al risultato da ottenere; quindi la risposta a
Mi stavo domandando dove è preferibile fare questi controlli
è: dipende
se decidi di applicare il modello alla lettera dovresti effettuare chiamate separate ad ogni service, ad es. per il punto 1
-->service verifica cliente
-->risposta
-->service che verifica quantità
-->risposta
-->service che aggiunge il prodotto
...ecc.
potresti però pensare di variare il modello per ottenere una soluzione, secondo me migliore e comunque accettabile; solo per fare un esempio si potrebbe aggiungere un BusinessLayer contenente un servizio che raccolti i dati, cliente, quantità, prodotto, chiami in cascata i services di sopra e produca la risposta desiderata. In questo modo lo strato Presentation farebbe un unica chiamata, lo strato Application continuerebbe ad assolvere ai principi del modello, ma avresti molta più flessibilità di sviluppo....