BoardManager.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using System.ComponentModel;
  2. using System.ComponentModel.DataAnnotations;
  3. using System.ComponentModel.DataAnnotations.Schema;
  4. using Microsoft.EntityFrameworkCore;
  5. using Domain.Entities.Members;
  6. namespace Domain.Entities.Forum.Boards
  7. {
  8. [Table(nameof(BoardManager))]
  9. [Index(nameof(BoardID))]
  10. [Index(nameof(MemberID))]
  11. [Index(nameof(BoardID), nameof(MemberID))]
  12. public class BoardManager
  13. {
  14. [ForeignKey(nameof(BoardID))]
  15. public virtual Board Board { get; set; } = null!;
  16. [ForeignKey(nameof(MemberID))]
  17. public virtual Member Member { get; set; } = null!;
  18. [Key]
  19. [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  20. [DisplayName("PK")]
  21. [Comment("PK")]
  22. public int ID { get; set; }
  23. [DisplayName("게시판 ID")]
  24. [Comment("게시판 ID")]
  25. [Required(ErrorMessage = "{0}는 필수입니다.")]
  26. public int BoardID { get; set; }
  27. [DisplayName("관리자 ID")]
  28. [Comment("관리자 ID")]
  29. [Required(ErrorMessage = "{0}는 필수입니다.")]
  30. public string MemberID { get; set; } = default!;
  31. [DisplayName("수정 권한")]
  32. [Comment("수정 권한")]
  33. public bool CanEdit { get; set; } = false;
  34. [DisplayName("삭제 권한")]
  35. [Comment("삭제 권한")]
  36. public bool CanDelete { get; set; } = false;
  37. [DisplayName("수정 일시")]
  38. [Comment("수정 일시")]
  39. [DataType(DataType.DateTime)]
  40. public DateTime? UpdatedAt { get; set; }
  41. [DisplayName("등록 일시")]
  42. [Comment("등록 일시")]
  43. [DataType(DataType.DateTime)]
  44. public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
  45. }
  46. }