Files
CMS/src/CMSMicroservice.Application/ManualPaymentCQ/Commands/CreateManualPayment/CreateManualPaymentCommand.cs
T
masoodafar-web 0e9d0cad2f
Build and Deploy to Kubernetes / build-and-deploy (push) Failing after 7m23s
feat: manual payment package-based + StockMovement constraint fix
- ManualPayment: add package_id to proto, handler selects package by ID
- ManualPayment: remove manual amount input, use package price
- ManualPayment: validator now checks PackageId instead of Amount
- StockMovement: fix CHECK constraint (store negative qty for decreases)
- StockMovement: Reserved/Released don't change physical Quantity
- Proto NuGet bumped to 0.0.192
2026-03-11 23:44:28 +03:30

51 lines
1.5 KiB
C#

using CMSMicroservice.Domain.Enums;
using MediatR;
namespace CMSMicroservice.Application.ManualPaymentCQ.Commands.CreateManualPayment;
/// <summary>
/// دستور ثبت پرداخت دستی توسط Admin
/// </summary>
public class CreateManualPaymentCommand : IRequest<long>
{
/// <summary>
/// شناسه کاربری که پرداخت برای او ثبت می‌شود
/// </summary>
public long UserId { get; set; }
/// <summary>
/// مبلغ تراکنش (تومان) — [DEPRECATED] مبلغ از پکیج خوانده می‌شود
/// </summary>
public long Amount { get; set; }
/// <summary>
/// شناسه پکیج — اگر 0 باشد، پکیج پایه استفاده می‌شود
/// </summary>
public long PackageId { get; set; }
/// <summary>
/// نوع تراکنش دستی
/// </summary>
public ManualPaymentType Type { get; set; }
/// <summary>
/// توضیحات (اجباری)
/// </summary>
public string Description { get; set; } = string.Empty;
/// <summary>
/// شماره مرجع یا شماره فیش (اختیاری)
/// </summary>
public string? ReferenceNumber { get; set; }
/// <summary>
/// مسیر تصویر فیش واریزی (اختیاری)
/// </summary>
public string? ImagePath { get; set; }
/// <summary>
/// شناسه سند در FMS (اختیاری)
/// </summary>
public long? ImageDocumentId { get; set; }
}