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

namespace Lada.Framework.Data.Domains.Crm
{
    /// <summary>
    /// Thông tin tài khoản ngân hàng của khách hàng
    /// </summary>
    public class CustomerBankAccount : BaseEntityWithKey<int>
    {
        /// <summary>
        /// ID khách hàng
        /// </summary>
        public int CustomerId { get; set; }
        public virtual Customer Customer { get; set; }

        /// <summary>
        /// Số tài khoản
        /// </summary>
        [MaxLength(64)]
        public string AccountNumber { get; set; } = string.Empty;

        /// <summary>
        /// Tên chủ tài khoản
        /// </summary>
        [MaxLength(256)]
        public string AccountHolderName { get; set; } = string.Empty;

        /// <summary>
        /// Mã ngân hàng (VCB, TCB, VTB, etc.)
        /// </summary>
        [MaxLength(16)]
        public string BankCode { get; set; } = string.Empty;

        /// <summary>
        /// Tên ngân hàng
        /// </summary>
        [MaxLength(256)]
        public string BankName { get; set; } = string.Empty;

        /// <summary>
        /// Tên chi nhánh ngân hàng
        /// </summary>
        [MaxLength(256)]
        public string BranchName { get; set; } = string.Empty;

        /// <summary>
        /// Địa chỉ chi nhánh
        /// </summary>
        [MaxLength(512)]
        public string BranchAddress { get; set; } = string.Empty;

        /// <summary>
        /// Có phải tài khoản mặc định không
        /// </summary>
        public bool IsDefault { get; set; } = false;

        /// <summary>
        /// Ghi chú
        /// </summary>
        [MaxLength(512)]
        public string Note { get; set; } = string.Empty;


    }


}
