PPE Gestion d un club Omnisports C# et ADO.Net Objectifs: L objectif principal est de construire une application de type «Client lourd» pour gérer une salle de sports. Cette application sera programmée dans l environnement Visual Studio et écrite en C#. L écriture de cette application a pour objectif de vous donner une vision de ce que peut être un projet de développement (simplifié dans notre cas pour que le développement soit possible dans le peu de temps dont vous disposez). Ce travail de groupe va permettre d améliorer et de tester vos compétences sur les points suivants : Programmation évènementielle Programmation en langage C# Accès aux données avec les objets ADO.NET Gestion d un projet et partage des tâches La base de données est fournie. Il s agit d une base de type Access.. Lorsque l application «Client lourd» sera écrite, on pourra envisager des fonctionnalités Web (client léger) comme par exemple l inscription d un adhérent à un nouveau sport, la consultation des tarifs, Présentation du thème et des règles de gestion : Il s agit de gérer les adhérents d un club omnisports. Les adhérents ont la possibilité de pratiquer plusieurs sports (voir table). Lorsque les adhérents ont plus de 30 ans, ils doivent obligatoirement fournir un dossier médical même si ce dossier est conseillé dans tous les cas. Il est évident que le club désire connaître les sports pratiqués par chaque adhérent. Pour chaque sport pratiqué, l adhérent se voit attribuer un numéro de licence fourni par la fédération sportive concernée. Le montant à payer par un adhérent est fonction des sports qu il pratique. A chaque sport pratiqué correspond un nombre de points qui a été calculé pour tenir compte du coût engendré par les installations sportives. La pratique du tennis qui nécessite l installation et l entretien des courts en terre battue «coûte» 300 points alors que la pratique du hand ball ne «coûte» que 100 points. Pour calculer le montant à payer par un adhérent pour l année, on fait la somme des points des sports qu il pratique. Ce nombre de points est multiplié par la valeur du point qui est fixé chaque année par le club en début de saison (cette valeur est stockée dans une table Parametre qui a un champ Valeur). La structure et le contenu de la base de données sont fournis en Annexe 1 et 2 (les tables Pratiquer et Règlements sont vides). PPE Sports page 1
La feuille principale contiendra un menu déroulant et sera de type MDI. Elle aura par exemple la présentation suivante : Les menus : Le menu Fichier contiendra l'option Quitter. Les menus Adhérents, Sports et Médecins provoqueront l affichage d une feuille spécifique dans laquelle on devra avoir la possibilité d ajouter, modifier et supprimer. Le menu Paramêtre permettra de visualiser et de modifier la valeur du point de référence. L'option Quitter doit bien évidemment fermer l'application. La modification, la suppression ou la création de dossiers se fait via la gestion des adhérents. La feuille de gestion des adhérents : Cette feuille est l élément central de l application. Elle doit permettre d afficher les informations sur un adhérent, les sports pratiqués par celui-ci, son dossier médical ainsi que les informations sur le paiement de ses cotisations. Il est donc souhaitable d afficher toutes ces informations dans un classeur à onglets. Ce classeur aura 5 pages à savoir : Une page Adhérent qui affiche toutes les informations sur l adhérent sélectionné Une page Tableau qui permet une recherche rapide d un adhérent Une page Sports pratiqués qui permet de visualiser et mettre à jour les sports de l adhérent Une page Règlements qui permet de suivre le paiement des cotisations Une page Dossier médical qui permet la saisie et la modification des données médicales PPE Sports page 2
Cette feuille pourra s inspirer de l exemple ci-dessous lorsque le premier onglet est sélectionné : ou bien celui-ci lorsque l onglet Tableau est sélectionné PPE Sports page 3
Le troisième onglet doit permettre de sélectionner les sports pratiqués. On utilisera pour cela des contrôles de type liste. Nous voyons que le numéro et le nom de l adhérent sont recopiés dans l en-tête de la feuille. Ces zones ne doivent pas être modifiables par l'utilisateur. Le bouton représentant une flèche droite permet de copier le sport sélectionné dans la liste des sports disponibles vers la liste des sports pratiqués. Une boite de saisie devra alors s ouvrir pour demander le numéro de licence correspondant. Ce numéro est alors copié dans la liste de droite. La flèche gauche permet de supprimer un sport que l adhérent ne pratique plus ou un sport qui a été sélectionné par erreur. Le bouton Enregistrer doit permettre de mettre à jour la table Pratiquer pour qu elle reflète les choix faits par l utilisateur. C est le premier onglet qui a pour nom Adhérent qui devient alors actif. Si l utilisateur choisit le bouton Annuler, les modifications faites dans les listes ne sont pas prises en compte et l onglet Adhérent devient actif. Remarques : * Sur le traitement du bouton droit, vous devrez vérifier que le sport sélectionné n est pas déjà pratiqué par l adhérent. * Lors de la sélection des sports, une optimisation possible est de faire apparaître les nouveaux sports pratiqués d une couleur différente (bleu par exemple). Lorsque l utilisateur clique sur le bouton Enregistrer, ces nouveaux sports reprennent alors la couleur normale (texte en noir). PPE Sports page 4
Le quatrième onglet doit permettre de gérer les règlements. Cette page sera composée de 4 parties : Le premier volet rappelle le numéro et le nom du client. Le deuxième volet présente un récapitulatif de l état du compte. Une grille affiche la liste des paiements effectués par cet adhérent Deux boutons permettent respectivement d ajouter ou de supprimer des paiements. Le bouton Nouveau paiement provoque l affichage d une nouvelle feuille permettant la saisie des informations relatives au paiement. Le bouton Suppression du paiement permet de supprimer le paiement sélectionné dans la grille. Remarques : * Pour calculer le montant de la cotisation, vous pouvez exécuter une requête SQL «à la volée». Pour ce faire, vous devez : Créer le texte de la requête (paramétrée) dans une chaîne de caractères (ex : ChSQL). Ouvrir un recordset basé sur cette chaine Affecter le résultat de la requête (donc le contenu du recordset) à la zone de texte qui affiche le montant de la cotisation (ex : ZT_Cotisation) * Vous pourrez faire de même pour calculer le montant déjà réglé * Le contenu de la grille est l ensemble des paiements pour cet adhérent. C est donc une requête paramétrée qui peut être faite de deux façons : soit «à la volée» comme les deux requêtes précédentes, soit sous forme d une requête paramétrée enregistrée sous Access. PPE Sports page 5
Le cinquième onglet doit permettre de gérer le dossier médical de l'adhérent sélectionné. Cette page fera apparaître : Le numéro, le nom du client et son numéro de dossier. Les informations médicales avec le nom du médecin qui a effectué la visite médicale. Remarques : - les informations médicales sont obtenues à l'aide d'une requête paramétrée basée sur le numéro d'adhérent. - Si le dossier médical n'existe pas pour le patient, un nouveau numéro de dossier sera automatiquement créé lors de la première consultation. - Le médecin sera choisi dans une liste déroulante. Si'il n'existe pas, un bouton de commande permet d'avoir un accès direct à la feuille Médecins. La feuille de gestion des médecins : Cette feuille est très simple à gérer. Son but est de permettre la saisie des informations signalétiques sur les médecins sollicités pour les dossiers médicaux. L'affichage de la feuille ci-dessous peut être lancé à partir de deux endroits : l'option Médecins du menu général le bouton de commande Nouveau Médecin situé dans l'onglet Dossier Médical de la feuille Adhérents. PPE Sports page 6
La feuille de gestion des sports : Cette feuille permet de gérer les sports que propose le club. On trouvera deux onglets : Le premier affichera les informations pour chaque sport avec les possibilités de traitement habituelles à savoir : - consultation - ajout - modification - suppression Remarque : Lors de la suppression d'un sport, l'utilisateur devra être prévenu s'il existe des adhérents qui le pratiquent. Si malgré tout, l'utilisateur confirme la suppression, celle-ci entrainera la mise à jour des sports pratiqués par les adhérents. PPE Sports page 7
Le deuxième onglet doit permettre de visualiser la liste des adhérents qui pratiquent le sport sélectionné. La feuille de gestion des paramêtres : Cette feuille est une feuille particulière qui doit permettre à un utilisateur de paramétrer son logiciel. Ici, le seul paramètre est la saisie de la valeur du point (dans la table paramètre) permettant de calculer le montant des cotisations. On peut imaginer que cette saisie est effectuée chaque année avant le renouvellement des inscriptions. PPE Sports page 8
Annexe 1 : Modèle relationnel Access Table DOSSIER Annexe 2 : Tables de la base de données sport Table ADHERENT Table MEDECIN Table SPORT PPE Sports page 9