Chiamare ADO.Net Data Service con jQuery (Parte 2)


Eccoci nuovamente con le chiamate agli ADO.Net Data Service tramite jQuery, adesso vi mostro come scrivere una semplice ma comodissima estensione per jquery per chiamare gli ADO Service, sia in modo sincrono che in modo asincrono.

   1:  (function($) {
   2:      $.extend({
   3:          AdoDataService: function(urlService, async, dataService, successCallBack, errorCallBack) {
   4:              if (async) {
   5:                  $.getJSON(urlService, dataService, successCallBack);
   6:              } else {
   7:                  var serviceResult = $.ajax({
   8:                      url: urlService,
   9:                      data: dataService,
  10:                      type: 'GET',
  11:                      dataType: 'json',
  12:                      contentType: 'application/json',
  13:                      error: errorCallBack,
  14:                      success: successCallBack,
  15:                      async: false
  16:                  });
  17:                  return (serviceResult.status != 404 ? JSON.parse(serviceResult.responseText).d : null);
  18:              }
  19:          }
  20:      });
  21:  })(jQuery);

Con questa semplice funzione, chiamare gli ADO Service è un giochetto da ragazzi :

   1:  Example Asincrono :
   2:  $.AdoDataService("DataService.svc/Users", true, {}, 
   3:      function(result){
   4:           if (result.d != undefined){
   5:                $.each(function(i,v){
   6:                     alert($(v).attr('UserID'));
   7:               });
   8:          }
   9:      },
  10:      function(error){
  11:      }
  12:  );
  13:   
  14:  Example Sincrono :
  15:  var users = $.AdoDataService("DataService.svc/Users", false);

Cosa dire ragazzi fantastico.

Technorati Tag: ,,
Condividi Post :

author: The Big - Rudes Luca | posted @ giovedì 2 luglio 2009 11.47 | Feedback (0)

Chiamare ADO.Net Data Service con jQuery


Ciao a tutti, dopo mesi e mesi di silenzio sono tornato a postare (colpa del lavoro, dello studio, degli amici, delle donne delle ferie, molte cose sono state complici di questo periodo lontano dal blog). Oggi scopriremo come chiamare gli ADO.Net Data Service con jQuery … wwwwoooooo chissa com’è difficile, invece no.

Dopo aver perso delle ore infinite sullo studio di una possibile soluzione, cercando di riscrivere anche la libreria di Microsoft per le chiamate lato cliente, mi sono fatto una semplice ma allo stesso tempo molto profonda domanda, si potrà serializzare il risultato di un ADO.Net Data Service (ok fino a qui la risposta è palesemente si) in formato jSON ?

LA RISPOSTA E’ SI SI SI SI SI SI SI

ecco a voi il codice per chiamare un service ado.net con jquery (che banalità) :

   1:  $.getJSON('url del service', { Data }, callBackFunction);
   2:   
   3:  Example :
   4:  $.getJSON('Service/Service1.svc/Users', {}, function(result){
   5:        $(result.d).function(i,v){
   6:              alert(v.UserID);
   7:        });
   8:  });

 

Semplice vero.

Technorati Tag: ,,

Condividi post :

author: The Big - Rudes Luca | posted @ mercoledì 1 luglio 2009 15.19 | Feedback (0)

Chi Sono


Ecco soddisfatta la richiesta di crkMil, che ringrazio per la mail piena di compliementi. Ora potete vedere il Big in tutto il suo splendore.

author: The Big - Rudes Luca | posted @ martedì 16 giugno 2009 7.07 | Feedback (0)

Dopo 10 giorni


Ciao a tutti, dopo quasi dieci giorni che non scrivevo finalmente ho avuto il tempo di aprire il mio bellissimo Windows Live Writer. Con questo post desidero segnalarvi qualche news importante.

1° La RC1 di Windows 7 slitta a maggio, però sembra ancora valida la data di pubblicazione finale collocata nel secondo semestre 2009

