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

namespace Lada.Framework.Data.Domains.Crm
{
    /// <summary>
    /// Thông tin xuất hóa đơn VAT của khách hàng
    /// </summary>
    public class VatInfo : BaseEntityWithKey<int>
    {
        /// <summary>
        /// ID khách hàng
        /// </summary>
        [Required]
        public int CustomerId { get; set; }

        /// <summary>
        /// Mã số thuế
        /// </summary>
        [StringLength(20)]
        public string TaxCode { get; set; }


        /// <summary>
        /// Tên công ty/cá nhân
        /// </summary>
        [Required]
        [StringLength(200)]
        public string CompanyName { get; set; }

        /// <summary>
        /// Địa chỉ
        /// </summary>
        [Required]
        [StringLength(500)]
        public string Address { get; set; }

        /// <summary>
        /// Email nhận hóa đơn
        /// </summary>
        [Required]
        [StringLength(100)]
        [EmailAddress]
        public string InvoiceEmail { get; set; }



        /// <summary>
        /// Người liên hệ
        /// </summary>
        [Required]
        [StringLength(100)]
        public string ContactName { get; set; }

        /// <summary>
        /// Điện thoại
        /// </summary>
        [Required]
        [StringLength(20)]
        public string ContactPhone { get; set; }

        /// <summary>
        /// Ghi chú
        /// </summary>
        [StringLength(1000)]
        public string Note { get; set; }


        /// <summary>
        /// Mặc định (chỉ có 1 record mặc định cho mỗi khách hàng)
        /// </summary>
        public bool IsDefault { get; set; } = false;



        // Navigation properties
        public virtual Customer Customer { get; set; }
    }
}