meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
certif:procedure:usageclasseinterface [2026/04/24 14:17] – [Les fonctions « normées » à usage public] nicolascertif:procedure:usageclasseinterface [2026/04/24 17:04] (Version actuelle) alexia
Ligne 5: Ligne 5:
 |**Suivi des approbations** |Cartographie fonctionnelle| |**Suivi des approbations** |Cartographie fonctionnelle|
 |**Objet** |Normaliser les classes servant à mapper dans Angular les objets du back (/ de la BDD)| |**Objet** |Normaliser les classes servant à mapper dans Angular les objets du back (/ de la BDD)|
-|**Destinataires** |**- Validation des modifications : ** Chef de projet\\  **- Approbation du document** : Tous developpeurs|+|**Destinataires** |**- Validation des modifications : ** Chef de projet\\  **- Approbation du document** : Tous développeurs|
 ======  ====== ======  ======
  
Ligne 23: Ligne 23:
   * On ne charge les données depuis le back directement depuis le code mais uniquement au travers des fonctions de la classe afin d'avoir des comportements homogènes   * On ne charge les données depuis le back directement depuis le code mais uniquement au travers des fonctions de la classe afin d'avoir des comportements homogènes
   * Une classe **NE DOIT PAS APPELER** une autre classe de typage, si c'est le cas c'est le service qui doit le faire. \\ Exemple : pour effacer une famille il faut vérifier les personnes donc on devrait importer TSQPersonne dans recordFamille et réciproquement — on aurait donc ''TSQLFamille'' qui appelle une méthode de ''TSQLPersonne'' et réciproquement => à mettre dans un service.   * Une classe **NE DOIT PAS APPELER** une autre classe de typage, si c'est le cas c'est le service qui doit le faire. \\ Exemple : pour effacer une famille il faut vérifier les personnes donc on devrait importer TSQPersonne dans recordFamille et réciproquement — on aurait donc ''TSQLFamille'' qui appelle une méthode de ''TSQLPersonne'' et réciproquement => à mettre dans un service.
-  * Vu les problématiques à respecter la syntaxe ou privilégiera TSQLFamille[] à creer y=une classe TSQLFamilles+  * Vu les problématiques à respecter la syntaxe ou privilégiera TSQLFamille[] à créer y=une classe TSQLFamilles
  
 ==== Les fonctions « normées » correspondant au CRUD ==== ==== Les fonctions « normées » correspondant au CRUD ====
Ligne 29: Ligne 29:
 | READ | ''chargeFromBDD$'' | ''static async chargeFromBDD$(filtre:TSQLPersonne=new TSQLPersonne(), base?:TBaseLoGeAs) : Promise<TSQLPersonne[]>'' \\ C'est la procédure qui doit se charger de toutes les transformations nécessaires après la réception (appel de la fonction générique ''mapArrayTo'' qui appelle ''corrigeDataFromBDD''). \\ ''static'' permet d'appeler la fonction sans instance de la classe. \\ Exemple : ''this.personnes = await TSQLPersonne.chargeFromBDD$();'' \\ Le filtre permet de demander à la BDD un sous-ensemble de la table. \\ Exemple : ''const filtre = new TSQLPersonne({Codepostal: "31800"}) ; this.personnes = await TSQLPersonne.chargeFromBDD$(filtre);'' \\ → on ne devrait avoir que les personnes ayant un codepostal = 31800 (A TESTER) \\ ''base'' peut être laissé vide si on utilise la base chargée dans DG, sinon il faut bien sûr l'indiquer (possibilité de charger une deuxième base) | | READ | ''chargeFromBDD$'' | ''static async chargeFromBDD$(filtre:TSQLPersonne=new TSQLPersonne(), base?:TBaseLoGeAs) : Promise<TSQLPersonne[]>'' \\ C'est la procédure qui doit se charger de toutes les transformations nécessaires après la réception (appel de la fonction générique ''mapArrayTo'' qui appelle ''corrigeDataFromBDD''). \\ ''static'' permet d'appeler la fonction sans instance de la classe. \\ Exemple : ''this.personnes = await TSQLPersonne.chargeFromBDD$();'' \\ Le filtre permet de demander à la BDD un sous-ensemble de la table. \\ Exemple : ''const filtre = new TSQLPersonne({Codepostal: "31800"}) ; this.personnes = await TSQLPersonne.chargeFromBDD$(filtre);'' \\ → on ne devrait avoir que les personnes ayant un codepostal = 31800 (A TESTER) \\ ''base'' peut être laissé vide si on utilise la base chargée dans DG, sinon il faut bien sûr l'indiquer (possibilité de charger une deuxième base) |
 | CREATE / UPDATE | ''sauveToBDD$'' | ''async sauveToBDD$(base?:TbaseLoGeAs)'' \\ Permet de créer (ID=0) ou de mettre à jour l'objet instancié dans la base de données. Aucune préparation ne doit être faite avant, c'est la procédure qui s'en charge. \\ ''base'' peut être laissé vide si on utilise la base chargée dans DG, sinon il faut bien sûr l'indiquer (possibilité de charger une deuxième base) | | CREATE / UPDATE | ''sauveToBDD$'' | ''async sauveToBDD$(base?:TbaseLoGeAs)'' \\ Permet de créer (ID=0) ou de mettre à jour l'objet instancié dans la base de données. Aucune préparation ne doit être faite avant, c'est la procédure qui s'en charge. \\ ''base'' peut être laissé vide si on utilise la base chargée dans DG, sinon il faut bien sûr l'indiquer (possibilité de charger une deuxième base) |
