namespace Gremlin_BlazorServer.Data.EntityClasses
{
	public class CustomDescription : IMetadata
	{
		//primary key:
		public uint CustomDescriptionId { get; set; }

		//foreign keys:
		//public uint ProductId { get; set; }
		public uint AccountId { get; set; }

		//navigation properties:
		public IList<Product> Products { get; set; } = new List<Product>();
		public Account Supplier { get; set; } = new();

		//class properties:
		public string ProductNumber { get; set; } = string.Empty;
		public string OptionNumber { get; set; } = string.Empty;
		public string Heading { get; set; } = string.Empty;
		public string DescriptionText { get; set; } = string.Empty;
		public string CoverletterText { get; set; } = string.Empty;
		public string Notes { get; set; } = string.Empty;    //Hinweise, Tipps, Caveats, etc. für Konfiguration, Verwendung, Best Practice usw.

		//Agilent-Specific properties:
		//NONE

		//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; } = string.Empty;
		public uint DataVersionNumber { get; set; }
		public string DataVersionComment { get; set; } = string.Empty;
		public string DataStatus { get; set; } = string.Empty;
	}
}
