Files
CMS/src/CMSMicroservice.Domain/Entities/Payment/ManualPayment.cs
T
masoodafar-web f0f48118e7 Add validators and services for Product Galleries and Product Tags
- Implemented Create, Delete, Get, and Update validators for Product Galleries.
- Added Create, Delete, Get, and Update validators for Product Tags.
- Created service classes for handling Discount Categories, Discount Orders, Discount Products, Discount Shopping Cart, Product Categories, Product Galleries, and Product Tags.
- Each service class integrates with CQRS for command and query handling.
- Established mapping profiles for Product Galleries.
2025-12-04 02:40:49 +03:30

76 lines
2.1 KiB
C#

using CMSMicroservice.Domain.Enums;
namespace CMSMicroservice.Domain.Entities.Payment;
/// <summary>
/// پرداخت دستی توسط Admin/SuperAdmin
/// برای موارد خاص: واریز نقدی، تسویه حساب، اصلاح خطا
/// </summary>
public class ManualPayment : BaseAuditableEntity
{
/// <summary>
/// شناسه کاربری که پرداخت برای او ثبت می‌شود
/// </summary>
public long UserId { get; set; }
/// <summary>
/// User Navigation Property
/// </summary>
public virtual User User { get; set; } = null!;
/// <summary>
/// مبلغ تراکنش (ریال)
/// </summary>
public long Amount { 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 ManualPaymentStatus Status { get; set; } = ManualPaymentStatus.Pending;
/// <summary>
/// شناسه Admin که درخواست را ثبت کرده
/// </summary>
public long RequestedBy { get; set; }
/// <summary>
/// شناسه SuperAdmin که تایید/رد کرده (nullable)
/// </summary>
public long? ApprovedBy { get; set; }
/// <summary>
/// تاریخ تایید/رد
/// </summary>
public DateTime? ApprovedAt { get; set; }
/// <summary>
/// دلیل رد (در صورت رد شدن)
/// </summary>
public string? RejectionReason { get; set; }
/// <summary>
/// شناسه تراکنش ایجاد شده (بعد از تایید)
/// </summary>
public long? TransactionId { get; set; }
/// <summary>
/// Transaction Navigation Property
/// </summary>
public virtual Transaction? Transaction { get; set; }
}