// using System; // using System.Collections.Generic; // using System.Linq; // using System.Threading.Tasks; // using Contracts; // using Contracts.DTOs.Requests; // namespace Auth.Domain.Entities; // public class Request // { // public Guid Id { get; set; } // public AppEnum.RequestType? RequestType { get; set; } // public string Title { get; set; } // public string Description { get; set; } // // Punch properties // public DateTime? PunchDate { get; set; } = DateTime.UtcNow; // public TimeSpan? PunchTime { get; set; } = DateTime.UtcNow.TimeOfDay; // public bool? IsAttend { get; set; } = true; // // Leave permission properties // public DateTime? PermissionDate { get; set; } = DateTime.UtcNow; // public TimeSpan? PermissionTime { get; set; } = DateTime.UtcNow.TimeOfDay; // public bool? IsLeaveEarly { get; set; } = true; // // Absence permission properties // public DateTime? AbsenceDate { get; set; } = DateTime.UtcNow; // public bool? IsFromHolidays { get; set; } = false; // // Financial properties // public AppEnum.FinancialType? FinancialType { get; set; } // public AppEnum.RequestStatus? RequestStatus { get; set; } // public decimal? Amount { get; set; } // public string IssuerId { get; set; } // public AppUser? Issuer { get; set; } // public string? AcceptedById { get; set; } // public AppUser? AcceptedBy { get; set; } // public DateTime? DateRequestCreated { get; set; } = DateTime.UtcNow; // public DateTime? DateRequestTreated { get; set; } // public override string ToString() // { // return $"Request Type: {RequestType}\n" // + $"Punch Date: {PunchDate}\n" // + $"Punch Time: {PunchTime}\n" // + $"Is Attend: {IsAttend}\n" // + $"Permission Date: {PermissionDate}\n" // + $"Permission Time: {PermissionTime}\n" // + $"Is Leave Early: {IsLeaveEarly}\n" // + $"Absence Date: {AbsenceDate}\n" // + $"Is From Holidays: {IsFromHolidays}\n" // + $"Financial Type: {FinancialType}\n" // + $"Amount: {Amount}"; // } // public static Request ToEntity(RequestVM requestVM) // { // return new Request // { // Id = requestVM.Id, // RequestType = requestVM.RequestType, // Title = requestVM.Title, // Description = requestVM.Description, // PunchDate = requestVM.PunchDate, // PunchTime = requestVM.PunchTime, // IsAttend = requestVM.IsAttend, // PermissionDate = requestVM.PermissionDate, // PermissionTime = requestVM.PermissionTime, // IsLeaveEarly = requestVM.IsLeaveEarly, // AbsenceDate = requestVM.AbsenceDate, // IsFromHolidays = requestVM.IsFromHolidays, // FinancialType = requestVM.FinancialType, // Amount = requestVM.Amount, // IssuerId = requestVM.IssuerId, // AcceptedById = requestVM.AcceptedById, // DateRequestCreated = DateTime.UtcNow, // DateRequestTreated = requestVM.DateRequestTreated, // }; // } // public static RequestVM ToVM(Request request) // { // return new RequestVM() // { // Id = request.Id, // RequestType = request.RequestType.Value, // Title = request.Title, // Description = request.Description, // PunchDate = request.PunchDate, // PunchTime = request.PunchTime, // IsAttend = request.IsAttend, // PermissionDate = request.PermissionDate, // PermissionTime = request.PermissionTime, // IsLeaveEarly = request.IsLeaveEarly, // AbsenceDate = request.AbsenceDate, // IsFromHolidays = request.IsFromHolidays, // FinancialType = request.FinancialType.Value, // Amount = request.Amount, // IssuerId = request.IssuerId, // Issuer = AppUser.ToVM(request.Issuer), // AcceptedById = request.AcceptedById, // AcceptedBy = AppUser.ToVM(request.AcceptedBy), // DateRequestCreated = request.DateRequestCreated, // DateRequestTreated = request.DateRequestTreated, // }; // } // }