ArticleModel.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using System.ComponentModel;
  3. using System.ComponentModel.DataAnnotations;
  4. namespace HyperCube.Models
  5. {
  6. public enum ArticleStatus {
  7. [Display(Name = "Новая")]
  8. New = 0,
  9. [Display(Name = "Добавлена")]
  10. Added,
  11. [Display(Name = "Отредактирована")]
  12. Edited,
  13. [Display(Name = "Проверена")]
  14. Verified,
  15. [Display(Name = "Отклонена")]
  16. Rejected,
  17. [Display(Name = "Удалена")]
  18. Deleted }
  19. public class ArticleModel : ICloneable
  20. {
  21. public string Filename { get; set; }
  22. [Required]
  23. public string Name { get; set; }
  24. [Required]
  25. public DateTime PublishDate { get; set; } = DateTime.Now.Date;
  26. [Required]
  27. public string Authors { get; set; }
  28. [Required]
  29. public string Keywords { get; set; }
  30. [Required]
  31. public string Annotation { get; set; }
  32. public string Text { get; set; }
  33. public ArticleStatus Status { get; set; } = ArticleStatus.New;
  34. public object Clone()
  35. {
  36. return MemberwiseClone();
  37. }
  38. }
  39. }