using Lada.Framework.Data.Domains.BaseEntities;
using Lada.Framework.Data.Enums;

namespace Lada.Framework.Data.Domains.Rewards
{
    /// <summary>
    /// Cấu hình mức xử phạt theo số lần vi phạm.
    /// Ví dụ: Lần 1 nhắc nhở, lần 2 phạt 100k, lần 3 phạt 200k, lần 4+ phạt 300k.
    /// </summary>
    public class AutoPenaltyLevel : BaseEntityWithKey<int>
    {
        /// <summary>
        /// Thuộc cấu hình nào
        /// </summary>
        public int ConfigId { get; set; }

        /// <summary>
        /// Từ lần vi phạm thứ
        /// </summary>
        public int FromCount { get; set; }

        /// <summary>
        /// Đến lần vi phạm thứ (null = từ FromCount trở đi)
        /// </summary>
        public int? ToCount { get; set; }

        /// <summary>
        /// Hình thức xử lý: Nhắc nhở / Phạt tiền
        /// </summary>
        public PenaltyActionType ActionType { get; set; }

        /// <summary>
        /// Số tiền phạt (0 nếu chỉ nhắc nhở)
        /// </summary>
        public decimal PenaltyAmount { get; set; }

        #region Navigation Properties

        public virtual AutoPenaltyConfig Config { get; set; }

        #endregion
    }
}
