using Lada.Framework.Data.Domains.Orders;
using Lada.Framework.DTO;
using Ladaer.BackEnd.Infrastructures.DTO.Items.Medias;

namespace Ladaer.BackEnd.Infrastructures.DTO.Items.Orders
{
    public class OrderItem : BaseItem<int>
    {
        /// <summary>
        /// Mã vận đơn
        /// </summary>
        public string Code { get; set; }
        /// <summary>
        /// Mã đối tác
        /// </summary>
        public string PartnerCode { get; set; }

        public string ProductName { get; set; }

        /// <summary>
        /// Ghi chú đơn hàng
        /// </summary>
        public string Note { get; set; }

        #region Khách hàng
        /// <summary>
        /// Đơn hàng của khách hàng nào
        /// </summary>
        public int CustomerId { get; set; }
        #endregion

        #region Sale
        /// <summary>
        /// Đơn hàng của sale nào
        /// </summary>
        public int SaleId { get; set; }
        public string SaleUserName { get; set; }
        #endregion

        /// <summary>
        /// Tuyến
        /// </summary>
        public string RouteName { get; set; }

        public OrderOpsItem OrderOps { get; set; }
        public OrderFinItem OrderFin { get; set; }
        public List<OrderAddressItem> Addresses { get; set; }
        public List<OrderPackageItem> Packages { get; set; }

        /// <summary>
        /// Danh sách ảnh của đơn hàng
        /// </summary>
        public List<MediaItem> MediaItems { get; set; }

        /// <summary>
        /// Thông tin thời gian (tạm thời để lưu dữ liệu cho xuất Excel)
        /// </summary>
        public OrderTimeTrack? TimeTrack { get; set; }
    }
}
