using Bp.Sync.Domain.Elastics.BaseEntities;

namespace Bp.Sync.Domain.Elastics.Inventories
{
    public class BranchElastic : ElasticBaseEntityWithKey<long>
    {
        /// <summary>
        /// Tên chi nhánh
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Địa chỉ
        /// </summary>
        public string Address { get; set; }

        /// <summary>
        /// Mã tỉnh / thành phố
        /// </summary>
        public int CityId { get; set; }

        /// <summary>
        /// Mã quận / huyện
        /// </summary>
        public int DistrictId { get; set; }

        /// <summary>
        /// Mã phường / xã
        /// </summary>
        public int WardId { get; set; }

        /// <summary>
        /// Số điện thoại
        /// </summary>
        public string Phone { get; set; }

        /// <summary>
        /// Email chi nhánh
        /// </summary>
        public string Email { get; set; }

        /// <summary>
        /// Giấy phép kinh doanh
        /// </summary>
        public string BusinessLicense { get; set; }

        /// <summary>
        /// Người chịu trách nhiệm: Tên
        /// </summary>
        public string ResponsiblePersonName { get; set; }

        /// <summary>
        /// Người chịu trách nhiệm: Số điện thoại
        /// </summary>
        public string ResponsiblePersonPhone { get; set; }

        /// <summary>
        /// Người chịu trách nhiệm: Email
        /// </summary>
        public string ResponsiblePersonEmail { get; set; }

        /// <summary>
        /// Người chịu trách nhiệm: CMTND / Thẻ căn cước
        /// </summary>
        public string ResponsiblePersonIdentityCard { get; set; }

        /// <summary>
        /// Trạng thái
        /// </summary>
        public Entities.Inventories.Branches.BranchStatus BranchStatus { get; set; }

        /// <summary>
        /// ID của chi nhánh cha
        /// </summary>
        public int ParentId { get; set; }

        /// <summary>
        /// Loại chi nhánh
        /// </summary>
        public Entities.Inventories.Branches.BranchType BranchType { get; set; }

        /// <summary>
        /// Hệ số chi nhánh
        /// </summary>
        public float Coefficient { get; set; }

        /// <summary>
        /// Mã cơ sở (liên thông)
        /// </summary>
        public string BranchCode { get; set; }

        /// <summary>
        /// Tài khoản kết nối (liên thông)
        /// </summary>
        public string UserName { get; set; }

        /// <summary>
        /// Mật khẩu tài khoản kết nối (liên thông)
        /// </summary>
        public string Password { get; set; }

        /// <summary>
        /// Ngày dự kiến xuất hàng đến
        /// </summary>
        public string ExpectedOutboundDates { get; set; }

        public bool IsAutoSyncDav { get; set; } = false;
    }
}