2° Nelle prossime settimane cercheremo di fare un po' di luce sul mondo LINQ (e magari anche a Entity FrameWork), in quanto mi sono reso conto che molta gente ancora non ha preso in mano tale tecnologia ed è un peccato enorme

3° Il mio progetto jQueryToolkit ha raggiunto e superato la soglia dei 500 download, con 3 votazioni a 5 stelle, 2 review dove viene detto che la library è fantastica e che la amano, 1 discussione dove mi viene chiesto di creare una documentazione esempi e quant’altro … risposta : Nessun problema, già dalla prossima versione ci sarà un mini sito per mostrare gli esempi di utilizzo dei controlli.

4° Desidero anche avvisarvi che desidero creare un tutorial per imparare a usare il bellissimo p&p M-V-VM … che penso sia veramente fantastico, anche se nelle prime fasi … pare più un pugno nelle balle.

5° E perché no, magari ci approcceremo anche al mondo di SilverLight (oramai alla 3 versione, con la beta presentata al Mix)

Dette le novità, posso solo dirvi di seguirmi perché sicuramente non ve ne pentirete.

Condividi Post :

author: The Big - Rudes Luca | posted @ mercoledì 1 aprile 2009 13.37 | Feedback (0)

Small Bella Scelta


Facciamo tutti quanti un bel complimenti a Small per la scelta della sua nuova macchina (OK non è un AUDI, ma è una gran bella scelta). Inchiniamoci tutti davanti alla strepitosa scelta compiuta da questo fantastico Uomo.

Complimenti Small per l’acquisto.

…….. dimenticavo non bi ho detto la macchina, una stupenda Opel Insigna, Super direi … domani va a ritirarla. Ancora complimenti Small.

Sito Insigna (ma quanto cazzo è bella)

Technorati Tag: ,,

Condividi post :

author: The Big - Rudes Luca | posted @ lunedì 23 marzo 2009 12.36 | Feedback (0)

Grazie


Lo so è una cagata immensa, una sola valutazione, ma vedere il rating al massimo anche per uno solo è una soddisfazione immensa. Veramente GRAZIE di tutto cuore a chi mi ha dato questo voto positivo.

Mi sento sempre più motivato a continuare cosi lo sviluppo della mia bella libreria.

ANCORA GRAZIE

Technorati Tag:

Condividi post :

author: The Big - Rudes Luca | posted @ lunedì 23 marzo 2009 12.30 | Feedback (0)

IE 8 RTM


E’ ufficiale, il 18 marzo durante una convention Microsoft, presenterà la versione RTM di Internet Explorer 8. Se qualcuno cosce IE da diversi anni, si sarà sicuramente accorto che la pubblicazione del nuovo IE cadrà esattamente 10 anni dopo la pubblicazione di IE 5.0.

Questo fatto curioso, secondo me sta a indicare la nuova politica di Microsoft, che aspetta l’anniversario di IE per la nuova versione, come l’attesa della pubblicazione del nuovo Win 7 per sostituire Windows Vista, anche questo il giorno dell’anniversario, 2 anni dopo; questa nuova politica secondo me è :

Cambio Generazionale, via la stirpe antica per passare ai giovani prodotti con nuova linfa e tante innovazioni.

Quindi godiamoci questi nuovi prodotti, perchè IE 8 con gli acellerator porterà una nuova visione di quello che è internet e Win 7 grazie alla gloriosa pubblicità che si sta facendo (anche se non capisco onestamente come mai in passato Vista non lo ha avuta, in quanto anche questo sistema operativo è fantastico, innovativo ed eccezionale) permetterà il passaggio alle nuove tecnologie che la gente ancora non ha gustato perchè ha illegittimamente declinato Vista.

QUINDI AVANTI ALLE NUOVE TECNOLOGIE … IO AMO L’INFORMATICA


