EchoTex_Payroll/HRM.UI/DTOs/Leave/LeaveEntryDto.cs
2024-10-14 10:01:49 +06:00

189 lines
5.4 KiB
C#

using HRM.BO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace HRM.UI.DTOs.Leave
{
public class LeaveEntryDto
{
#region Properties
public EnumSystemType SystemType { get; set; }
public EnumCompensatoryLeaveFor CompensatoryLeaveFor { get; set; }
public bool DoctorCertificate { get; set; }
public int EmpID { get; set; }
public Employee Employee { get; set; }
public int EmpGradeId { get; set; }
public int ItemId { get; set; }
public double OtValue { get; set; }
public int LeaveYear { get; set; }
public int AppliedParamId { get; set; }
public LeaveParameter LeaveParameter { get; set; }
public DateTime LeaveAgainstDate { get; set; }
public DateTime AppliedLeaveDate { get; set; }
public DateTime AppliedFromDate { get; set; }
public DateTime AppliedToDate { get; set; }
public double AppliedTotalDays { get; set; }
public double LFAAmount { get; set; }
public double DayPeriod { get; set; }
public double LFASmokingAmount { get; set; }
public DateTime SalaryMonth { get; set; }
public int ApprovedParamId { get; set; }
public DateTime ApprovedLeaveDate { get; set; }
public DateTime? ApprovedDate { get; set; }
private DateTime _aprFromDate;
public DateTime ApprovedFromDate
{
get
{
if (AvailFromDate == DateTime.MinValue)
return _aprFromDate;
return AvailFromDate;
}
set { _aprFromDate = value; }
}
private DateTime _aprToDate;
public DateTime ApprovedToDate
{
get
{
if (AvailToDate == DateTime.MinValue)
return _aprToDate;
return AvailToDate;
}
set { _aprToDate = value; }
}
private double _aprTotalDays;
public double ApprovedTotalDays
{
get
{
if (AvailTotalDays == 0.0)
return _aprTotalDays;
else
return AvailTotalDays;
}
set { _aprTotalDays = value; }
}
public int ApprovedBy { get; set; }
public int ResponsiblePersonID { get; set; }
public string Remarks { get; set; }
public DateTime EntryDate { get; set; }
public int IsDrafted { get; set; }
public int IsAvailed { get; set; }
public int LeaveEntryType { get; set; }
public DateTime? WorkingDate { get; set; }
private EnumLeaveStatus _leaveStatus;
public EnumLeaveStatus LeaveStatus
{
get { return _leaveStatus; }
set
{
_leaveStatus = value;
switch (_leaveStatus)
{
case EnumLeaveStatus.Drafted:
LeaveStatusDescription = "Drafted";
break;
case EnumLeaveStatus.Approved:
LeaveStatusDescription = "Approved";
break;
case EnumLeaveStatus.Declined:
LeaveStatusDescription = "Declined";
break;
//case EnumLeaveStatus.Availed:
// _leaveStatusDescription = "Availed";
// break;
case EnumLeaveStatus.OnApproval:
LeaveStatusDescription = "Waiting for Approval";
break;
}
}
}
public string LeaveDayPeriod { get; set; }
public int GetStatusbyWf(EnumwfStatus wfstatus)
{
EnumLeaveStatus lvstatus;
switch (wfstatus)
{
case EnumwfStatus.Received:
case EnumwfStatus.Revert:
lvstatus = EnumLeaveStatus.OnApproval;
break;
case EnumwfStatus.Reject:
lvstatus = EnumLeaveStatus.Declined;
break;
case EnumwfStatus.Approve:
lvstatus = EnumLeaveStatus.Approved;
break;
case EnumwfStatus.End:
lvstatus = EnumLeaveStatus.Approved;
break;
default:
lvstatus = EnumLeaveStatus.OnApproval;
break;
}
return (int) lvstatus;
}
public string LeaveStatusDescription { get; set; }
public string ErnLeaveRemarks { get; set; }
public int LeaveID { get; set; }
public int AppliedLeaveID { get; set; }
public int SbuID { get; set; }
public int DepartmentID { get; set; }
public int FunctionID { get; set; }
public int LocationID { get; set; }
public int DesignationID { get; set; }
#region Leave Properties for Avail
public DateTime AvailFromDate { get; set; }
public DateTime AvailToDate { get; set; }
public string AvailRemarks { get; set; }
public int AvailedBy { get; set; }
public double AvailTotalDays { get; set; }
#endregion
public List<LeaveAttachment> Attachments { get; set; }
#endregion
}
}