namespace Gremlin_BlazorServer.Data.EntityClasses; public class Product : IMetadata { //primary key: public uint ProductId { get; set; } //navigation properties: public ProductLine? ProductLine { get; set; } public List? LineItems { get; set; } public CustomDescription? CustomDescription { get; set; } //foreign keys public string ProductLineCode { get; set; } = string.Empty; public uint CustomDescriptionId { get; set; } //Agilent-specific properties: public string? ProductNumber { get; set; } public string? OptionNumber { get; set; } public string? SapShortDescription { get; set; } public string? SapLongDescription { get; set; } public float? Weight { get; set; } public string? ProductStatus { get; set; } public DateTime IntroductionDate { get; set; } = DateTime.Now; public decimal? ListPrice { get; set; } public bool? HasBreakPrices { get; set; } public int? BreakRangeFrom { get; set; } public int? BreakRangeTo { get; set; } //metadata: public DateTime DataCreationDate { get; set; } = DateTime.Now; public DateTime DataModificationDate { get; set; } = DateTime.Now; public DateTime DataValidFrom { get; set; } = DateTime.Now; public DateTime DataValidUntil { get; set; } = DateTime.MaxValue; public string DataModificationByUser { get; set; } = "Gremlin_BlazorServer"; public uint DataVersionNumber { get; set; } public string? DataVersionComment { get; set; } public string DataStatus { get; set; } = "Active"; }