TopModel.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using CD67.FicheCollege.Entity;
  2. using CD67.FicheCollege.Factory;
  3. using CD67.FicheCollege.MVC.Internal;
  4. using System.Collections.Generic;
  5. using System.Web.Mvc;
  6. namespace CD67.FicheCollege.MVC.Models
  7. {
  8. // Wrapper du modele qui permet d'emmener des informations supplementaires avec celui-ci.
  9. public abstract class TopModel
  10. {
  11. internal object _Obj;
  12. public abstract string Annee_Lib { get; }
  13. // (Facultatif) Mode d'accès à la page
  14. // Defaut: Lecture
  15. public ModeAcces Acces { get; set; }
  16. // (Facultatif) 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. _Obj = model;
  28. Acces = acces;
  29. if (bag != null)
  30. Bag = bag;
  31. }
  32. }
  33. public class AnneeViewModel : TopModel
  34. {
  35. public AnneeViewModel(object model, ModeAcces acces = ModeAcces.Lecture, Dictionary<string, object> bag = null) : base(model, acces, bag)
  36. {
  37. }
  38. public Annee Obj
  39. {
  40. get
  41. {
  42. return (_Obj as Annee);
  43. }
  44. }
  45. public override string Annee_Lib
  46. {
  47. get
  48. {
  49. return Obj.Libelle;
  50. }
  51. }
  52. }
  53. public class CollegeViewModel : TopModel
  54. {
  55. private Entities db = new Entities();
  56. public SelectList Sel_TypesCollege;
  57. public SelectList Sel_CodesPostaux;
  58. public CollegeViewModel(object model, ModeAcces acces = ModeAcces.Lecture, Dictionary<string, object> bag = null) : base(model, acces, bag)
  59. {
  60. if (acces == ModeAcces.Creation | acces == ModeAcces.Modification)
  61. {
  62. TypeCollegeFactory fact = new TypeCollegeFactory(db);
  63. Sel_TypesCollege = new SelectList(fact.getAll(), "Id", "Libelle", Obj.TypeCollege_Id);
  64. Sel_CodesPostaux = new SelectList(Referentiel.GetCodesPostaux(Obj.Commune_Insee), Obj.Code_Postal);
  65. }
  66. }
  67. public College Obj {
  68. get {
  69. return (_Obj as College);
  70. }
  71. }
  72. public override string Annee_Lib
  73. {
  74. get {
  75. return Obj.Annee.Libelle;
  76. }
  77. }
  78. }
  79. }