> Tech > Créer une entité avec BCS

Créer une entité avec BCS

Tech - Par Renaud ROSSET - Publié le 23 novembre 2011
email

Nous allons maintenant créer notre entité « Personne ». Le principe va être globalement le même que pour l’entité « Film », nous expliquerons donc cela plus rapidement que précédemment dans ce cours.

Créer une entité avec BCS

Si vous avez le moindre doute, n’hésitez pas à relire la méthode employée pour créer l’entité « Film ».

Retournez donc dans votre « BCS » et faites glisser une nouvelle entité que vous nommerez « Personne ». Ajoutez également un identificateur de type « System.Int32 » que vous nommerez « Id_personne ». Ajoutez ensuite une nouvelle méthode de type « Specific Finder ». Modifiez ensuite le « Type Descriptor » pour que celui-ci colle à la définition de la classe « Personne ». Au final, celui-ci devrait ressembler à ceci : voir figure 13.

Notez que le « Type descriptor Id » a sa propriété « Identifier » définit sur « Id_personne ». N’oubliez pas non plus de définir le « Type Name » du « Type Descriptor Personne » en le redirigeant vers la classe « Personne » de votre projet.

Créez ensuite une méthode de type « ReadList ». Modifiez sa propriété « Name » sur « AllPersonnes » et « Default Complete Name » sur « Toutes les personnes ».

Ouvrez ensuite la classe « DbPersonne » et ajoutez les clauses suivantes :

using System.Data;
using MySql.Data.MySqlClient;

Implémentez ensuite les deux fonctions suivantes :

public static List GetAllPersonnes()
{
List personnes = null;
using (DataSet dataSet = new DataSet())
{
using (MySqlConnection connection = new MySqlConnection(Helper.cString))
{
connection.Open();
using (MySqlDataAdapter adapter = new MySqlDataAdapter(« SELECT id_personne, nom, prenom, image FROM personnes », connection))
{
adapter.Fill(dataSet, « Personnes »);
}
}
if (dataSet.Tables[« Personnes »].Rows.Count == 0)
throw new Exception(« Aucune personne »);
personnes = new List(dataSet.Tables[« Personnes »].Rows.Count);
foreach (DataRow row in dataSet.Tables[« Personnes »].Rows)
{
personnes.Add(new Personne
{
Avatar = row[« image »].ToString(),
Id = int.Parse(row[« id_personne »].ToString()),
Nom = row[« nom »].ToString(),
Prenom = row[« prenom »].ToString()
});
}
}
return personnes;
}
public static Personne GetPersonneById(int id)
{
Personne personne = null;
using (DataSet dataSet = new DataSet())
{
using (MySqlConnection connection = new MySqlConnection(Helper.cString))
{
connection.Open();
using (MySqlDataAdapter adapter = new MySqlDataAdapter(« SELECT nom, prenom, image FROM personnes WHERE id_personne =  » + id, connection))
{
adapter.Fill(dataSet, « Personne »);
}
}
if (dataSet.Tables[« Personne »].Rows.Count == 0)
throw new Exception(« Aucune personne »);
DataRow row = dataSet.Tables[« Personne »].Rows[0];
personne = new Personne
{
Avatar = row[« image »].ToString(),
Id = id,
Nom = row[« nom »].ToString(),
Prenom = row[« prenom »].ToString()
};
}
return personne;
}

Ces fonctions utilisent la même logique que les fonctions utilisées pour récupérer les films. Référez-vous donc à ces explications pour comprendre ces deux fonctions. Revenez maintenant sur votre « BCS », faites un clic droit sur la fonction « ReadItem » et sélectionnez « View Code ». Tapez alors :

return DbPersonne.GetPersonneById(id_personne);

Faites de même pour la fonction « AllPersonnes » et tapez :

return DbPersonne.GetAllPersonnes();

Vous pouvez maintenant déployer votre solution et refaire les mêmes étapes que précédemment. Ajoutez donc une « WebPart Business Data list » sur votre page, liez-la à l’entité que vous venez de créer, cachez la « Toolbar » ainsi que le « Chrome ». Enfin, modifiez les permissions de votre entités et actualisez votre page.

Téléchargez cette ressource

Rapport Forrester sur les services de réponse aux incidents de cybersécurité

Rapport Forrester sur les services de réponse aux incidents de cybersécurité

Dans ce rapport, basé sur 25 critères, Forrester Consulting passe au crible les 14 principaux fournisseurs de services de réponse aux incidents de cybersécurité du marché. Cette analyse complète permet aux professionnels de la sécurité et de la gestion des risques d’évaluer et de sélectionner les solutions les plus adaptées à leurs besoins.

Tech - Par Renaud ROSSET - Publié le 23 novembre 2011