Sto iniziando a creare un'interfaccia per i nostri tecnici di settore per chiudere gli ordini di lavoro e abbiamo diversi moduli cartacei richiesti per diversi clienti. Speravo di creare un sistema in cui posso impostare una pagina per ogni modulo (tutto in .Net 4.0 / wpf e possibilmente usare caliburn.micro se non è una cattiva scelta), e in base alle regole, visualizzare determinate pagine automaticamente. Ho iniziato creando un framework di base costituito da un modulo wpf con 3 pulsanti (back, next / finish, cancel) e un Frame. Alla fine spero di avere un oggetto posso passare un identificatore che andrà a prendere tutte le informazioni di cui ha bisogno, decidere quali pagine mostrare, mostrarle in ordine e aggiornare il nostro database quando l'utente fa clic.
C'è qualcosa di specifico che dovrei ricercare / imparare per rendere più facile il mio lavoro, o il mio prodotto finito più robusto / affidabile? Quale sarebbe un buon approccio per decidere quali pagine mostrare? Principalmente si baserebbe su qualcosa come Show this form if Customer is X
, ma mi piacerebbe essere più complesso (estensibile?) Di quello che mi serve. Alla fine, ogni pagina / modulo genererà probabilmente anche un file PDF del modulo reale del cliente, compilato. Sembra una cosa di routine da avere, ma non ho mai implementato o utilizzato personalmente nulla che lo abbia fatto, me stesso, quindi sto andando alla cieca. la finestra di hosting chiederà la pagina se devono essere mostrati? le pagine dovrebbero parlare da sole? la finestra di hosting deve passare l'intero oggetto dati a una funzione bool ShouldIShowYou()
e lasciare che la pagina risolva il problema? deve esserci già un meccanismo per "registrare" una pagina come se fosse per un certo "qualcosa", ma non sono sicuro di cosa sia. Mi piacerebbe che fosse aggiornato abbastanza facilmente, ma l'app viene distribuita tramite clickonce e il numero totale di utenti sarà inferiore a 100 per il prossimo futuro. è sufficiente aggiungere un nuovo oggetto di pagina + logica alla raccolta e la ridistribuzione non dovrebbe causare problemi.
qualche altra domanda che ho avuto:
-
potrebbe (dovrei) implementarlo come una transazione in .net, dove potrei iniziare una transazione quando viene creata la finestra / oggetto, avere ogni singola pagina nel frame fare il proprio lavoro di dati (tramite una condivisione wcf proxy), quindi eseguire il commit della transazione dopo che tutto è andato a buon fine?
-
ogni pagina dovrebbe semplicemente creare un oggetto e la finestra principale passerà l'oggetto indietro e l'applicazione di origine farà funzionare i dati? per esempio. rendere l'intero segmento dell'applicazione non sensibile ai dati. non è sicuro che funzionerà molto bene, sembra un incubo di manutenzione.
-
questo è il posto sbagliato dove inserire questo tipo di domanda? Non sto cercando il codice, quindi non sembrava giusto in overflow. questa è più una domanda "quali sono le parole per descrivere quello che sto cercando di fare".
Grazie!
rileggerò questo 10 o 12 volte nel corso della giornata e cercherò di chiarire se posso. I miei cervelli non fanno sempre parole goff.