using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using LittleShop.Enums; namespace LittleShop.Models; public class Order { [Key] public Guid Id { get; set; } [Required] [StringLength(100)] public string IdentityReference { get; set; } = string.Empty; public OrderStatus Status { get; set; } = OrderStatus.PendingPayment; [Column(TypeName = "decimal(18,2)")] public decimal TotalAmount { get; set; } [StringLength(10)] public string Currency { get; set; } = "GBP"; [StringLength(500)] public string? Notes { get; set; } [StringLength(100)] public string? TrackingNumber { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime? PaidAt { get; set; } public DateTime? ShippedAt { get; set; } // Navigation properties public virtual ICollection OrderItems { get; set; } = new List(); public virtual ICollection CryptoPayments { get; set; } = new List(); }