Gremlin/Gremlin_BlazorServer/Data/EntityClasses/Contact.cs

56 lines
2.0 KiB
C#

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; }
public IList<Quote>? Quotes { get; set; }
//class properties:
public string? AcademicTitle { get; set; }
public string? FirstName { get; set; }
public string? LastName { get; set; }
public byte Gender { get; set; }
public bool? OptInStatus { get; set; }
public string? Department { get; set; }
public string? Function { get; set; }
public string? Room { get; set; }
public bool? IsReference { get; set; }
public string? Notes { get; set; }
public string? PhoneNumber { get; set; }
public string? MobileNumber { get; set; }
public string? EMail { get; set; }
public string? PreferredContactMethod { get; set; }
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; }
public string? SAPProductInterest { get; set; }
public string? SAPApplicationInterest { get; set; }
public string? SAPJobLevel { get; set; }
public string? SAPCompetitiveIBase { 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; }
public uint DataVersionNumber { get; set; }
public string? DataVersionComment { get; set; }
public string? DataStatus { get; set; } = "Active";
}
}