ActionEdu.cs 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. using CD67.FicheCollege.Entity.WsTiers;
  2. using System;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq;
  5. namespace CD67.FicheCollege.Entity
  6. {
  7. /// <summary>
  8. /// Classe d'extension de celle d'Entity, nécessaire pour y associer les Metadata
  9. /// </summary>
  10. [MetadataType(typeof(ActionEdu_Metadata))]
  11. public partial class ActionEdu
  12. {
  13. public long? totalEleves
  14. {
  15. get
  16. {
  17. return this.ActionsEduColleges.Sum(a => a.NbEleves);
  18. }
  19. }
  20. public Tiers tiers;
  21. // Charge les données du tiers depuis le web-service
  22. public void hydrate()
  23. {
  24. WsTiers.WsTiers wsTiers = new WsTiers.WsTiers();
  25. wsTiers.UseDefaultCredentials = true;
  26. if (!String.IsNullOrEmpty(TiersSid))
  27. {
  28. tiers = wsTiers.GetById(TiersSid);
  29. }
  30. }
  31. public ActionEdu flat()
  32. {
  33. return new ActionEdu()
  34. {
  35. Id = Id,
  36. Numero = Numero,
  37. Nom = Nom,
  38. Montant = Montant,
  39. TiersSid = TiersSid,
  40. Description = Description,
  41. CommentaireInterne = CommentaireInterne,
  42. CommentairePublic = CommentairePublic,
  43. Neutralise = Neutralise,
  44. Ordre = Ordre,
  45. ActionEduThematiqueId = ActionEduThematiqueId,
  46. AnneeId = AnneeId,
  47. TokenId = TokenId
  48. };
  49. }
  50. }
  51. /// <summary>
  52. /// Classe contenant les DataAnnotations pour chaque champ
  53. /// </summary>
  54. public class ActionEdu_Metadata
  55. {
  56. [Required]
  57. public int Id { get; set; }
  58. [Required]
  59. [Display(Name = "Année")]
  60. public int AnneeId { get; set; }
  61. [Required]
  62. [Display(Name = "Numéro")]
  63. public int Numero { get; set; }
  64. [Required]
  65. [Display(Name = "Thématique")]
  66. public int ActionEduThematiqueId { get; set; }
  67. [Required]
  68. [Display(Name = "Nom")]
  69. public string Nom { get; set; }
  70. [DataType(DataType.Currency)]
  71. [Display(Name = "Montant indicatif")]
  72. public decimal Montant { get; set; }
  73. [Display(Name = "Tiers")]
  74. public string TiersSid { get; set; }
  75. [Display(Name = "Description")]
  76. [DataType(DataType.MultilineText)]
  77. public string Description { get; set; }
  78. [Display(Name = "Commentaire Public")]
  79. [DataType(DataType.MultilineText)]
  80. public string CommentairePublic { get; set; }
  81. [Display(Name = "Commentaire Interne")]
  82. [DataType(DataType.MultilineText)]
  83. public string CommentaireInterne { get; set; }
  84. [Display(Name = "Neutralisé (oui/non)")]
  85. public bool Neutralise { get; set; }
  86. public int Ordre { get; set; }
  87. }
  88. }