using CMSMicroservice.Domain.Enums;

namespace CMSMicroservice.Application.UserOrderCQ.Commands.UpdateOrderStatus;

/// <summary>
/// تغییر وضعیت سفارش
/// </summary>
public record UpdateOrderStatusCommand : IRequest<UpdateOrderStatusResponseDto>
{
    /// <summary>
    /// شناسه سفارش
    /// </summary>
    public long OrderId { get; init; }

    /// <summary>
    /// وضعیت تحویل جدید
    /// </summary>
    public DeliveryStatus NewStatus { get; init; }

    /// <summary>
    /// توضیحات (اختیاری)
    /// </summary>
    public string? Description { get; init; }
}

/// <summary>
/// پاسخ تغییر وضعیت سفارش
/// </summary>
public class UpdateOrderStatusResponseDto
{
    public bool Success { get; set; }
    public string Message { get; set; } = string.Empty;
    public DeliveryStatus CurrentStatus { get; set; }
}
