In questo post andremo ad implementare il necessario a fare in modo che la finestra di base della MiniSqlAgentConsole non apra più di una volta l’interfaccia per la gestione dei Jobs. Per fare questo andremo ad implementare una classe entity Generic, una collection Generic, ed un metodo anonimo.
Comments closedCategory: Intermediate
In questo post, vedremo come WPF ci permetta di derivare le proprie classi per permetterci di aggiungere funzionalità anche quando non vogliamo modificare l’aspetto visuale della classe WPF. In questo caso, avendo introdotto nel post precedente un sistema di memorizzazione di parametri di stato per la User Interface delle nostre applicazioni, vogliamo estendere la Window WPF e creare una nuova Window che sappia automaticamente come salvare la propria dimensione. Fatto questo, useremo questa nuova window come classe base per la MainWindow di MiniSqlAgentConsole.
Comments closedLa dimensione delle finestre è ovviamente un esempio di ciò che si può fare con questo tipo di funzionalità, un’altra potrebbe essere quella di riaprire le finestre che erano aperte nell’ultima sessione di lavoro, ripopolare i parametri di filtro su una finestra dati, ed altre cose che rendono la vita dell’utente più semplice.
Non stiamo parlando di preferenze, ma di “stato” dell’applicazione.
Comments closedIn questo post spieghiamo come fare in modo che uno User Control che si trova vari strati all’interno della user interface possa comunicare con la MainWindow dell’applicazione senza passare per l’ufficio complicazione affari semplici. Per farlo utilizzeremo i delegate e le Action.
Il problema
Nell’interfaccia della console del servizio MiniSqlAgent abbiamo iniziato ad implementare una User Interface complessa, che simula le Child Window di una MDI utilizzando il TabControl e gli user control. Gli User Control che gestiscono gli oggetti Job, possono trovarsi vari “strati” lontani dalla Window che li contiene, e non sapere nulla di tale window per il proprio funzionamento, ma sulla MainWindow abbiamo implementato una StatusBar, che ci mostra se il Servizio è attivo oppure no, e visto che abbiamo dello spazio, ci piacerebbe utilizzarla per dare dei messaggi di status all’utente. Come facciamo a fare arrivare alla MDI dei messaggi che arrivano dagli User Control senza complicarci troppo la vita?
Comments closedIn questo secondo post dedicato all’implementazione della User Interface per la gestione dei Job del nostro MiniSqlAgent, andremo a creare la porzione dell’interfaccia utente contenuta all’interno della finestra principale della console del servizio, per poi concludere con lo sviluppo della classe manager dei Job, in cui utilizzeremo lo User Control che abbiamo sviluppato nei post precedenti che potete leggere agli indirizzi qui sotto riportati.
- Uno User control per generare un Job per MiniSqlAgent
- User Control Fine Tuning – DateTimePicker, DateTimeUpDown, Combobox
In questa breve serie di Post, utilizzeremo quanto finora sviluppato per iniziare a costruire un’interfaccia avanzata per la console del nostro servizio Windows, in modo da poter costruire i Job che gli faremo eseguire. In Questa prima parte porteremo in libreria il CloseableTabItem che abbiamo costruito nel precedente post e faremo un paio di modifiche interessanti, nel post successivo andremo a creare la User Interface per gestire i Job all’interno della console del servizio.
Comments closedUn post che riporta ed estende un tutorial di csharpcorner e dimostra come modificare un controllo standard microsoft (il TabItem del TabControl) in modo da creare un interfaccia simile all’editor di visual studio, da utilizzare come bozza applicativa per le nostre interfacce WPF.
Comments closedFacciamo il fine tuning dello User Control disegnato nel post precedente a questo e disponibile QUI in questo articolo modificheremo le semplici textbox inserite per il primo test e aggiungeremo un DateTimePicker per la data della prossima esecuzione del Job, un DateTimeUpDown per l’ora della prossima esecuzione del job, in IntegerUpDown per la gestione dell’intervallo di esecuzione ed una combobox per selezionare le connessioni disponibili sul sistema per l’esecuzione dei job. Per fornire la lista alla combobox aggiungiamo ai parametri di configurazione del servizio e della sua console un file che conterrà tutte le stringhe di connessione valide a SQL Server che vogliamo memorizzare.
Comments closedIn questo post, proseguiamo lo sviluppo della console per il servizio MiniSqlAgent che stiamo sviluppando per dimostrare come costruire un servizio windows funzionante e non banale ed una applicazione WPF che ne gestisca l’amministrazione in tutti i suoi aspetti. Nel post precedente abbiamo generato una classe per definire un Job per il nostro servizio che contiene funzionalità minimali, adesso realizziamo uno User Control WPF per poter generare un Job e salvarlo su un file su disco, e testeremo lo User Control nella applicazione della nostra console.
Comments closedUn post per definire la classe entity che contiene i dati di base per costruire un Job che permetta di eseguire uno statement SQL ad intervalli regolari. Propedeutica allo sviluppo dell’interfaccia di gestione e del servizio Mini SQL Agent.
Comments closed