using Lada.Framework.DTO.SmartTable;
using Ladaer.BackEnd.Infrastructures.DTO.Items.Finances;

namespace Ladaer.BackEnd.Infrastructures.DTO.Results.Finances
{
    /// <summary>
    /// Kết quả tìm kiếm giao dịch với thông tin tổng thu và tổng chi
    /// </summary>
    public class TransactionSearchResult : SmartTableResult<TransactionItem>
    {
        /// <summary>
        /// Tổng số tiền thu (Income)
        /// </summary>
        public decimal TotalIncome { get; set; }

        /// <summary>
        /// Tổng số tiền chi (Outcome)
        /// </summary>
        public decimal TotalOutcome { get; set; }

        /// <summary>
        /// Số dư thực tế (TotalIncome - TotalOutcome)
        /// </summary>
        public decimal NetBalance => TotalIncome - TotalOutcome;

        /// <summary>
        /// Tổng tiền mặt
        /// </summary>
        public decimal TotalCash { get; set; }

        /// <summary>
        /// Tổng tiền chuyển khoản
        /// </summary>
        public decimal TotalTransfer { get; set; }

        /// <summary>
        /// Lịch sử số dư theo ngày trong khoảng thời gian search
        /// </summary>
        public List<DailyBalanceHistory> DailyBalanceHistory { get; set; } = new List<DailyBalanceHistory>();
    }
}
