108 lines
4.9 KiB
C#
108 lines
4.9 KiB
C#
using BMA.EHR.Domain.Models.Base;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace BMA.EHR.Domain.Models.Leave.TimeAttendants
|
|
{
|
|
public class ProcessUserTimeStamp : 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("พิกัดละติจูด Check-In")]
|
|
public double CheckInLat { get; set; } = 0;
|
|
|
|
[Required, Comment("พิกัดลองจิจูด Check-In")]
|
|
public double CheckInLon { get; set; } = 0;
|
|
|
|
[Required, Comment("ชื่อสถานที่ ได้มาจากระบบ ArcGis ของกองสารสนเทศภูมิศาสตร์ Check-In")]
|
|
public string CheckInPOI { get; set; } = string.Empty;
|
|
|
|
[Required, Comment("true คือ ณ สถานที่ตั้ง, false คือ นอกสถานที่ตั้ง Check-In")]
|
|
public bool IsLocationCheckIn { get; set; } = true;
|
|
|
|
[Comment("กรณีเลือกนอกสถานที่ตั้ง ต้องระบุข้อมูลชื่อสถานะที่ Check-In")]
|
|
public string? CheckInLocationName { get; set; } = string.Empty;
|
|
|
|
[Required, Comment("รูปถ่ายสถานที่ Check-In")]
|
|
public string CheckInImageUrl { get; set; } = string.Empty;
|
|
|
|
[Comment("ข้อความหมายเหตุที่ต้องการระบุเพิ่ม(มีเผื่อไว้อาจไม่ได้ใช้) Check-In")]
|
|
public string? CheckInRemark { get; set; } = string.Empty;
|
|
|
|
[Required, Comment("สถานะ Check-In")]
|
|
public string? CheckInStatus { get; set; } = string.Empty;
|
|
|
|
[Required, Comment("พิกัดละติจูด Check-Out")]
|
|
public double CheckOutLat { get; set; } = 0;
|
|
|
|
[Required, Comment("พิกัดลองจิจูด Check-Out")]
|
|
public double CheckOutLon { get; set; } = 0;
|
|
|
|
[Required, Comment("ชื่อสถานที่ ได้มาจากระบบ ArcGis ของกองสารสนเทศภูมิศาสตร์ Check-Out")]
|
|
public string CheckOutPOI { get; set; } = string.Empty;
|
|
|
|
[Required, Comment("true คือ ณ สถานที่ตั้ง, false คือ นอกสถานที่ตั้ง Check-Out")]
|
|
public bool IsLocationCheckOut { get; set; } = true;
|
|
|
|
[Comment("กรณีเลือกนอกสถานที่ตั้ง ต้องระบุข้อมูลชื่อสถานะที่ Check-Out")]
|
|
public string? CheckOutLocationName { get; set; } = string.Empty;
|
|
|
|
[Required, Comment("รูปถ่ายสถานที่ Check-Out")]
|
|
public string CheckOutImageUrl { get; set; } = string.Empty;
|
|
|
|
[Comment("ข้อความหมายเหตุที่ต้องการระบุเพิ่ม(มีเผื่อไว้อาจไม่ได้ใช้) Check-Out")]
|
|
public string? CheckOutRemark { get; set; } = string.Empty;
|
|
|
|
[Comment("สถานะ Check-Out")]
|
|
public string? CheckOutStatus { get; set; } = string.Empty;
|
|
|
|
[Comment("สถานะการของลงเวลาพิเศษ")]
|
|
public string? EditStatus { get; set; } = string.Empty;
|
|
|
|
[Comment("เหตุผลการอนุมัติ/ไม่อนุมัติขอลงเวลาพิเศษ")]
|
|
public string? EditReason { get; set; } = string.Empty;
|
|
|
|
public string? Prefix { get; set; }
|
|
|
|
public string? FirstName { get; set; }
|
|
|
|
public string? LastName { get; set; }
|
|
|
|
public string? CitizenId { get; set; }
|
|
|
|
public string? Gender { get; set; }
|
|
|
|
public string? Root { get; set; }
|
|
|
|
public string? Child1 { get; set; }
|
|
|
|
public string? Child2 { get; set; }
|
|
|
|
public string? Child3 { get; set; }
|
|
|
|
public string? Child4 { get; set; }
|
|
|
|
public Guid? RootId { get; set; }
|
|
|
|
public Guid? Child1Id { get; set; }
|
|
|
|
public Guid? Child2Id { get; set; }
|
|
|
|
public Guid? Child3Id { get; set; }
|
|
|
|
public Guid? Child4Id { get; set; }
|
|
|
|
public Guid? ProfileId { get; set; }
|
|
public string? ProfileType { get; set; }
|
|
}
|
|
}
|