
namespace Ladaer.BackEnd.Infrastructures.DTO.Results.Finance
{
    /// <summary>
    /// Kết quả trả về từ stored procedure SP_GetTransferableOrdersByCustomer
    /// </summary>
    public class TransferableOrderResult
    {
        /// <summary>
        /// ID đơn hàng
        /// </summary>
        public int OrderId { get; set; }

        /// <summary>
        /// Mã đơn hàng
        /// </summary>
        public string OrderCode { get; set; } = string.Empty;

        /// <summary>
        /// Ngày tạo đơn hàng
        /// </summary>
        public DateTimeOffset? OrderCreatedTime { get; set; }

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

        /// <summary>
        /// Số tiền TransferFee của đơn hàng
        /// </summary>
        public decimal TransferFeeAmount { get; set; }

        /// <summary>
        /// Loại thanh toán phí
        /// </summary>
        public int PayFeeType { get; set; }

        /// <summary>
        /// Giai đoạn hiện tại của TransferFee
        /// </summary>
        public int TransferFeeStage { get; set; }

        /// <summary>
        /// Tên người gửi
        /// </summary>
        public string SenderName { get; set; } = string.Empty;

        /// <summary>
        /// Địa chỉ người gửi
        /// </summary>
        public string SenderAddress { get; set; } = string.Empty;

        /// <summary>
        /// Số điện thoại người gửi
        /// </summary>
        public string SenderPhone { get; set; } = string.Empty;

        /// <summary>
        /// Tên người nhận
        /// </summary>
        public string ReceiverName { get; set; } = string.Empty;

        /// <summary>
        /// Địa chỉ người nhận
        /// </summary>
        public string ReceiverAddress { get; set; } = string.Empty;

        /// <summary>
        /// Số điện thoại người nhận
        /// </summary>
        public string ReceiverPhone { get; set; } = string.Empty;

        /// <summary>
        /// Trạng thái đơn hàng
        /// </summary>
        public int Status { get; set; }

        /// <summary>
        /// Trạng thái vật lý đơn hàng
        /// </summary>
        public int PhysicalStatus { get; set; }

        /// <summary>
        /// Tên đầy đủ khách hàng
        /// </summary>
        public string CustomerFullName { get; set; } = string.Empty;

        /// <summary>
        /// Số điện thoại khách hàng
        /// </summary>
        public string CustomerPhone { get; set; } = string.Empty;

        /// <summary>
        /// Email khách hàng
        /// </summary>
        public string CustomerEmail { get; set; } = string.Empty;

        /// <summary>
        /// Địa chỉ khách hàng
        /// </summary>
        public string CustomerAddress { get; set; } = string.Empty;

        /// <summary>
        /// Username khách hàng
        /// </summary>
        public string CustomerUserName { get; set; } = string.Empty;

        /// <summary>
        /// Thông tin sản phẩm (gộp các package thành chuỗi)
        /// </summary>
        public string ProductInfo { get; set; } = string.Empty;
    }
}