using GrossesMitainesAPI.Data; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace GrossesMitainesAPI.Models; public class InvoiceModel { public enum InStates { Confirmed, Cancelled, Preparing, Shipping, Shipped, Returned, Pending } public class ProductInvoice { [Key] public int Id { get; set; } public ProductModel Product { get; set; } public uint Quantity { get; set; } } [Key] public int Id { get; set; } [Required, MinLength(2), MaxLength(30)] public string FirstName { get; set; } [Required, MinLength(1), MaxLength(30)] public string LastName { get; set; } [Required, Phone] public string PhoneNumber { get; set; } [Required, EmailAddress] public string EmailAddress { get; set; } public InventoryUser? LinkedAccount { get; set; } public DateTime PurchaseDate { get; set; } = DateTime.Now; [Required] public List Products { get; set; } [Required] public AddressModel ShippingAddress { get; set; } public InStates Status { get; set; } = InStates.Confirmed; public InvoiceModel() { } public InvoiceModel(SendInvoiceModel sinv) { FirstName = sinv.FirstName; LastName = sinv.LastName; PhoneNumber = sinv.PhoneNumber; EmailAddress = sinv.EmailAddress; } }