using CMSMicroservice.Domain.Common;

namespace CMSMicroservice.Domain.Entities.Order;

/// <summary>
/// مالیات بر ارزش افزوده (VAT) سفارش
/// محاسبه و ثبت مالیات ۹٪ برای سفارشات
/// </summary>
public class OrderVAT : BaseAuditableEntity
{
    /// <summary>
    /// شناسه سفارش
    /// </summary>
    public long OrderId { get; set; }

    /// <summary>
    /// UserOrder Navigation Property
    /// </summary>
    public virtual UserOrder Order { get; set; } = null!;

    /// <summary>
    /// نرخ مالیات (معمولاً ۹٪ = 0.09)
    /// </summary>
    public decimal VATRate { get; set; }

    /// <summary>
    /// مبلغ پایه (قبل از مالیات)
    /// </summary>
    public long BaseAmount { get; set; }

    /// <summary>
    /// مبلغ مالیات محاسبه شده
    /// </summary>
    public long VATAmount { get; set; }

    /// <summary>
    /// مبلغ کل (پایه + مالیات)
    /// </summary>
    public long TotalAmount { get; set; }

    /// <summary>
    /// آیا مالیات پرداخت شده است
    /// </summary>
    public bool IsPaid { get; set; }

    /// <summary>
    /// تاریخ پرداخت مالیات
    /// </summary>
    public DateTime? PaidAt { get; set; }

    /// <summary>
    /// یادداشت (اختیاری)
    /// </summary>
    public string? Note { get; set; }
}