Condividi Post :

author: The Big - Rudes Luca | posted @ mercoledì 11 marzo 2009 14.06 | Feedback (0)

Grazie per i primi 200


Questo post è dedicato a tutti coloro che hanno effettuato il download del mio progetto jQueryToolKit.

SIAMO A 200 DOWNLOAD IN 20 GIORNI … UN GRAZIE DI CUORE A TUTTI.

Per ringraziarvi vi posso solo promettere di continuare ad aggiornare la libreria fino a portarla a una versione stabile e dopo di chè vi prometto di continuare ad aggiungere nuovi controlli.

Ps. Piccola indiscrezione, sto iniziando a scrivere una documentazione.

GRAZIE ANCORA A TUTTI


Condividi Post :

author: The Big - Rudes Luca | posted @ giovedì 5 marzo 2009 12.54 | Feedback (0)

Gestione Design Time (Atto 3)


Ciao a tutti, con questo primo post di Marzo partiamo subito aggressive e di codice … come piace al big.

Oggi vedremo come creare una dropDownList per selezionare un determinato tipo di controlli all’interno della nostra pagina asp.net in fase di Design-Time … EEEEEEEEE potrebbe esser la vostra esclamazione … intendo spiegare molto semplicemente come creare una dropdownlist che serve a valorizzare il campo TargetControlID della nostra JWaterMark (o per chi non ha scaricato il mio progetto su codeplex, attualmente all’Alpha 1.3 con un buon 175 download, creare la lista che serve a valorizzare la property ControlToValidate dei Validator di asp.net)

Vi assicuro che è più complicato spiegare cosa stiamo andando a creare piuttosto che farlo.

properties

Lo screenShoot mi sembra che parli da solo, perfetto partiamo con il codice :

1. CREAZIONE DELL’ATTRIBUTO

La prima cosa da fare è creare un attributo adeguato con il quale decorare le nostre property a cui dovrà esser assegnato l’ID di un particolare tipo di controllo (nel nostro caso con JWaterMark, solo TextBox). Il nostro attributo dovrà aver la possibilità di specificare quale tipo di controllo deve filtrare.

   1:      /// <summary>
   2:      /// Create list with control that can use for target
   3:      /// </summary>
   4:      /// <typeparam name="T">Type of target control</typeparam>
   5:      public class TargetControlIDConverter<T> : ControlIDConverter

Come potete vedere questa classe soddisfa a pieno le nostre richieste, è un’attributo in quanto eredita da ControlIDConverter, questo attributo è quello usato per decorare la property ControlToValidate dei validator di asp.net; l’utilizzo dei Generics ci da la possibilità di passare il tipo di controllo che ci interessa filtrare.

2. FILTRARE I CONTROLLI DELLA PAGINA ASP.NET

Ora dobbiamo creare il metodo per filtrare i controlli contenuti nella pagina asp.net a seconda di quello che ci interessa selezionare, per farlo basta fare l’override del Method FilterControl, che appunto filtra i controlli.

 

   1:          /// <summary>
   2:          /// Returns a value indicating whether the control ID of the specified control is added to the 
   3:          /// System.ComponentModel.TypeConverter.StandardValuesCollection that is returned by the 
   4:          /// System.Web.UI.WebControls.ControlIDConverter.GetStandardValues(System.ComponentModel.ITypeDescriptorContext) method
   5:          /// </summary>
   6:          /// <param name="control">The control instance to test for inclusion in the System.ComponentModel.TypeConverter.StandardValuesCollection</param>
   7:          /// <returns>true in all cases</returns>
   8:          protected override bool FilterControl(System.Web.UI.Control control)
   9:          {
  10:              return typeof(T).IsInstanceOfType(control);
  11:          }

Ecco fatto, pulito semplice chirurgico. Tanto per capirci, preleviamo il tipo di T e in base a questo filtriamo la collection di controlli da tornare.

