using CMSMicroservice.Application.Common.Models;
using CMSMicroservice.Domain.Enums;

namespace CMSMicroservice.Application.ManualPaymentCQ.Queries.GetAllManualPayments;

public class GetAllManualPaymentsResponseDto
{
    public MetaData? MetaData { get; set; }
    public List<ManualPaymentDto>? Models { get; set; }
}

public class ManualPaymentDto
{
    public long Id { get; set; }
    public long UserId { get; set; }
    public string UserFullName { get; set; } = string.Empty;
    public string UserMobile { get; set; } = string.Empty;
    public long Amount { get; set; }
    public ManualPaymentType Type { get; set; }
    public string TypeDisplay { get; set; } = string.Empty;
    public string Description { get; set; } = string.Empty;
    public string? ReferenceNumber { get; set; }
    public ManualPaymentStatus Status { get; set; }
    public string StatusDisplay { get; set; } = string.Empty;
    public long RequestedBy { get; set; }
    public string RequestedByName { get; set; } = string.Empty;
    public long? ApprovedBy { get; set; }
    public string? ApprovedByName { get; set; }
    public DateTime? ApprovedAt { get; set; }
    public string? RejectionReason { get; set; }
    public long? TransactionId { get; set; }
    public DateTime Created { get; set; }
    public string? PackageName { get; set; }
}
