using DataAnnotationsExtensions;
using Lada.Framework.DTO;

namespace Ladaer.BackEnd.Infrastructures.DTO.Models.Orders
{
    public class OrderModel : BaseModel<int>
    {
        #region New OrderModel Fields

        #region Khách hàng
        /// <summary>
        /// Đơn hàng của khách hàng nào
        /// </summary>
        [Min(1, ErrorMessage = "Vui lòng chọn khách hàng")]
        public int CustomerId { get; set; }
        #endregion

        #region Địa chỉ
        /// <summary>
        /// Địa chỉ nguồn
        /// </summary>
        public OrderAddressModel SourceAddress { get; set; }

        /// <summary>
        /// Địa chỉ đích
        /// </summary>
        public OrderAddressModel DestAddress { get; set; }
        #endregion



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


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

        public List<OrderPackageModel> Packages { get; set; }

        public OrderFinModel OrderFin { get; set; }

        #region VAT Information
        /// <summary>
        /// Có xuất hóa đơn VAT không
        /// </summary>
        public bool IsVatRequired { get; set; } = false;

        /// <summary>
        /// ID thông tin xuất hóa đơn VAT (bắt buộc nếu IsVatRequired = true)
        /// </summary>
        public int? VatInfoId { get; set; }
        #endregion

        #endregion


        /// <summary>
        /// Mã đối tác
        /// </summary>
        public string PartnerCode { get; set; } = "";


    }
}
