Parcourir la source

ViewModels: Simplification et refact

olivier.massot il y a 7 ans
Parent
commit
67981933c9

+ 1 - 0
CD67.FicheCollege.Entity/CD67.FicheCollege.Entity.csproj

@@ -87,6 +87,7 @@
     <Compile Include="Extend\ActionCLAS.cs" />
     <Compile Include="Extend\College.cs" />
     <Compile Include="Extend\Territoire.cs" />
+    <Compile Include="Extend\Identite.cs" />
     <Compile Include="Extend\TypeCollege.cs" />
     <Compile Include="Identite.cs">
       <DependentUpon>EntityModel.tt</DependentUpon>

+ 1 - 0
CD67.FicheCollege.Entity/Extend/ActionCLAS.cs

@@ -13,6 +13,7 @@ namespace CD67.FicheCollege.Entity
     [MetadataType(typeof(ActionCLAS_Metadata))]
     public partial class ActionCLAS
     {
+        public int Id { get { return College_Id; } }
     }
 
     /// <summary>

+ 25 - 0
CD67.FicheCollege.Entity/Extend/Identite.cs

@@ -0,0 +1,25 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace CD67.FicheCollege.Entity
+{
+    /// <summary>
+    /// Classe d'extension de celle d'Entity, nécessaire pour y associer les Metadata
+    /// </summary>
+    [MetadataType(typeof(Identite_Metadata))]
+    public partial class Identite
+    {
+        public int Id { get { return College_Id; } }
+    }
+
+    /// <summary>
+    /// Classe contenant les DataAnnotations pour chaque champ
+    /// </summary>
+    public class Identite_Metadata
+    {
+    }
+}

+ 6 - 2
CD67.FicheCollege.MVC/CD67.FicheCollege.MVC.csproj

@@ -173,8 +173,12 @@
     <Compile Include="Internal\MvcHtmlHelpers.cs" />
     <Compile Include="Internal\Navigation.cs" />
     <Compile Include="Internal\UtilisateurConnecteFactory.cs" />
+    <Compile Include="Models\ActionClasViewModel.cs" />
+    <Compile Include="Models\IdentiteViewModel.cs" />
+    <Compile Include="Models\CollegeViewModel.cs" />
+    <Compile Include="Models\AnneeViewModel.cs" />
     <Compile Include="Models\ContactViewModel.cs" />
-    <Compile Include="Models\TopModel.cs" />
+    <Compile Include="Models\BaseViewModel.cs" />
     <Compile Include="Models\UtilisateurConnecte.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="Properties\Settings.Designer.cs">
@@ -386,7 +390,6 @@
     <Content Include="Views\Territoire\Index.cshtml" />
     <Content Include="Views\Colleges\Details.cshtml" />
     <Content Include="Views\Colleges\Edit.cshtml" />
-    <Content Include="Views\Colleges\Index.cshtml" />
     <Content Include="Views\Identites\Details.cshtml" />
     <Content Include="Views\Identites\Edit.cshtml" />
     <Content Include="Views\ActionsCLAS\Details.cshtml" />
@@ -394,6 +397,7 @@
     <Content Include="Views\GestionActions\Index.cshtml" />
     <Content Include="Views\Annees\Details.cshtml" />
     <Content Include="Views\Annees\Index.cshtml" />
+    <Content Include="Views\Colleges\Index.cshtml" />
   </ItemGroup>
   <ItemGroup>
     <Folder Include="App_Data\" />

+ 1 - 15
CD67.FicheCollege.MVC/Models/ActionClasViewModel.cs

@@ -10,20 +10,6 @@ namespace CD67.FicheCollege.MVC.Models
         {
         }
 
-        public override int Id
-        {
-            get
-            {
-                return Obj.College_Id;
-            }
-        }
-
-        public override string Annee_Lib
-        {
-            get
-            {
-                return Obj.College.Annee.Libelle;
-            }
-        }
+        public override string Annee_Lib { get { return Obj.College.Annee.Libelle; } }
     }
 }

