using Lada.Framework.Data.Domains.Categories;
using Lada.Framework.Infrastructures.Helpers;
using System.ComponentModel.DataAnnotations;

namespace Ladaer.BackEnd.Infrastructures.DTO.Items.Categories
{
    public class AgencyItem
    {
        public int Id { get; set; }

        /// <summary>
        /// Mã đại lý
        /// </summary>
        [MaxLength(16)]
        public string Code { get; set; }

        /// <summary>
        /// Tên chi nhánh
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// Mô tả chi nhánh
        /// </summary>
        public string Description { get; set; }

        public string City { get; set; }
        public int CityId { get; set; }
        public string District { get; set; }
        public int DistrictId { get; set; }
        public string Ward { get; set; }
        public int WardId { get; set; }
        public string Address { get; set; }

        /// <summary>
        /// Đại lý cha
        /// </summary>
        public int ParentId { get; set; }


        /// <summary>
        /// Người đại diện pháp lý (người của đại lý)
        /// Nếu là phòng ban của LADA thì giá trị là 0
        /// </summary>
        public int RepresentativeId { get; set; }

        public int ManagerId { get; set; }



        public int DisplayOrder { get; set; }
        public string CreatedBy { get; set; }
        public string UpdatedBy { get; set; }
        public string CreatedTime { get; set; }
        public string UpdatedTime { get; set; }


        /// <summary>
        /// Trạng thái Agency
        /// </summary>
        public AgencyStatus Status { get; set; }
        public string StatusName => Status.GetDescription();
        public AgencyType AgencyType { get; set; }
        public string AgencyTypeName => AgencyType.GetDescription();
    }
}
