using System.ComponentModel.DataAnnotations;
using Lada.Framework.Data.Domains.BaseEntities;
using Lada.Framework.Data.Enums;

namespace Lada.Framework.Data.Domains.Premises
{
    /// <summary>
    /// Tiêu chí chấm điểm mặt bằng (admin cấu hình)
    /// VD: "Loại mặt bằng", "Vị trí", "Hướng đường", "Giá thuê/tháng"
    /// </summary>
    public class PremiseScoringCriteria : BaseEntityWithKey<int>
    {
        /// <summary>
        /// Tên tiêu chí
        /// </summary>
        [MaxLength(200)]
        public string Name { get; set; } = string.Empty;

        /// <summary>
        /// Mô tả / hướng dẫn nhập
        /// </summary>
        [MaxLength(500)]
        public string? Description { get; set; }

        /// <summary>
        /// Loại tiêu chí:
        /// Option = chọn từ danh sách
        /// Range = khoảng giá trị
        /// </summary>
        public ScoringCriteriaType CriteriaType { get; set; }

        /// <summary>
        /// Thứ tự hiển thị
        /// </summary>
        public int DisplayOrder { get; set; }

        /// <summary>
        /// Còn sử dụng?
        /// </summary>
        public bool IsActive { get; set; } = true;

        #region Navigation Properties

        public virtual ICollection<PremiseScoringOption> Options { get; set; } = new List<PremiseScoringOption>();

        #endregion
    }
}
