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

namespace Lada.Framework.Data.Domains.Premises
{
    /// <summary>
    /// Thông tin tài chính, hợp đồng và pháp lý của mặt bằng (1-1 với Premise)
    /// </summary>
    public class PremiseFinancial : BaseEntityWithKey<int>
    {
        /// <summary>
        /// FK → Premise
        /// </summary>
        public int PremiseId { get; set; }

        /// <summary>
        /// Giá chào thuê / tháng (VNĐ)
        /// </summary>
        public decimal? AskingRent { get; set; }

        /// <summary>
        /// Giá chốt / tháng (VNĐ)
        /// </summary>
        public decimal? NegotiatedRent { get; set; }

        /// <summary>
        /// Số tháng đặt cọc
        /// </summary>
        public int? DepositMonths { get; set; }

        /// <summary>
        /// Kỳ thanh toán (1, 3, 6 tháng...)
        /// </summary>
        public int? PaymentPeriodMonths { get; set; }

        /// <summary>
        /// Số ngày setup miễn phí tối đa
        /// </summary>
        public int? FreeFitOutDays { get; set; }

        /// <summary>
        /// Ngày có thể nhận mặt bằng
        /// </summary>
        public DateTime? AvailableFromDate { get; set; }

        /// <summary>
        /// Có xuất được hóa đơn VAT?
        /// </summary>
        public bool CanProvideVatInvoice { get; set; }

        /// <summary>
        /// Ghi chú hợp đồng / pháp lý
        /// </summary>
        [MaxLength(4000)]
        public string? LegalNote { get; set; }

        #region Navigation Properties

        public virtual Premise Premise { get; set; } = null!;

        #endregion
    }
}
