using MediatR;

namespace CMSMicroservice.Application.PackageCQ.Commands.InitiateBasePackagePayment;

/// <summary>
/// ثبت اولیه تراکنش و سفارش پکیج پایه (56 میلیون تومان)
/// این Command توسط BFF فراخوانی می‌شود قبل از ارسال کاربر به درگاه
/// </summary>
public record InitiateBasePackagePaymentCommand : IRequest<InitiateBasePackagePaymentResponseDto>
{
    /// <summary>
    /// شناسه کاربر
    /// </summary>
    public long UserId { get; init; }
}

public class InitiateBasePackagePaymentResponseDto
{
    /// <summary>
    /// موفقیت عملیات
    /// </summary>
    public bool Success { get; set; }
    
    /// <summary>
    /// پیام
    /// </summary>
    public string Message { get; set; } = string.Empty;
    
    /// <summary>
    /// شناسه سفارش
    /// </summary>
    public long OrderId { get; set; }
    
    /// <summary>
    /// شناسه تراکنش CMS
    /// </summary>
    public long TransactionId { get; set; }
    
    /// <summary>
    /// مبلغ پکیج
    /// </summary>
    public long Amount { get; set; }
}
