EchoTex_Payroll/HRM.BO/Leave/MaternityLeave.cs

86 lines
3.2 KiB
C#
Raw Normal View History

2024-10-14 10:01:49 +06:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HRM.BO
{
public class MaternityLeave : AuditTrailBase
{
#region Constructor
public MaternityLeave() { }
#endregion
#region Properties
public int EmployeeID { get; set; }
public DateTime ApplicationDate { get; set; }
public DateTime LeaveFromDate { get; set; }
public DateTime LeaveToDate { get; set; }
public DateTime? DateOfApproval { get; set; }
public int ApproveDays { get; set; }
public int CurrentStatus { get; set; }
public double DailyAvgEarning { get; set; }
public double MaternityBenifit { get; set; }
public double TaxAmount { get; set; }
public double NetAmount { get; set; }
public double PaidAmount { get; set; }
public string EmployeeNo { get; set; }
public string EmployeeName { get; set; }
public List<MaternityLeave.MaternityItemDetail> MaternityItemDetailColl { get; set; }
public List<MaternityLeave.MaternityStatusDetail> MaternityStatusDetailColl { get; set; }
public List<IncomeTax> IncomeTaxColl { get; set; }
#endregion
#region Internal MaternityItemDetail Class
public class MaternityItemDetail : AuditTrailBase
{
#region Constructor
public MaternityItemDetail() { }
#endregion
#region Properties
public int MaternityLeaveID { get; set; }
public EnumMaternityItemDetailType ItemType { get; set; }
public double Amount { get; set; }
public string Description { get; set; }
public DateTime MonthDate { get; set; }
public int SalaryComponentID { get; set; }
public enumIncomeTaxItemType IncomeTaxItemType { get; set; }
public TaxRawItem TaxRawItemObject { get; set; }
#endregion
}
#endregion Internal MaternityItemDetail Class
#region Internal MaternityStatusDetail Class
public class MaternityStatusDetail : AuditTrailBase
{
#region Constructor
public MaternityStatusDetail() { }
#endregion
#region Properties
public int MaternityLeaveID { get; set; }
public EnumMaternityLeaveStatus Status { get; set; }
public DateTime? PaymentDate { get; set; }
public double Amount { get; set; }
public int PaymentDays { get; set; }
#endregion
}
#endregion Internal MaternityStatusDetail Class
}
public interface IMaternityLeaveService
{
List<MaternityLeave> Get();
List<MaternityLeave> Get(Employee oEmployee);
MaternityLeave Get(int id);
List<MaternityLeave.MaternityItemDetail> GetMItemDetail(int parentID);
List<MaternityLeave.MaternityStatusDetail> GetMStatusDetail(int parentID);
int GetTotalMonthlyHolidays(int loactionNumber, DateTime firstDateOfMonth, DateTime lastDateOfMonth);
void Save(MaternityLeave maternityLeave, User currentUser);
void Delete(MaternityLeave maternityLeave);
}
}