36 lines
1.9 KiB
C#
36 lines
1.9 KiB
C#
namespace UtopiaCanteenSystem.Models;
|
|
|
|
/// <summary>
|
|
/// Represents a single RFID scan event. Used for local storage and sync.
|
|
/// </summary>
|
|
public class ScanRecord
|
|
{
|
|
public int Id { get; set; }
|
|
/// <summary>RFID card identifier at time of scan.</summary>
|
|
public string CardId { get; set; } = string.Empty;
|
|
/// <summary>UTC time when the scan occurred.</summary>
|
|
public DateTime ScanTime { get; set; }
|
|
/// <summary>True after record has been successfully sent / synced.</summary>
|
|
public bool IsSynced { get; set; }
|
|
/// <summary>Site identifier where the scan occurred (2-digit string, e.g. "02").</summary>
|
|
public string SiteId { get; set; } = string.Empty;
|
|
/// <summary>Stable device identifier that generated the scan (from config).</summary>
|
|
public string DeviceId { get; set; } = string.Empty;
|
|
/// <summary>IP address of the device at scan time.</summary>
|
|
public string IpAddress { get; set; } = string.Empty;
|
|
/// <summary>HRMS employee ID (serial_number) at scan time, when lookup succeeded.</summary>
|
|
public string EmployeeId { get; set; } = string.Empty;
|
|
/// <summary>Full name (first + middle) from HRMS at scan time, when lookup succeeded.</summary>
|
|
public string EmployeeName { get; set; } = string.Empty;
|
|
/// <summary>HRMS department title at scan time.</summary>
|
|
public string Department { get; set; } = string.Empty;
|
|
/// <summary>HRMS department type at scan time.</summary>
|
|
public string DepartmentType { get; set; } = string.Empty;
|
|
/// <summary>Meal/session label at scan time (e.g. Breakfast/Lunch/Tea/Dinner).</summary>
|
|
public string MealLabel { get; set; } = string.Empty;
|
|
/// <summary>Menu items string for this scan's meal (e.g. "Biryani + Nihari").</summary>
|
|
public string MealItems { get; set; } = string.Empty;
|
|
/// <summary>Total price for this scan's meal menu.</summary>
|
|
public double TotalPrice { get; set; }
|
|
}
|