-| DELETE | ''effaceToBDD$'' | ''async effaceToBDD$(ID:number, base?:TbaseLoGeAs)'' |+| DELETE | ''effaceToBDD$'' | ''async effaceToBDD$(base?:TbaseLoGeAs)'' |
  
 ==== Les fonctions « normées » à usage interne de la classe ("protected") ==== ==== Les fonctions « normées » à usage interne de la classe ("protected") ====
 ^Nom de la fonction^Usage^ ^Nom de la fonction^Usage^
-|protected override corrigeDataFromBDD()|Appelé sur chaque enregistrement lors du chargement depuis le back, via la procedure  MapUtils.mapArrayTo. Elle permet de corriger, mapper.. les données sur le modéle de la classe. Elle permet en outre de s'affranchir des problémes de case entre back et front|+|protected override corrigeDataFromBDD()|Appelé sur chaque enregistrement lors du chargement depuis le back, via la procédure  MapUtils.mapArrayTo. Elle permet de corriger, mapper.. les données sur le modèle de la classe. Elle permet en outre de s'affranchir des problèmes de case entre back et front|
 |protected override async prepareDataToBDD()|Appelé par la fonction sauveToBDD$ elle permet de mettre les format angular au format attendu par le back| |protected override async prepareDataToBDD()|Appelé par la fonction sauveToBDD$ elle permet de mettre les format angular au format attendu par le back|
  
 ==== Les fonctions « normées » à usage public ==== ==== Les fonctions « normées » à usage public ====
 ^Nom de la fonction^Usage^ ^Nom de la fonction^Usage^
-|override toGrid():IFamilleGrid|Met à plat la structure parente (chaamp personnalisé, sous structure...) afin de faciliter leur affichage dans les grilles\\ **Attention :** la structure resultante est une Interface elle ne peut/doit pas servir pour interfacer avec le back ou autre|+|override toGrid():IFamilleGrid|Met à plat la structure parente (champ personnalisé, sous structure...) afin de faciliter leur affichage dans les grilles\\ Peut permettre au passage à ajouter des champs calculé\\ **Attention :** la structure résultante est une Interface elle ne peut/doit pas servir pour interfacer avec le back ou autre|
 |static toGrids(liste:TSQLFamille[]):IFamilleGrid[]|Boucle sur les éléments du tableau pour appelé togrid| |static toGrids(liste:TSQLFamille[]):IFamilleGrid[]|Boucle sur les éléments du tableau pour appelé togrid|
 +
 +==== Les fonctions spécifique à la classe ====
 +Dépends de chaque classe voir la classe