Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Model
Contenuti
• Applicazione di esempio
• Il Model dell’Applicazione
• Estendere il Model dell’Application User
Il Modello
L’applicazione di esempio
Applicazione di esempio
• Pensata per gli agenti e gli acquirenti di una
società di intermediazione immobiliare.
• Gli Agenti (utenti registrati) inseriscono,
modificano ed eliminano le schede delle unità
immmobiliari che visitano, imputandone:
– Il nome, la descrizione, l’indirizzo, il prezzo e una
foto descrittiva
• Gli acquirenti possono solo visualizzare
suddetti dati
Model
• Una o più classi.NET che espongono proprietà
• Sono istanziate e popolate dal controller e poi
lette dalla view
• In genere mediante Entity Framework con
– Una o più classi che rappresentano il modello dati
– Una classe che rappresenta il collegamento con il db
Model dell’Applicazione
public partial class Scheda { public ApplicationUser Utente { get {
[Key] var i = new ApplicationDbContext();
public int ID { get; set; } var u = i.Users.Find(this.UserID);
[Required] return u;
public string Nome { get; set; } } }
public string Descrizione { get; set; }
public string Indirizzo { get; set; }
public string Citta { get; set; }
[Range(minimum:0,maximum:10000000000)] Collezione degli
utenti
public decimal? Prezzo { get; set; }
dell’applicaizone,
public byte[]ContenutoFoto { get; set; }
gestita da Identity
public string UserID { get; set; }
// toglie i secondi dalla visualizzazione della data
[DataType(DataType.DateTime)]
public DateTime dataregistazione { get; set; }
Model:Validazione
• Effettuata tramite attributi (Data Annotation) sul model
[Required]
public string Nome { get; set; }
[Range(minimum:0,maximum:10000000000)]
public decimal? Prezzo { get; set; }
• La stringa di connessione
<add connectionString="database=SchedeImm;server=(LocalDb)\MSSQLLocalDB;
integrated security=SSPI" name="SchedeContext"
providerName="System.Data.SqlClient"/>
Model: Utente (Identity)
Classi generate dal Template di Visual Studio e memorizzate nel file
IdentityModel.cs
public class ApplicationUser : IdentityUser {}
…..
public string Nome { set; get; }
public string Cognome { set; get; }
public string Telefono { set; get; }