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 { internal object _Obj; public abstract int 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 = CD67.FicheCollege.MVC.Internal.UtilisateurConnecteFactory.getUtilisateurConnecte(); // *************************** // Constructeur de base public BaseViewModel(object model, ModeAcces acces = ModeAcces.Lecture, Dictionary bag = null) { _Obj = model; Acces = acces; if (bag != null) Bag = bag; } } }