Utopia-Canteen-System/Models/ScanRecord.cs

38 lines
2.1 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 document id (employee.id) at scan time; used to load photo from hrms.employee_photo.</summary>
public string ParentDocumentId { 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; }
}