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 MaternityItemDetailColl { get; set; } public List MaternityStatusDetailColl { get; set; } public List 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 Get(); List Get(Employee oEmployee); MaternityLeave Get(int id); List GetMItemDetail(int parentID); List GetMStatusDetail(int parentID); int GetTotalMonthlyHolidays(int loactionNumber, DateTime firstDateOfMonth, DateTime lastDateOfMonth); void Save(MaternityLeave maternityLeave, User currentUser); void Delete(MaternityLeave maternityLeave); } }