using CD67.FicheCollege.Entity; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; namespace CD67.FicheCollege.MVC.Models { public enum ModeAcces { [Display(Prompt = "Ajouter")] Creation, [Display(Prompt = "Lire")] Lecture, [Display(Prompt = "Modifier")] Modification, [Display(Prompt = "Supprimer")] Suppression } // Wrapper du modele qui permet d'emmener des informations supplementaires avec celui-ci. public abstract class BaseViewModel { public T Obj; public abstract int Annee_Id { get; } public abstract string Annee_Lib { get; } // (Facultatif) Mode d'accès à la page // Defaut: Lecture public ModeAcces Acces { get; set; } // (Facultatif) Permet d'emporter d'éventuelles données complémentaires // comme les listes qui serviront entre autre à peupler les listes déroulantes. public Dictionary Bag { get; set; } = new Dictionary(); // Utilisateur courant public UtilisateurConnecte User; // *************************** // Constructeurs de base public BaseViewModel(T model, ModeAcces acces = ModeAcces.Lecture, Dictionary bag = null) { Obj = model; Acces = acces; if (bag != null) Bag = bag; User = Internal.UtilisateurConnecteFactory.getUtilisateurConnecte(); } public BaseViewModel(T model, Entities dbContext, ModeAcces acces = ModeAcces.Lecture, Dictionary bag = null) { Obj = model; Acces = acces; if (bag != null) Bag = bag; User = Internal.UtilisateurConnecteFactory.getUtilisateurConnecte(); } } }