13.1 Projet Visual Studio

Pour chaque module est généré un projet Visual Studio. Ce projet reprend l’arborescence de l’explorateur de module. Des classes C# sont générées pour chaque entité de l’explorateur disposant d’un modèle de données (formulaire, inclusion, nomenclature et page).

Page

Une entité de type page se comporte de la même manière qu’un formulaire sauf qu’aucune de ses données n’est enregistrée en base de données. Voir le chapitre [15.3.3] pour plus d’informations.

Pour ouvrir le projet Visual Studio attaché au module, cliquer sur l’icône Visual Studio dans la barre d’outils de FormsStudio.

Les noms des entités (et non pas les libellés) sont utilisés pour créer le nom des fichiers et des classes C#. Ils sont néanmoins formatés pour correspondre aux règles de nommage d’une classe C# (ex : les espaces sont transformés en tiret du bas « _ »).

Un groupe de l’explorateur de module correspond à un groupe dans l’explorateur de solution Visual Studio. Ci-dessous un exemple avec l’explorateur FormsStudio à gauche, Visual Studio à droite.

 

13.1.2        Classe C# du module

Une classe C# est générée pour le module. Cette dernière n’est pas modifiable et contient des méthodes permettant la création d’objet suite à un requêtage de données. Pour plus d’information sur le requêtage de données, consulter le chapitre [14].

Cette classe contient de plus la liste des Paramètres de module créés dans FormsStudio. Pour plus d’informations sur les paramètres de module, consulter le chapitre [15.2].

13.1.3        Classes C# des entités

Trois classes C# sont générées par entité :

Il existe deux types de classe C# générées par FormsStudio.

Modèle de données

Le premier type de classe représente le modèle de données d’une entité. Chaque modèle de données dispose de deux classe C# générées par FormsStudio.

La première classe contient une propriété pour chaque champ du modèle de données. Elle hérite de la classe ModelEditorBase qui correspond à la classe de base d’un modèle de données. Cette classe ne peut pas être modifiée par le développeur car régénérée automatiquement à chaque enregistrement du module dans FormsStudio. Ainsi, à chaque fois qu’un champ du modèle est ajouté, une propriété est créée automatiquement dans cette classe.

Le nom de cette classe utilise le nom de l’entité, préfixé de « ModelBase ».

  • Fichier de l’exemple : Avis_darret_de_travail.gen.cs
  • Nom de la classe : ModelBase_Avis_darret_de_travail

La seconde classe hérite de la classe ci-dessus, elle propose donc les mêmes propriétés. En revanche, elle est présentée vide au départ, et peut être modifiée par le développeur. C’est dans cette classe que des traitements peuvent être effectués sur les champs du modèle de l’entité.

Le nom de cette classe utilise le nom de l’entité, préfixé de « Model ».

  • Fichier de l’exemple Avis_darret_de_travail.gen.cs
  • Nom de la classe : Model_Avis_darret_de_travail

Présentation des données

Le second type de classe présente au développeur les données d’une entité en lecture seule. Comme pour la classe représentant le modèle de données, elle contient une propriété pour chaque champ du modèle.

En fonction du type de l’entité, ces classes ont une classe de base différente

Le second type de classe présente au développeur les données d’une entité en lecture seule. Comme pour la classe représentant le modèle de données, elle contient une propriété pour chaque champ du modèle.

En fonction du type de l’entité, ces classes ont une classe de base différente :

Type d’entité

Classe de base

Formulaire FormItemBase
Inclusion InsertItemBase
Nomenclature NomenclatureItemBase
Page PageBase

 

Ces classes de base contiennent toutes les données communes que présente le type d’entité. Par exemple, la classe FormItemBase expose les données fonctionnelles d’une fiche, la classe NomenclatureItemBase expose l’identifiant et le libellé d’un élément, etc.

Les classes générées par FormsStudio qui en héritent se contentent d’exposer les champs du modèle spécifiques à chaque entité. Elles ne sont pas modifiables par le développeur.

Les cas d’utilisation fréquents de ce type de classe concernent l’utilisation des nomenclatures en code distant et le requêtage de données. Pour plus d’information sur le requêtage de données, consulter le chapitre [14].

Le nom de cette classe utilise le nom de l’entité uniquement.

  • Fichier de l’exemple : Fiche_Avis_darret_de_travail.gen.cs
  • Nom de la classe : Avis_darret_de_travail

Code distant et changement de nom des entités

Lorsque le nom d’une entité est modifié (nom d’un groupe, d’un formulaire, etc.), de nouveaux fichiers sont créés et les classes changent de nom. Si du code avait été saisie dans les anciennes classes, celui-ci ne sera pas reportée automatiquement dans les nouvelles. En revanche, les anciens fichiers ne sont pas supprimés.

Pour retrouver les anciens fichiers et le code qui y a été saisi, il faut ouvrir la solution Visual Studio dans l’explorateur Windows.

13.1.4        Espace de nom

L’espace de nom permettant d’accéder aux classes générées pour un module donné est le suivant :

  • Modules.NOM_MODULE

Si l’entité rattachée à la classe est dans un groupe dans l’explorateur de module FormsStudio, le nom du groupe est rajouté dans l’espace de nom. Par exemple, pour le formulaire « Avis d’arrêt de travail » du module « Commun » présent dans un groupe nommé « Avis d’arrêt de travail » :

  • Modules.Commun.Avis_darret_de_travail.Avis_darret_de_travail

Il est enfin possible d’accéder aux entités des modules référencés via l’espace de nom suivant :

  • Modules.NOM_MODULE.References.NOM_MODULE_REFERENCE

Pour plus d’informations sur les modules référencés, consulter le chapitre [15.1].

 

 

 

 

 

Was this article helpful?

Related Articles

Poster un commentaire

Vous devez être connecté pour pouvoir poster un commentaire.