3. DECORARE LA NOSTRA PROPERTY

Siamo alla battuta finale, ora dobbiamo solamente decorare la nostra property con questo nostro nuovo è al quanto stupendo attribute.

   1:          /// <summary>
   2:          /// Gets or sets id of target control
   3:          /// </summary>
   4:          [TypeConverter(typeof(TargetControlIDConverter<TextBox>))]
   5:          [Description("TextBox Target")]
   6:          public override string TargetControlID
   7:          {
   8:              get
   9:              {
  10:                  return base.TargetControlID;
  11:              }
  12:   
  13:              set
  14:              {
  15:                  base.TargetControlID = value;
  16:              }
  17:          }

Ecco fatto ragazzi, ora compilate fate il drag&drop del vostro controllo all’interno del designer di Vs e provare le property … fantastico e soprattutto comodo come poche cose nella vita.

Vi ricordo che se cercate i sorgenti completi li potete trovare sul codeplex


Condividi Post :

author: The Big - Rudes Luca | posted @ martedì 3 marzo 2009 12.38 | Feedback (0)

Non Leggete STUDIATE


Ciao a tutti, questo post avrà un gusto dolce amaro … vi giuro oggi mi è scesa una lacrima di tristezza mentre revisionavo il codice di un dev che lavora presso un cliente.

Voi ditemi se è possibile nel 2009 con il framework 3.5 (sarei impallidito anche con le passate versioni) e tutti i tools tipo ReSharper, SCRIVERE UNA SCHIFEZZA DI STO TIPO :

   1:  bool a;
   2:  bool b;
   3:  [...]
   4:  b = a || b

Scusate ma non si fà, semplicità e velocità e soprattutto eleganza, io avrei fatto :

   1:  bool a;
   2:  bool b;
   3:  [...]
   4:  b |= a;

(questa colpisce solo chi usa le ultime versioni del framework)

   1:  // Original version
   2:  object a = ...;
   3:  [...]
   4:  object b = a == null ? new Pippo() : a;

l’operatore ?? che cos’è?

   1:  // My Version
   2:  object a = ...;
   3:  [...]
   4:  object b = a ?? new Pippo();

(ok questa è eccesiva come critica, visto che l’operatore in questione è una “diciamo” una news).

Detto questo non siamo ancora al culmine totale del disfacimento, perché i due punti che seguiranno faranno impallidire chiunque :

Questo è da sganasciarsi dalle ghignate :

   1:  // Original Version
   2:  if ( a == false)
   3:   
   4:  ...
   5:   
   6:  if ( a == true )
   7:   
   8:  // My Version
   9:  if (!a)
  10:   
  11:  ...
  12:   
  13:  if (a)

 

Ora tenetevi forte arriva la bomba :

   1:  // Original Version
   2:  int a = 100;
   3:  [...]
   4:  a = a + 10;

 

ecco come invece lo si scrive in modo cristiano :

   1:  // My Version
   2:  int a = 100;
   3:  [...]
   4:  a += 10;

Mi scuso con tutti dello sfogo, che potrà sembrare alquanto inutile e superficiale, ma queste chicche le ha scritto un fenomeno che pensa di esser il miglior dev del secolo, perchè ha letto (attenzione ripeto leggo e non studiato) due libri sullo stile di scrittura, fosse una persona normale che “Non la fà fuori dal vasino in ogni secondo” me ne sarei fregato bellamente. Allora caro il mio pistolone, se proprio vuoi scrivere in modo decente ti consiglio di installare ReSharper e StyleCop e iniziare a seguire tutti gli errori e non commentarli o bloccarli.

Post Sullo Stile : Con stile tutto riesce meglio

Link Utile MSDN su gli operatori in C# : Operatori (Guida per programmatori C#)

Condividi Post :

author: The Big - Rudes Luca | posted @ giovedì 26 febbraio 2009 14.30 | Feedback (0)