using BMA.EHR.Domain.Models.Base; using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; namespace BMA.EHR.Domain.Models.Leave.TimeAttendants { public class UserTimeStamp : EntityBase { [Required, Comment("รหัส User ของ Keycloak")] public Guid KeycloakUserId { get; set; } = Guid.Empty; [Required, Comment("วัน เวลา เข้างาน")] public DateTime CheckIn { get; set; } = DateTime.MinValue; [Comment("วัน เวลา ออกงาน")] public DateTime? CheckOut { get; set; } [Required, Comment("นำไปประมวลผลแล้วหรือยัง")] public bool IsProcess { get; set; } = false; [Required, Comment("พิกัดละติจูด")] public double Lat { get; set; } = 0; [Required, Comment("พิกัดลองจิจูด")] public double Lon { get; set; } = 0; [Required, Comment("ชื่อสถานที่ ได้มาจากระบบ ArcGis ของกองสารสนเทศภูมิศาสตร์")] public string POI { get; set; } = string.Empty; [Required, Comment("true คือ ณ สถานที่ตั้ง, false คือ นอกสถานที่ตั้ง")] public bool IsLocation { get; set; } = true; [Comment("กรณีเลือกนอกสถานที่ตั้ง ต้องระบุข้อมูลชื่อสถานะที่")] public string? LocationName { get; set; } = string.Empty; [Required, Comment("รูปถ่ายสถานที่ checkin/checkout")] public string ImageUrl { get; set; } = string.Empty; [Comment("ข้อความหมายเหตุที่ต้องการระบุเพิ่ม(มีเผื่อไว้อาจไม่ได้ใช้)")] public string? Remark { get; set; } = string.Empty; } }