Нет описания

julien.legrand 2dd93b15d6 NEW Couche Factory ok 9 лет назад
CD67.ModeleMVC.Entity c8b7802bf3 NEW Couche Entity ok 9 лет назад
CD67.ModeleMVC.Factory 2dd93b15d6 NEW Couche Factory ok 9 лет назад
CD67.ModeleMVC.MVC 2dd93b15d6 NEW Couche Factory ok 9 лет назад
CD67.ModeleMVC.Tests 2dd93b15d6 NEW Couche Factory ok 9 лет назад
.gitattributes 93b0e6952b NEW initial commit 9 лет назад
.gitignore 93b0e6952b NEW initial commit 9 лет назад
CD67.ModeleMVC.sln c8b7802bf3 NEW Couche Entity ok 9 лет назад
ReadMe.txt 2dd93b15d6 NEW Couche Factory ok 9 лет назад

ReadMe.txt

Mode d'emploi du projet modle MVC-entity

*-*-*-*-*-*
historique
v0.1 13/07/2016 (Julien Legrand) : 1re version
*-*-*-*-*-*

# Actions faire aprs copie
1. Renommer les projets en suivant ce schma : "CD67.[nom appli].[Entity/Factory/MVC/Tests/Batchs]"
2. Renommer galement les assemblies et espaces de nom de chaque projet (dans les proprits des projets, onglet "Application")

x. Crer vos propres fichiers d'extension avec DataAnnotation ici : "CD67.ModeleMVC.Entity\Extend" et supprimer le fichier d'exemple "CD67.ModeleMVC.Entity\Extend\PARAM.cs"
x. Crer vos propres factory ici : "CD67.ModeleMVC.Factory" et supprimer le fichier d'exemple "CD67.ModeleMVC.Factory\PARAMFactory.cs"

10. supprimer ce fichier pour ne pas que l'on sache que vous avez utilis un modle


# Description gnrale
La solution est consitue de 4 projets :
- CD67.ModeleMVC.Entity : Projet qui contient les objets mtiers, c'est dire dans le cas de projets Entity : le modle entity framework
- CD67.ModeleMVC.Factory : Projet qui contient les classes permettant la gestion des objets : les actions CRUD pour chacun minima
- CD67.ModeleMVC.MVC : Projet qui comprent le site Web MVC
- CD67.ModeleMVC.Tests : Tests unitaires


# CD67.ModeleMVC.Entity
Le modle se nomme par dfaut "EntityModel"

Le dossier "Extend" contient les extensions ventuelles de classe Entity (qui se trouvent dans "EntityModel.edmx\EntityModel.tt\").
C'est notamment utile pour ajouter les DataAnnotations permettant de dcrire le donnes en vue d'une gnration de contrles plus appropis dans les vues MVC.
Attention bien surveiller l'espace de noms lors de la cration d'une classe dans ce sous-dossier (erreur frquente) :
- par dfaut ce sera : "CD67.ModeleMVC.Entity.Extend",
- mais il faut "CD67.ModeleMVC.Entity" (le mme que les classes de bases Entity).

Le dossier "Internal" contient :
- "FormattedDbEntityValidationException.cs" : classe hrite de Exception qui permet un affichage plus complet dans les messages d'erreur pour les exceptions lies au format de donnes du modle Entity
- "Entities.cs" : classe partielle permettant d'utiliser les nouvelles Exceptions FormattedDbEntityValidationException en surchargeant "SaveChanges()"
En cas d'ajout d'une nouvelle connexion avec Entity Framework, il faut ajouter une nouvelle classe d'extension du mme type.


# CD67.ModeleMVC.Factory
Les classes Factory sont nommes ainsi : "[Nom objet]Factory"
On cre autant de classe Factory que d'objet grer
Elles doivent contenir un constructeur public avec le context Entities en paramtre qui se base sur le constructeur de la classe parente.
Elles contiennent gnralement les fonctions suivantes : getById, getAll, add, update, delete.
C'est adapter chaque cas.

Le dossier "Internal" contient la classe de base "baseFactory" dont chaque "Factory" hrite.


# CD67.ModeleMVC.MVC
La partie Model du projet n'est pas ncessaire que pour dfinir des classes ne servant qu' l'affichage, les classes mtiers tant dans le projet Entity.


# CD67.ModeleMVC.Tests
Projet le plus important de la solution :)