PARAM.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. // Attention à l'espace de nom, lors de la création d'une nouvelle classe celui-ci sera par défaut :
  8. // namespace CD67.ModeleMVC.Entity.Extend
  9. // Alors que pour étendre une classe il faut être dans le même namespace que l'original
  10. namespace CD67.ModeleMVC.Entity
  11. {
  12. /// <summary>
  13. /// Classe d'extension de celle d'Entity, nécessaire pour y associer les Metadata
  14. /// </summary>
  15. [MetadataType(typeof(PARAM_Metadata))]
  16. public partial class PARAM
  17. {
  18. //Peut contenir une extension utile à la classe (méthode static ou non, nouvelles propriétés, propriétés construites dynamiquement selon d'autres de la classe, etc.)
  19. //Exemples de 2 propriétés booléennes qui ont en base 0 ou 1 et qui utilise un affichage customisé MVC "YesNo" : "Views\Shared\DisplayTemplates" et "Views\Shared\EditorTemplates"
  20. [Display(Name = "Toujours Oui")]
  21. [Range(0, 1)]
  22. [UIHint("YesNo")]
  23. public Nullable<int> alwaysYes
  24. {
  25. get { return 1; }
  26. set { this.alwaysYes = value; }
  27. }
  28. [Display(Name = "toujours Non")]
  29. [Range(0, 1)]
  30. [UIHint("YesNo")]
  31. public Nullable<int> alwaysNo
  32. {
  33. get { return 0; }
  34. set { this.alwaysNo = value; }
  35. }
  36. }
  37. /// <summary>
  38. /// Classe contenant les DataAnnotations pour chaque champ
  39. /// </summary>
  40. public class PARAM_Metadata
  41. {
  42. [Required]
  43. [Display(Name = "Clé")]
  44. public string PRM_CLE { get; set; }
  45. [Required]
  46. [Display(Name = "Libellé")]
  47. public string PRM_LIB1 { get; set; }
  48. [Required]
  49. [Display(Name = "Valeur")]
  50. [DataType(DataType.MultilineText)]
  51. public string PRM_LIB2 { get; set; }
  52. }
  53. }