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

namespace Lada.Framework.Data.Domains.Crm
{
    public class CustomerAddress:BaseEntityWithKey<int>
    {

        [MaxLength(512)]
        public string Address { get; set; }

        /// <summary>
        /// Địa chỉ đầy đủ bao gồm:
        /// Địa chỉ + Tên tỉnh/thành phố + Tên Quận/huyện + Tên phường/xã
        /// </summary>
        [MaxLength(1024)]
        public string FullAddress { get; set; }
        public int CityId { get; set; }
        public int DistrictId { get; set; }
        public int WardId { get; set; }

        [MaxLength(64)]
        public string ContactPhoneNumber { get; set; }

        [MaxLength(256)]
        public string ContactName { get; set; }


        #region Định vị
        /// <summary>
        /// Latitude của địa chỉ
        /// </summary>
        public double Lat { get; set; }

        /// <summary>
        /// Longitude của địa chỉ
        /// </summary>
        public double Long { get; set; }
        #endregion

        /// <summary>
        /// Loại địa chỉ
        /// </summary>
        public AddressType AddressType { get; set; }

        /// <summary>
        /// Ghi chú cho địa chỉ này:
        /// Ví dụ: phải biết số lái xe trước, liên hệ trước 30',...
        /// </summary>
        public string Note { get; set; }

        #region Khách hàng
        public int CustomerId { get; set; }
        public virtual Customer Customer { get; set; }
        #endregion

        /// <summary>
        /// Là địa chỉ mặc định
        /// </summary>
        public bool IsDefault { get; set; }
    }
}
