52 lines
1.5 KiB
C#
52 lines
1.5 KiB
C#
using System.ComponentModel;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
using Marco.Pms.Model.Dtos.Attendance;
|
|
using Marco.Pms.Model.Employees;
|
|
using Marco.Pms.Model.Entitlements;
|
|
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
|
|
|
|
|
|
namespace Marco.Pms.Model.AttendanceModule
|
|
{
|
|
public class AttendanceLog
|
|
{
|
|
public int Id { get; set; }
|
|
public string Comment { get; set; } = string.Empty;
|
|
public int AttendanceId { get; set; }
|
|
[ForeignKey("AttendanceId")]
|
|
[ValidateNever]
|
|
public Attendance? Attendance { get; set; }
|
|
|
|
public int EmployeeID { get; set; }
|
|
[ForeignKey("EmployeeID")]
|
|
[ValidateNever]
|
|
public Employee? Employee { get; set; }
|
|
|
|
public DateTime? ActivityTime { get; set; }
|
|
|
|
/// <summary>
|
|
/// CheckIn, CheckOut, RequestRegularize, Regularize, Reject
|
|
/// </summary>
|
|
public ATTENDANCE_MARK_TYPE Activity { get; set; }
|
|
|
|
|
|
public byte[]? Photo { get; set; } // To store the captured photo
|
|
public string? Latitude { get; set; }
|
|
public string? Longitude { get; set; }
|
|
|
|
public DateTime UpdatedOn { get; set; }
|
|
|
|
public int? UpdatedBy { get; set; }
|
|
[ForeignKey("UpdatedBy")]
|
|
[ValidateNever]
|
|
public Employee? UpdatedByEmployee { get; set; }
|
|
|
|
|
|
[DisplayName("TenantId")]
|
|
public int TenantId { get; set; }
|
|
[ValidateNever]
|
|
[ForeignKey(nameof(TenantId))]
|
|
public Tenant Tenant { get; set; }
|
|
}
|
|
}
|