namespace Gremlin_BlazorServer.Data.EntityClasses { public class Contact : IMetadata { //primary key: public uint ContactId { get; set; } //foreign keys: public uint AccountId { get; set; } //navigation properties: public Account Account { get; set; } = new(); public IList Quotes { get; set; } = new List(); //class properties: public string AcademicTitle { get; set; } = string.Empty; public string FirstName { get; set; } = string.Empty; public string LastName { get; set; } = string.Empty; public byte Gender { get; set; } public bool OptInStatus { get; set; } public string Department { get; set; } = string.Empty; public string Function { get; set; } = string.Empty; public string Room { get; set; } = string.Empty; public bool IsReference { get; set; } public string Notes { get; set; } = string.Empty; public string PhoneNumber { get; set; } = string.Empty; public string MobileNumber { get; set; } = string.Empty; public string EMail { get; set; } = string.Empty; public string PreferredContactMethod { get; set; } = string.Empty; public bool NoPhoneCalls { get; set; } public bool EmailBounced { get; set; } public bool NoHardcopyMailing { get; set; } public bool ValidatedContact { get; set; } //Agilent-specific Properties: public int SapContactNumber { get; set; } public DateTime SapContactCreationDate { get; set; } public DateTime SapContactModifiedDate { get; set; } public string SapJobFunction { get; set; } = string.Empty; public string SapProductInterest { get; set; } = string.Empty; public string SapApplicationInterest { get; set; } = string.Empty; public string SapJobLevel { get; set; } = string.Empty; public string SapCompetitiveIBase { get; set; } = string.Empty; //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; } = "Active"; } }