Tutti i post taggati come: ‘asp.net mvc’

May
1

AutoMapper DTO e POCO Object

Postato in  
Technology

Una delle soluzioni architetturali che ho imparato ad apprezzare ed utilizzare nel corso degli anni è quella che prevede:

- uno strato Model, contenente una o più entità POCO referenziate tra loro;
- uno strato Repository per l’accesso ai dati;
- uno strato Service;
- uno strato Presentation, che contiene le nostre pagine html/aspx (o le view se sviluppate in asp.net mvc).

Una pratica che vi consiglio caldamente di seguire è di non utilizzare gli oggetti POCO per la loro rappresentazione grafica, ma di affidarvi a dei DTO di appoggio.
In tal senso, oggi ho scoperto un utilissimo metodo fornito da AutoMapper, in sede di creazione della Map tra un oggetto POCO ed un DTO.

1
2
cfg.CreateMap<User, ViewModel.User.dtoUser>()
.ForMember(dest => dest.Property, opt => opt.NullSubstitute("N/A"))

L’utilizzo del metodo NullSubstitute vi consente di associare automaticamente un valore string di default nel caso in cui la proprietà risulti essere NULL. (nel mio caso voglio visualizzare N/A nel caso in cui Property sia NULL).

Related Posts:

Sep
8

Link della settimana #1

Postato in  
Technology

Related Posts:

Aug
16

Google Code

Postato in  
Technology

Con un mio collega, ho iniziato a sviluppare un componente per realizzare una griglia (un gridview, per intenderci) in asp.net mvc.

Abbiamo deciso di utilizzare Google Code come server repository. Pare funzionare benissimo, tra le altre funzionalità è comodo l’avere a disposizione un server subversion.

Tuttavia è incredibile come non abbiano dato la possibilità di aggiornare più di un indirizzo mail per le modifiche applicate al codice (funzionalità, per altro, già presente in google docs da parecchio tempo)

Related Posts:

Jun
8

Fluent NHibernate mapping exception: Association references unmapped class

Postato in  
Technology

Ieri ho perso metà pomeriggio di lavoro per una mia non conoscenza del mapping delle Entity in Fluent NHibernate.

L’eccezione lanciata da NHibernate:

1
Association references unmapped class: YourClass

Il mapping delle mie Entity avviene tramite un metoto CreateSessionFactory:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
FluentNHibernate.Cfg.Fluently.Configure()
  .Database
    (
      FluentNHibernate.Cfg.Db.MsSqlConfiguration.MsSql2008
        .ConnectionString(
          c => c.Server(DbConnectionValue.Server)
                    .Username(DbConnectionValue.User)
                    .Password(DbConnectionValue.Password)
                    .Database(DbConnectionValue.Database)
          )
        .ProxyFactoryFactory("
NHibernate.ByteCode.LinFu.ProxyFactoryFactory
,NHibernate.ByteCode.LinFu")
  )
  .Mappings
  (
    m => m.FluentMappings
.AddFromAssemblyOf<OneClass.Of.My.Repository>()
  )
  .BuildSessionFactory();

Bisogna fare attenzione che esistono 2 regole affinchè si possa correttamente caricare il mapping di Entity caricate tramite il metodo AddFromAssemblyOf:

1. dichiarare sempre public le classi di mapping;
2. definire sempre le proprietà Id;

Related Posts:

May
20

Asp.net MVC JavaScriptSerializer: non serializzare proprietà automatich

Postato in  
Technology

Immaginiamo di avere il seguente modello:

1
2
3
4
5
6
7
8
 
public class MyModel
{
  public string Cognome { get; set; }
  public string Nome { get; set; }
 
  public DateTime DataNascita { get; set; }
}

Immaginiamo di utilizzare questo modello per renderizzare una View. Successivamente, questa ipotetica View restituirà in post lo stesso Modello.

Una delle scelte archiettturali che si può seguire, è quella di serializzare MyModel in JSon per poi passarlo al server. Ipotizziamo, adesso, di non voler serializzare una delle proprietà di MyModel, ad esempio DataNascita. Per farlo, basta agganciare alla proprietà DataNascita, l’attributo ScriptIgnore:

1
2
3
4
5
6
7
8
9
 
public class MyModel
{
  public string Cognome { get; set; }
  public string Nome { get; set; }
 
  [ScriptIgnore]
  public DateTime DataNascita { get; set; }
}

Related Posts:

May
18

Jquery UI 1.8rc1, Jquery 1.4.1, Jquery masked input 1.2.2: datepicker bug

Postato in  
Technology

Recentemente ho riscontrato un bug nell’utilizzo del componente datepicker in accoppiata con il plugin masked input di query.
Quando si seleziona una data dal calendarietto associato e si cerca poi di modificarla manualmente, il sistema cancella completamente la data, costringendo l’utente ad inserirla nuovamente.

Ho aperto un ticket nella sezione dev di jquery.

Related Posts: