Files
thinkyu/報到系統客戶端/Data/Models/LocalSignUpModel.cs
T
sryang 577060bc78 chore: 首次簽入 Thinkyu ASP.NET 專案
- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
2026-09-10 09:42:37 +08:00

121 lines
3.6 KiB
C#

using System;
using Newtonsoft.Json;
namespace 報到系統客戶端.Data.Models
{
/// <summary>
/// 本地 SignUps 表資料項目
/// 對應後端 DAC_SignUp1.cs 的 SignUpItem
/// </summary>
public class LocalSignUpItem
{
[JsonProperty("ID")]
public int ID { get; set; }
[JsonProperty("CourseID")]
public int CourseID { get; set; }
[JsonProperty("SeqNo")]
public int SeqNo { get; set; }
[JsonProperty("Name")]
public string Name { get; set; }
[JsonProperty("Mobile")]
public string Mobile { get; set; }
[JsonProperty("QRCode")]
public string QRCode { get; set; }
[JsonProperty("SignUpType")]
public string SignUpType { get; set; }
[JsonProperty("IDNumber")]
public string IDNumber { get; set; }
[JsonProperty("IDType")]
public string IDType { get; set; }
[JsonProperty("MealType")]
public string MealType { get; set; }
[JsonProperty("Email")]
public string Email { get; set; }
[JsonProperty("LossJobTimes")]
public int? LossJobTimes { get; set; }
[JsonProperty("Gender")]
public string Gender { get; set; }
[JsonProperty("AgreementStatus")]
public string AgreementStatus { get; set; }
[JsonProperty("CheckInTime")]
public string CheckInTime { get; set; }
[JsonProperty("CheckOutTime")]
public string CheckOutTime { get; set; }
[JsonProperty("CreatedAt")]
public DateTime CreatedAt { get; set; }
[JsonProperty("UpdatedAt")]
public DateTime UpdatedAt { get; set; }
/// <summary>
/// 轉換為後端 API 使用的模型
/// </summary>
public static 報到系統客戶端.Models.SignUpItem ConvertToApiModel(LocalSignUpItem local)
{
if (local == null) return null;
return new 報到系統客戶端.Models.SignUpItem
{
ID = local.ID,
CourseID = local.CourseID,
Name = local.Name,
Mobile = local.Mobile,
QRCode = local.QRCode,
SignUpType = local.SignUpType,
Email = local.Email,
LossJobTimes = local.LossJobTimes,
Gender = local.Gender,
AgreementStatus = local.AgreementStatus,
CheckInTime = local.CheckInTime,
CheckOutTime = local.CheckOutTime
};
}
/// <summary>
/// 從後端 API 模型轉換
/// </summary>
public static LocalSignUpItem ConvertFromApiModel(報到系統客戶端.Models.SignUpItem apiModel)
{
if (apiModel == null) return null;
return new LocalSignUpItem
{
ID = apiModel.ID,
CourseID = apiModel.CourseID,
SeqNo = apiModel.SeqNo,
Name = apiModel.Name,
Mobile = apiModel.Mobile,
QRCode = apiModel.QRCode,
SignUpType = apiModel.SignUpType,
IDNumber = apiModel.IDNumber,
IDType = apiModel.IDType,
MealType = apiModel.MealType,
Email = apiModel.Email,
LossJobTimes = apiModel.LossJobTimes,
Gender = apiModel.Gender,
AgreementStatus = apiModel.AgreementStatus,
CheckInTime = apiModel.CheckInTime,
CheckOutTime = apiModel.CheckOutTime,
CreatedAt = DateTime.Now,
UpdatedAt = DateTime.Now
};
}
}
}