TopModel.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using CD67.FicheCollege.Entity;
  2. using System.Collections.Generic;
  3. using System.Web.Mvc;
  4. namespace CD67.FicheCollege.MVC.Models
  5. {
  6. // Wrapper du modele qui permet d'emmener des informations supplementaires avec celui-ci.
  7. public class TopModel
  8. {
  9. // Modele de la page en cours
  10. public dynamic Model { get; set; }
  11. // Obj est l'equivalent de Model, en peut-être plus clair
  12. public dynamic Obj { get { return Model; } }
  13. // (Facultatif) Mode d'accès à la page
  14. // Defaut: Lecture
  15. public ModeAcces Acces { get; set; }
  16. // Permet d'emporter d'éventuelles données complémentaires
  17. // comme les listes qui serviront entre autre à peupler les listes déroulantes.
  18. public Dictionary<string, object> Bag { get; set; } = new Dictionary<string, object>();
  19. // Utilisateur courant
  20. public UtilisateurConnecte User = CD67.FicheCollege.MVC.Internal.UtilisateurConnecteFactory.getUtilisateurConnecte();
  21. // ***************************
  22. // Constructeur de base
  23. public TopModel(object model,
  24. ModeAcces acces = ModeAcces.Lecture,
  25. Dictionary<string, object> bag = null)
  26. {
  27. Model = model;
  28. Acces = acces;
  29. if (bag != null)
  30. Bag = bag;
  31. }
  32. // Constructeurs particuliers
  33. public TopModel(Annee model,
  34. ModeAcces acces = ModeAcces.Lecture,
  35. Dictionary<string, object> bag = null)
  36. {
  37. Model = model;
  38. Acces = acces;
  39. if (bag != null)
  40. Bag = bag;
  41. Bag["Annee_Lib"] = model.Libelle;
  42. }
  43. public TopModel(College model,
  44. ModeAcces acces = ModeAcces.Lecture,
  45. Dictionary<string, object> bag = null)
  46. {
  47. Model = model;
  48. Acces = acces;
  49. if (bag != null)
  50. Bag = bag;
  51. Bag["Annee_Lib"] = model.Annee.Libelle;
  52. }
  53. }
  54. }