Web Client Software Factory - DataSet & Foundational Module

Web Client Software Factory No Comments »

Patterns & PracticesIl sistema migliore per sfruttare a pieno la web client software factory (WCSF),  così come spiegato nella documentazione ufficiale, è utilizzare degli oggetti business. Fatto sta che in alcuni casi (per vari motivi) potrebbe risultarci utile utilizzare i DataSet e non degli business object.  La mia intenzione, durante lo sviluppo di un web application project, era quella di utilizzare i dataset precedentemente “popolati” da alcune chiamate a stored procedures sul databse. Non sapendo esattamente come muovermi restando in linea con l’architettura della WCSF ho chiesto supporto su codeplex.

Dalla discussion è emerso che il miglior modo per implementare questa soluzione è quello di creare uno o più Foundational Module con il DataSet e successivamente esporre un servizio che permetta al resto dell’applicazione di utilizzare i dati.
Un esempio ben fatto è rappresentato da questo E-Commerce Catalog.


Web Client Software Factory - AJAX

Web Client Software Factory No Comments »

Il 21 settembre è stata rilasciata una nuova versione della Web Client Software Factory, versione di cui non è stato rilasciato un file di installazione. Per poterla utilizzare bisogna compilare il progetto Guidance Package, cosa che a me non ha funzionato. La nuova release ha rispetto alla vecchia il vantaggio di supportare AJAX, teconologia indispensabile per le applicazioni web al giorno d’oggi. Per chi, come me, non è riuscito ad installare la nuova versione esiste una soluzione alternativa: rendere la Web Client Software Factory June 2007 “AJAX enabled“.

Per fare ciò basterà creare un nuovo progestto ASP.NET AJAX e copiare nel web config della nostra WCSF le parti mancanti rispetto al web config del progetto appena creato. Per evitare di commettere errori per questa procedura consiglio vivamnete di seguire attentamente questo video.
Ringraziamento particolare per questa dritta va ad Antonio Menna ;)

ErrorProvider - BindingSource

C# No Comments »

ErrorProviderL’ErrorProvider: questo sconosciuto! Molti programmatori non conoscono questo strumento messo a disposizione da .NET. E ancora più spesso non sanno a quale evento o strumento associarlo. Una delle tante possibilità di utilizzo è quella di associare l’errorProvider ad una bindingSource. Facciamo subito un esempio. Abbiamo una bindingSource con una dataSource popolata da alcuni record (o anche da uno solo). Il nostro scopo è quello di creare un’ “anagrafica”, cioè prevedere l’inserimento di nuovi record nel database e per far questo abbiamo trascinato sulla nostra form l’origine dati in modo da ottenere le varie textbox già “bindate“. Ipotizziamo di avere un campo di tipo intero, cosa succede se l’utente digita un testo? Essendo lo strumento (textbox in questo caso, ma vale lo stesso per tutti gli altri) collegato al bindingSource accadrà che il focus resterà bloccato sulla textbox finchè non inseriamo un intero (a meno che non cambiamo l’evento su cui si genera la validation sulla form, ma non è il notro caso). L’utente non viene avvisato in alcun mod di cosa stia accandendo, e qui entra il gioco l’errorProvider che se associato alla bindingSouce farà apparire vicino al controllo l’icona di alert con un testo che segnala l’errore! Bisogna fare molta attenzione, perchè l’errorProvider, o meglio la validazione, ci segnalerà esclusivamente l’errore di input non corretto nel campo, quindi è opportuno gestire separatamente tutti gli altri casi.

Popolare ComboBox con Enum

C# No Comments »

In questi giorni, sul progetto che occupa la maggior parte della mia giornata, mi sono imbrattuto nella combobox. Questo strumento puo essere associato a diverse origi dati, una di queste è un enum.
Immaginate di avere una combobox chiamata MyCmb. Ora create un oggetto come questo
public enum Animali { Leone, Zebra, Gazzella };
Di default Leone avrà come value 0, Zebra 1 e Gazzella 2. Per cambiare il valore di partenza con cui contare basta fare così:
public enum Animali { Leone = 10, Zebra, Gazzella };

Lo scopo è quello di popolare la nostra comboBox:
MyCmb.DataSource = System.Enum.GetValues(typeof(Animali));

Per accedere al valore selezionato invece si procede in questo modo:
int valore = ((int)Enum.Parse(typeof(Animali), MyCmb.SelectedValue.ToString(), true));

S.C.S.F. Lesson 02: Creare un nuovo progetto

C#, Smart Client Software Factory 2 Comments »

Per creare un nuovo progetto aprire Visual Studio 2005 Professional e create un new project. Tra i vari tipi di progetto scegliete “Guidance Packages” e poi “Smart Client Development May 2007“. Se tutto il necessario è stato installato correttamente dovrebbero apparire due nuovi modelli: Smart Client Application in C# e Smart Client Application in Visual Basic, come mostrato in questa immagine.

Smart Client Software Factory New Project

Non ci resta che definire il nome del progetto e il suo percorso. A questo punto una nuova winform del wizard di creazione progetto sarà visibile:

Create a new smart client solution

Qui definiamo il NameSpace e il percorso delle libreire  necessarie che in genere è C:\Programmi\Microsoft Smart Client Factory\Lib\

S.C.S.F. Lesson 01: Le risorse necessarie

C#, Smart Client Software Factory No Comments »

Per poter cominciare a sviluppare un piccolo software simile ad Outlook, cioè con un workspace a sinistra che con eventi di tipo click ci fa apparire, su un altro workspace situato ora a destra, determinate viste è necessario installare sul proprio pc i seguenti software:

  • Visual Studio 2005 Professional
  • Microsoft Framework 3.0
  • Enterprise Library January 2006
  • Smart Client Software Factory May 2007
  • Microsoft Practices Library e CompositeUI.Extensions

Credo che dovrebbe bastare, non metto i link relativi a tutte queste risorse (comunque facilmente reperibili) per il semplice fatto che mi sono state fornite fisicamente e quindi non le ho mai cercate in rete.

WP Theme & Icons by N.Design Studio and modified by AntFerr
Entries RSS Comments RSS Login