using Lada.Framework.DTO;
using Lada.Framework.Data.Enums;

namespace Ladaer.BackEnd.Infrastructures.DTO.Items.Finances
{
    public class ExpenseHistoryItem : BaseItem<int>
    {
        /// <summary>
        /// ID của chi phí
        /// </summary>
        public Guid ExpenseId { get; set; }

        /// <summary>
        /// Trạng thái trước khi thay đổi (null nếu là tạo mới)
        /// </summary>
        public ExpenseStatus? OldStatus { get; set; }

        /// <summary>
        /// Tên trạng thái cũ (hiển thị)
        /// </summary>
        public string OldStatusDisplay { get; set; } = "";

        /// <summary>
        /// Trạng thái sau khi thay đổi
        /// </summary>
        public ExpenseStatus NewStatus { get; set; }

        /// <summary>
        /// Tên trạng thái mới (hiển thị)
        /// </summary>
        public string NewStatusDisplay { get; set; } = "";

        /// <summary>
        /// Tên người thực hiện hành động
        /// </summary>
        public string ActionByUserName { get; set; } = string.Empty;

        /// <summary>
        /// Lý do từ chối (nếu có)
        /// </summary>
        public string? Reason { get; set; }

        /// <summary>
        /// Ghi chú
        /// </summary>
        public string? Note { get; set; }
    }
}