Viking.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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(Viking_Metadata))]
  16. public partial class Viking
  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 propriété booléenne qui renverra toujours 1
  20. public Nullable<int> costaud
  21. {
  22. get { return 1; }
  23. set { this.costaud = value; }
  24. }
  25. //Exemple d'un sous-type fictif pour les listes imbriquées
  26. public int IdSousType { get; set; }
  27. }
  28. /// <summary>
  29. /// Classe contenant les DataAnnotations pour chaque champ
  30. /// </summary>
  31. public class Viking_Metadata
  32. {
  33. [Required]
  34. [Display(Name = "Id")]
  35. public int Id { get; set; }
  36. [Required]
  37. [Display(Name = "Nom")]
  38. [StringLength(255)]
  39. public string Nom { get; set; }
  40. [Required]
  41. [Display(Name = "Type")]
  42. public int TypeVikingId { get; set; }
  43. [Display(Name = "Sous type", Description = "Valeur non enregistrée")]
  44. public int IdSousType { get; set; }
  45. //Utilise un affichage customisé MVC "YesNo", qui se trouve ici : "Views\Shared\DisplayTemplates" et "Views\Shared\EditorTemplates"
  46. [Display(Name = "Casque Cornu")]
  47. //[Range(0, 1)]
  48. //[UIHint("YesNoInt")]
  49. public bool? CasqueCornu;
  50. [Required]
  51. [Display(Name = "Nombre de victoires")]
  52. public int NombreVictoires { get; set; }
  53. [Display(Name = "Costaud", Description = "Toujours oui")]
  54. [Range(0, 1)]
  55. [UIHint("YesNoInt")]
  56. public Nullable<int> costaud;
  57. [Display(Name = "Description")]
  58. //[StringLength(255)]
  59. [DataType(DataType.MultilineText)]
  60. public string Description { get; set; }
  61. [Display(Name = "Date de création")]
  62. [DataType(DataType.Date)]
  63. public DateTime? DateCreation { get; set; }
  64. [Display(Name = "Date de dernière édition")]
  65. [DataType(DataType.Date)]
  66. public DateTime? DateEdition { get; set; }
  67. ////Propriétés ajoutées dans la classe partielle
  68. //[Display(Name = "Costaud", Description = "Toujours oui")]
  69. //[Range(0, 1)]
  70. //[UIHint("YesNoInt")]
  71. //public Nullable<int> costaud;
  72. }
  73. }