+ 2 - 29
CD67.FicheCollege.MVC/Models/AnneeViewModel.cs

@@ -9,21 +9,7 @@ namespace CD67.FicheCollege.MVC.Models
         {
         }
 
-        public override int Id
-        {
-            get
-            {
-                return Obj.Id;
-            }
-        }
-
-        public override string Annee_Lib
-        {
-            get
-            {
-                return Obj.Libelle;
-            }
-        }
+        public override string Annee_Lib { get { return Obj.Libelle; } }
     }
 
     public class AnneeIndexViewModel : BaseViewModel<IEnumerable<Annee>>
@@ -32,20 +18,7 @@ namespace CD67.FicheCollege.MVC.Models
         {
         }
 
-        public override int Id
-        {
-            get
-            {
-                return 0;
-            }
-        }
+        public override string Annee_Lib { get { return ""; } }
 
-        public override string Annee_Lib
-        {
-            get
-            {
-                return "";
-            }
-        }
     }
 }

+ 2 - 2
CD67.FicheCollege.MVC/Models/BaseViewModel.cs

@@ -20,7 +20,6 @@ namespace CD67.FicheCollege.MVC.Models
     {
         internal T Obj;
 
-        public abstract int Id { get; }
         public abstract string Annee_Lib { get; }
 
         // (Facultatif) Mode d'accès à la page
@@ -32,7 +31,7 @@ namespace CD67.FicheCollege.MVC.Models
         public Dictionary<string, object> Bag { get; set; } = new Dictionary<string, object>();
 
         // Utilisateur courant
-        public UtilisateurConnecte User = CD67.FicheCollege.MVC.Internal.UtilisateurConnecteFactory.getUtilisateurConnecte();
+        public UtilisateurConnecte User;
 
         // ***************************
         // Constructeur de base
@@ -44,6 +43,7 @@ namespace CD67.FicheCollege.MVC.Models
             Acces = acces;
             if (bag != null)
                 Bag = bag;
+            User = Internal.UtilisateurConnecteFactory.getUtilisateurConnecte();
         }
 
     }

+ 1 - 14
CD67.FicheCollege.MVC/Models/CollegeViewModel.cs

@@ -22,20 +22,7 @@ namespace CD67.FicheCollege.MVC.Models
             }
         }
 
-        public override int Id
-        {
-            get
-            {
-                return Obj.Id;
-            }
-        }
+        public override string Annee_Lib { get { return Obj.Annee.Libelle; } }
 
-        public override string Annee_Lib
-        {
-            get
-            {
-                return Obj.Annee.Libelle;
-            }
-        }
     }
 }

+ 1 - 15
CD67.FicheCollege.MVC/Models/IdentiteViewModel.cs

@@ -20,20 +20,6 @@ namespace CD67.FicheCollege.MVC.Models
                 Contacts.Add(new ContactViewModel("Gestionnaire n°2", Obj.Gestionnaire2_SID, Obj.Gestionnaire2_Login, Obj.Gestionnaire2_Nom, Obj.Gestionnaire2_Prenom, Obj.Gestionnaire2_Email, Obj.Gestionnaire2_Tel, Obj.Gestionnaire2_Structure));
         }
 
-        public override int Id
-        {
-            get
-            {
-                return Obj.College_Id;
-            }
-        }
-
-        public override string Annee_Lib
-        {
-            get
-            {
-                return Obj.College.Annee.Libelle;
-            }
-        }
+        public override string Annee_Lib { get { return Obj.College.Annee.Libelle; } }
     }
 }

+ 1 - 1
CD67.FicheCollege.MVC/Views/Colleges/Details.cshtml

@@ -75,7 +75,7 @@
         </dt>
 
         <dd>
-            @if (Model.Obj.Commune != null)
+            @if (college.Commune != null)
             {
                 <div class="col-sm-8 col-md-4">
                     <div class="panel panel-default">