using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using eprintServer.Enums; using System.Text.Json.Serialization; namespace eprintServer.Entities; public enum PaymentStatus { Submitted, Paid, Unpaid, CANCELLED } public class PaymentModel { [Key] public long Id { get; set; } [Column("order_id")] public long OrderId { get; set; } [JsonIgnore] [ForeignKey(nameof(OrderId))] public Order Order { get; set; } [Column("amount")] public decimal Amount { get; set; } [Column("discount")] public decimal Discount { get; set; } [Column("currency")] public string Currency { get; set; } = "USD"; [Column("status")] public PaymentStatus Status { get; set; } = PaymentStatus.Submitted; [Column("created_at")] public DateTime CreatedAt { get; set; } = DateTime.UtcNow; }