| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
- using Microsoft.EntityFrameworkCore;
- using System.ComponentModel;
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- namespace bitforum.Models.Page.Banner
- {
- [Table("BannerItem")]
- [Index(nameof(Order), Name = "IX_BannerItem_Order")]
- [Index(nameof(IsActive), Name = "IX_BannerItem_IsActive")]
- public class BannerItem
- {
- [ValidateNever]
- [ForeignKey("PositionID")]
- public virtual BannerPosition BannerPosition { get; set; } = null!;
- [Key]
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- [DisplayName("PK")]
- [Comment("PK")]
- public int ID { get; set; }
- [Required]
- [DisplayName("배너 위치 ID")]
- [Comment("배너 위치 ID")]
- public int PositionID { get; set; }
- [Required]
- [DisplayName("배너 명")]
- [Comment("배너 명")]
- [DataType(DataType.Text)]
- [StringLength(255)]
- public string Subject { get; set; } = null!;
- [DisplayName("이미지")]
- [Comment("이미지")]
- [RegularExpression(@"\.(jpg|jpeg|png|gif)$", ErrorMessage = "이미지 파일은 jpg, jpeg, png, gif 형식이어야 합니다.")]
- [StringLength(1024)]
- public string? Image { get; set; } = null;
- [DisplayName("가로 크기")]
- [Comment("가로 크기")]
- [Range(1, int.MaxValue, ErrorMessage = "숫자는 1 이상이어야 합니다.")]
- public int? Width { get; set; } = 0;
- [DisplayName("세로 크기")]
- [Comment("세로 크기")]
- [Range(1, int.MaxValue, ErrorMessage = "숫자는 1 이상이어야 합니다.")]
- public int? Height { get; set; } = 0;
- [DisplayName("주소")]
- [Comment("주소")]
- [DataType(DataType.Url)]
- [StringLength(255)]
- public string? Link { get; set; } = null;
- [Required]
- [DisplayName("순서")]
- [Comment("순서")]
- public int Order { get; set; } = 0;
- [Required]
- [DisplayName("사용 여부")]
- [Comment("사용 여부")]
- public bool IsActive { get; set; } = false;
- [DisplayName("사용 기간 - 시작")]
- [Comment("사용 기간 - 시작")]
- [DataType(DataType.DateTime)]
- public DateTime? StartAt { get; set; } = null;
- [DisplayName("사용 기간 - 종료")]
- [Comment("사용 기간 - 종료")]
- [DataType(DataType.DateTime)]
- public DateTime? EndAt { get; set; } = null;
- [DisplayName("조회 수")]
- [Comment("조회 수")]
- public int Views { get; set; } = 0;
- [DisplayName("수정 일시")]
- [Comment("수정 일시")]
- [DataType(DataType.DateTime)]
- public DateTime? UpdatedAt { get; set; } = null;
- [DisplayName("등록 일시")]
- [Comment("등록 일시")]
- [DataType(DataType.DateTime)]
- public DateTime CreatedAt { get; set; }
- }
- }
|