first commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace Fitness_core_BE.Models
|
||||
{
|
||||
// A fingerprint enrolled directly on the physical access-control terminal (by gym
|
||||
// staff, outside our system) that has no matching CustomerAccess yet. Surfaced by
|
||||
// attendance ingestion (AgentService.IngestAttendanceAsync) whenever an incoming
|
||||
// employeeNo/DeviceUserId has no CustomerAccess mapping for that device, so the
|
||||
// client portal can offer it in a dropdown to link to a system Customer.
|
||||
public class UnlinkedDeviceEnrollment
|
||||
{
|
||||
[Key]
|
||||
public Guid Id { get; set; }
|
||||
|
||||
public Guid FKDeviceId { get; set; }
|
||||
[ForeignKey("FKDeviceId")]
|
||||
public virtual AccessDevice AccessDevice { get; set; }
|
||||
|
||||
public int DeviceUserId { get; set; }
|
||||
[MaxLength(32)]
|
||||
public string DeviceEmployeeNo { get; set; } = string.Empty;
|
||||
public string? DeviceReportedName { get; set; }
|
||||
[MaxLength(20)]
|
||||
public string? DeviceUserType { get; set; }
|
||||
public int FingerprintCount { get; set; }
|
||||
|
||||
public DateTime DiscoveredAt { get; set; } = DateTime.UtcNow;
|
||||
public DateTime LastSeenAt { get; set; } = DateTime.UtcNow;
|
||||
public DateTime? LinkedAt { get; set; }
|
||||
|
||||
public long? FKAccessProfileId { get; set; }
|
||||
[ForeignKey(nameof(FKAccessProfileId))]
|
||||
public virtual AccessProfile? AccessProfile { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user