Vous êtes sur la page 1sur 5

Office de la formation Professionnelle et de la promotion du travail

DRPS/ISGI LAAYOUNE

Le 23/12/2019

Module M9 : Développement Application Client serveur

TP10:
Entité Framework

CRUD gestion client

Formateur :A BENDAOUD

Soit l’entité data modèle suivante :

Qui fait le Mapping Relationnel Objet vers la base de données suivante :

Les Entités

public partial class Client


{
public int Id { get; set; }
public string nom { get; set; }
public string prenom { get; set; }
public Nullable<System.DateTime> dateNaissance { get; set; }
public Nullable<int> IdVille { get; set; }

Module :Application client serveur TP10 Page 1 sur 5


public virtual Ville Ville { get; set; }
}

Ville:

public partial class Ville


{

public int Id { get; set; }


public string nomV { get; set; }
public virtual ICollection<Client> Clients { get; set; }
}

Le DbContext:

public partial class DbLocationEntities : DbContext


{
public DbLocationEntities()
: base("name=DbLocationEntities")
{
}

protected override void OnModelCreating(DbModelBuilder modelBuilder)


{
throw new UnintentionalCodeFirstException();
}

public virtual DbSet<Client> Clients { get; set; }


public virtual DbSet<Ville> Villes { get; set; }
}

Soit le formulaire suivant :

Utiliser l’entité Framework pour faire les action CRUD

La grille doit être remplie par les clients

Les boutons

Module :Application client serveur TP10 Page 2 sur 5


• Chercher permet de chercher un client dont le id est saisie dans le TextBoxId puis affiche ces
informations dans les zones de textes s’il ne le trouve par affichage de message
d’information.
• Ajoute un client (avant d’ajouter le client il faut vérifier l’unicité de la clé)
• Modifier permet de modifier les informations de client dont le id est égal à l’Id saisi dans
TextBoxId
• Supprimer permet de supprimer le client dont le Id est saisi dans TextBoxId

Après chaque Action la grille doit être mise à jour

Correction :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
public partial class FormCRUD_CLIENT : Form
{
public FormCRUD_CLIENT()
{
InitializeComponent();
}

private void FormCRUD_CLIENT_Load(object sender, EventArgs e)


{

getClient();
}

private void getClient()


{

using (DbLocationEntities context = new DbLocationEntities())

var clients = from cl in context.Clients


select cl;
dataGridView1.DataSource = clients.ToList();

private void btnChercher_Click(object sender, EventArgs e)


{

Module :Application client serveur TP10 Page 3 sur 5


int idcl = int.Parse(textBoxId.Text);
using (DbLocationEntities context = new DbLocationEntities())
{
var client = context.Clients.FirstOrDefault(cl=>cl.Id==idcl);
if (client == null)
{
MessageBox.Show("ce cleint n'exista pas!!!!");
return;
}
textBoxId.Text = client.Id.ToString();
textBoxNom.Text = client.nom;
textBoxPrenom.Text = client.prenom;
textBoxDN .Text = client.dateNaissance.ToString();
textBoxIdVille.Text = client.IdVille.ToString() ;

}
}

private void btnAjouter_Click(object sender, EventArgs e)


{
int idcl = int.Parse(textBoxId.Text);
using (DbLocationEntities context = new DbLocationEntities())
{
var cl = context.Clients.FirstOrDefault(c => c.Id == idcl);
if (cl != null)
{
MessageBox.Show("deja un client qui a la clé!!!!!");
return;
}
Client client = new Client();
client.Id = idcl;
client.nom = textBoxNom.Text;
client.prenom = textBoxPrenom.Text;
client.dateNaissance = DateTime.Parse(textBoxDN.Text);
client.IdVille = int.Parse(textBoxIdVille.Text);
context.Clients.Add(client);

context.SaveChanges();
getClient();

}
}

private void btnSupprimer_Click(object sender, EventArgs e)


{
int idcl = int.Parse(textBoxId.Text);
using (DbLocationEntities context = new DbLocationEntities())
{
Client client = context.Clients.FirstOrDefault(c => c.Id == idcl);
context.Clients.Remove(client);
context.SaveChanges();
getClient();

}
}

private void btnModifier_Click(object sender, EventArgs e)


{
int idcl = int.Parse(textBoxId.Text);
using (DbLocationEntities context = new DbLocationEntities())

Module :Application client serveur TP10 Page 4 sur 5


{

Client client = context.Clients.FirstOrDefault(c => c.Id == idcl);


client.nom = textBoxNom.Text;
client.prenom = textBoxPrenom.Text;
client.dateNaissance = DateTime.Parse(textBoxDN.Text);
client.IdVille = int.Parse(textBoxIdVille.Text);
context.SaveChanges();
getClient();
}
}

}
}

Module :Application client serveur TP10 Page 5 sur 5

Vous aimerez peut-être aussi