4.1 Application de gestion de stock
Cette fois nous allons utiliser Visual Studio Web Developer pour fabriquer
une petite application Web. Nous allons créer avec Visual Studio Web une
base de données simple qui va être gérée par cette première application Web.
L'application sera construite presque intégralement à coup de clics (pas plus
de 5 lignes de code).
Commencez par créer un nouveau projet ASP .NET de nom Stocks.
N'oubliez pas de préciser C# comme langage de développement.
Ensuite, ajoutez un élément aux donnéees de l'application (dossier App_Data),
ce nouvel élément doit être de type Base de données SQL Server.
Comme nom de base prenez donc Stocks (même nom que votre projet).
Ajoutez deux tables à cette nouvelle base : categories et stocks.
La première va stocker les catégories des matériels en stock et la seconde
les matériels proprement dit. La première table ne comporte que deux colonnes
l'identifiant (de type int à déclarer comme clef primaire) et la description
(de type text). N'oubliez pas de déclarer l'identifiant comme "colonne d'identité"
pour que ses valeurs soient automatiquement incrémentées à chaque ajout de ligne
dans la table. La seconde table stocks comporte les colonnes identifiant
(même traitement que dans la table categories), catégorie (de type int
à déclarer comme clef étrangère vers la table categorie), description
du matériel et enfin quantité disponible.
Toujours avec l'explorateur de bases de données, créez quelques catégories et
quelques matériels.
Supprimez la page Default et créez une page maître. Ensuite créez 4 autres
pages formulaires de contenu rattachées à la page maître : menu,
categories, stocks et recherche. Imposez la page menu
comme page de démarrage.
Pour la navigation entre les pages, procédez comme suit. Insérez un tableau
de trois lignes dans la page maître. Dans la rangée du haut mettez un
titre, dans la ligne du dessous un fil d'ariane (contrôle siteMapPath)
et enfin dans la ligne du bas, copiez l'objet spécial contenu.
Pour que les deux contrôles siteMapPath et menu puissent fonctionner,
il faut ajouter au projet un élement "plan du site". Inscrivez vos 4 pages dans ce plan.
Pour la page menu, instanciez simplement le contenu avec un contrôle Menu.
La page categorie va permettre de gérer la table du même nom. Vous allez
mettre dans le contenu de la page, à gauche un contrôle GridView
et à droite un contrôle DetailsView (ces contrôles se trouvent dans le sous-menu
"données" de la boîte à outils). D'un point de vue HTML, insérez un tableau pour
accoler les deux contrôles. N'oubliez pas de faire générer les requêtes INSERT,
UPDATE et DELETE dans les sources de données. Cela vous permettra d'ajouter
les fonctionnalités de modification, de suppression et de sélection sur le GridView
ainsi que la fonctionnalité d'insertion sur le DetailsView. Bien entendu vous devez
lier le contenu du DetailsView avec le matériel sélectionné dans le GridView.
Il faut aussi ajouter une mise à jour du GridView après une insertion de catégorie
dans le DetailsView (la méthode DataBind du GridView est faite pour vous).
La page stocks va permettre de gérer la table du même nom. Installez les
mêmes contrôles que pour la page categorie. Il y a une difficulté supplémentaire
pour la table stocks; arriver à afficher les noms des catégories et pas leurs
identifiants. Pour y arriver vous allez changer la colonne categorie de la table
stocks en un "template" dans les deux contrôles. Ensuite vous modifierez les
modèles pour que cette colonne donne le nom de la catégorie en mode affichage et un
contrôle DropDownBox en mode édition ou insertion.
Enfin la page recherche doit permettre une recherche dans le stock en
filtrant par catégorie et par mot-clef sur la description du matériel. Prévoyez
un bouton pour lancer la recherche, une fois la catégorie sélectionnée et le
mot-clef saisi. Présentez la liste des matériels trouvés via un contrôle ViewGrid.