using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using LittleShop.Enums; namespace LittleShop.Models; public class CryptoPayment { [Key] public Guid Id { get; set; } public Guid OrderId { get; set; } public CryptoCurrency Currency { get; set; } [Required] [StringLength(500)] public string WalletAddress { get; set; } = string.Empty; [Column(TypeName = "decimal(18,8)")] public decimal RequiredAmount { get; set; } [Column(TypeName = "decimal(18,8)")] public decimal PaidAmount { get; set; } = 0; public PaymentStatus Status { get; set; } = PaymentStatus.Pending; [StringLength(200)] public string? BTCPayInvoiceId { get; set; } [StringLength(200)] public string? TransactionHash { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime? PaidAt { get; set; } public DateTime ExpiresAt { get; set; } // Navigation properties public virtual Order Order { get; set; } = null!; }