0% ont trouvé ce document utile (0 vote)
29 vues6 pages

07 - Entity-PAAS-ASPNET-SQL

Transféré par

pavaj94393
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues6 pages

07 - Entity-PAAS-ASPNET-SQL

Transféré par

pavaj94393
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Développement une application web

basée sur Entity framework Code First


Le projet qu’on va mettre en place est une application web de gestion des salariés et
les affectations aux départements d’une entreprise. Avec une approche CodeFirst,
nous devons commencer par la création des classes suivantes :

Classe Salarie :

public class Salarie


{
public Int32 SalarieId { get; set; }
public String Nom { get; set; }
public String Prenom { get; set; }
public String Fonction { get; set; }
public Double Salaire { get; set; }
public Int32 DepartementId { get; set; }

Classe Département :

public class Departement


{
public Int32 DepartementId { get; set; }
public string Description { get; set; }
public String Location { get; set; }
public IList<Salarie> SalraieListe { get; set; }

Le projet sera créé avec une approche Entity framework code first, nous devons créer
une classe SalarieDBContext dans le même répertoire Models :

public class DbSalarieContext : DbContext


{
public DbSalarieContext(): base("name=MyDbConnection")
{

}
public DbSet<Departement> Departement { get; set; }
public DbSet<Salarie> Salarie { get; set; }

N’oubliez pas de paramétrer votre chaine de connexion dans le fichier de


configuration des applications Web.config :

<connectionStrings>
<add name="MyDbConnection" connectionString="Data Source=.\SQLExpress;Initial
Catalog=MaBaseSalarie;Integrated Security=True" providerName="System.Data.SqlClient"/>

</connectionStrings>

Votre solution ressemble à l’arborescence suivante :

Ajoutez une page ASPX « Gestion Departement » pour la gestion des salariés et
départements :

<div>
<asp:GridView ID="GvDepartement" runat="server"
AutoGenerateSelectButton="True" DataKeyNames="DepartementId"
OnSelectedIndexChanged="GvDepartement_SelectedIndexChanged">
</asp:GridView>
<br />
<br />
<asp:Label ID="Label1" runat="server" Text="Id Departement :
"></asp:Label>
<asp:TextBox ID="TbId" runat="server"></asp:TextBox>
<br />
<asp:Label ID="Label2" runat="server" Text="Description Depart
:"></asp:Label>
<asp:TextBox ID="TbDescription" runat="server"></asp:TextBox>
<br />
<asp:Label ID="Label8" runat="server" Text="Location :"></asp:Label>
<asp:TextBox ID="TbLocalisation" runat="server"></asp:TextBox>
<br />
<br />
<br />
<br />
<asp:Button ID="BtAdd" runat="server" OnClick="BtAdd_Click" Text="ADD" />
<asp:Button ID="BtUpdate" runat="server" OnClick="BtUpdate_Click"
Text="MAJ" />
<asp:Button ID="BtDelette" runat="server" OnClick="BtDelette_Click"
Text="Delette" />
<br />
<br />
Add Salarie :<br />
<br />
<asp:Label ID="Label3" runat="server" Text="Nom"></asp:Label>

<asp:TextBox ID="TbNom" runat="server"></asp:TextBox>


<br />
<br />
<asp:Label ID="Label4" runat="server" Text="Prenom"></asp:Label>

<asp:TextBox ID="TbPrenom" runat="server"></asp:TextBox>


<br />
<br />
<asp:Label ID="Label5" runat="server" Text="Fonction :"></asp:Label>
<asp:TextBox ID="TbFonction" runat="server"></asp:TextBox>
<br />
<br />
<asp:Label ID="Label6" runat="server" Text="Salaire :"></asp:Label>
<asp:TextBox ID="TbSalaire" runat="server"></asp:TextBox>
<br />
<br />
<asp:Label ID="Label7" runat="server" Text="Departement"></asp:Label>
&nbsp;:
<asp:DropDownList ID="DDLDepartement" runat="server">
</asp:DropDownList>
<br />
<br />
<asp:Button ID="BtAddSalarie" runat="server" OnClick="BtAddSalarie_Click"
Text="Add" />
<asp:Button ID="BtMAJSalarie" runat="server" Text="MAJ" />
<asp:Button ID="BtDeletteSalarie" runat="server" Text="Delette" />
<br />
<br />
<asp:GridView ID="GvSalarie" runat="server" AutoGenerateSelectButton="True"
DataKeyNames="SalarieId"
OnSelectedIndexChanged="GvSalarie_SelectedIndexChanged">
</asp:GridView>

</div>
Ci-dessous le code métier de la page « GestionDepartement »

public partial class GestionDepartement : System.Web.UI.Page


{
DbSalarieContext DbContext = new DbSalarieContext();

protected void Page_Load(object sender, EventArgs e)


{
if (!Page.IsPostBack)
{
if (DbContext.Departement.Count() > 1)
{
GvDepartement.DataSource = DbContext.Departement.ToList();
GvDepartement.DataBind();

DDLDepartement.DataSource = DbContext.Departement.ToList();
DDLDepartement.DataTextField = "Description";
DDLDepartement.DataValueField = "DepartementId";
DDLDepartement.DataBind();
}
}
}

protected void GvDepartement_SelectedIndexChanged(object sender, EventArgs e)


{
Int32 IdDep = int.Parse(GvDepartement.SelectedValue.ToString());
Departement MonDep = new Departement();
MonDep = DbContext.Departement.Find(IdDep);
TbId.Text = MonDep.DepartementId.ToString();
TbDescription.Text = MonDep.Description;
TbLocalisation.Text = MonDep.Location;
Int32 Val = int.Parse(GvDepartement.SelectedValue.ToString());
GvSalarie.DataSource = DbContext.Salarie.Where(s => s.DepartementId ==
Val).Select(s => new { s.SalarieId, s.Nom, s.Prenom, s.Fonction, s.Salaire
}).ToList();
GvSalarie.DataBind();
}

protected void BtAdd_Click(object sender, EventArgs e)


{
Departement NewDep = new Departement();
NewDep.Description = TbDescription.Text;
NewDep.Location = TbLocalisation.Text;
DbContext.Departement.Add(NewDep);
DbContext.SaveChanges();
GvDepartement.DataSource = (from dep in DbContext.Departement
select dep).ToList();
GvDepartement.DataBind();
}

protected void BtUpdate_Click(object sender, EventArgs e)


{
Departement MonDep = new Departement();
Int32 IdDep = int.Parse(GvDepartement.SelectedValue.ToString());
MonDep = (from dep in DbContext.Departement
where dep.DepartementId == IdDep
select dep).Single();
MonDep.Description = TbDescription.Text;
MonDep.Location = TbLocalisation.Text;
DbContext.SaveChanges();
GvDepartement.DataSource = (from dep in DbContext.Departement
select dep).ToList();
GvDepartement.DataBind();
}

protected void BtDelette_Click(object sender, EventArgs e)


{
Departement MonDep = new Departement();
Int32 IdDep = int.Parse(GvDepartement.SelectedValue.ToString());
MonDep = (from dep in DbContext.Departement
where dep.DepartementId == IdDep
select dep).Single();
DbContext.Departement.Remove(MonDep);
DbContext.SaveChanges();
GvDepartement.DataSource = (from dep in DbContext.Departement
select dep).ToList();
GvDepartement.DataBind();

protected void BtAddSalarie_Click(object sender, EventArgs e)


{
Salarie NewSalarie = new Salarie();
NewSalarie.Prenom = TbPrenom.Text;
NewSalarie.Nom = TbNom.Text;
NewSalarie.Salaire = double.Parse(TbSalaire.Text);
NewSalarie.Fonction = TbFonction.Text;
NewSalarie.DepartementId =
int.Parse(DDLDepartement.SelectedValue.ToString());
DbContext.Salarie.Add(NewSalarie);
DbContext.SaveChanges();

protected void GvSalarie_SelectedIndexChanged(object sender, EventArgs e)


{
Salarie NewSalarie = new Salarie();
NewSalarie = DbContext.Salarie.Find(GvSalarie.SelectedValue);
TbPrenom.Text = NewSalarie.Prenom;
TbNom.Text = NewSalarie.Nom;
TbSalaire.Text = NewSalarie.Salaire.ToString();
TbFonction.Text = NewSalarie.Fonction;
DDLDepartement.SelectedValue = NewSalarie.DepartementId.ToString();

}
Cet exemple de projet contient une simple application CRUD (Create-Read-Update-
Delete) basée sur Entity Framework Code First.

L’application utilise un contexte de base de données pour se connecter à la base de


données. Dans cet exemple, le contexte de base de données utilise une chaîne de
connexion appelée MyDbConnection. Cette chaîne de connexion est définie dans le
fichier Web.config et référencée dans le fichier Models\DbSalarieContext.cs.

Vous aimerez peut-être aussi