using System; using System.Collections.Generic; using System.Linq; using System.Text; using Ease.Core; using Ease.Core.Model; using System.Data; using HRM.BO.Configuration; namespace HRM.BO { #region Leave Entry public class LeaveEntry : AuditTrailBase, IworkflowInterface { #region Constructor public LeaveEntry() { //_empID = 0;// _aprFromDate = DateTime.Now.Date;// _aprToDate = DateTime.Now.Date;// EntryDate = DateTime.Now.Date;// IsDrafted = 0;// IsAvailed = 0;// LeaveName = string.Empty; _leaveStatus = EnumLeaveStatus.Approved;// Remarks = string.Empty;// ErnLeaveRemarks = string.Empty;// ItemId = 0; OtValue = 0; DoctorCertificate = false; LFAAmount = 0; DayPeriod = 0; ResponsiblePersonID = 0; AvailRemarks = ""; } #endregion #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 LeaveYearId { get; set; } public int AppliedParamId { get; set; } public EnumHalf SelectedHalf { 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; } public DateTime? CompensatoryDate { 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 string ConnectionString { get; set; } public int LeaveEntryType { get; set; } public DateTime? WorkingDate { get; set; } public string LeaveName { get; set; } private EnumLeaveStatus _leaveStatus; public EnumLeaveStatus LeaveStatus { get { return _leaveStatus; } set { _leaveStatus = value; } } 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 { return LeaveStatus.ToString().Replace("_", " "); } } public string WFDesciption() { string sDescription; sDescription = this.ObjectDescription; return sDescription; } 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; } public bool IsHalfday { get; set; } public int FromHalf { get; set; } public int ToHalf { get; set; } public string ContactNumber { get; set; } public string AddressDuringLeave { get; set; } public bool isLFA { get; set; } //public List GetDetails() //{ // DataTable dt = Service.GetPendingJobDetail(this.ID); // List opJobsDetail = new List(); // if (dt.Rows.Count > 0) // { // opJobsDetail.Add(new PendingJobDetail() { Type = "Applier:", Value = dt.Rows[0]["Applier"].ToString() }); // opJobsDetail.Add(new PendingJobDetail() { Type = "Leave Type:", Value = dt.Rows[0]["Leave"].ToString() }); // opJobsDetail.Add(new PendingJobDetail() { Type = "From Date:", Value = dt.Rows[0]["FromDate"].ToString() }); // opJobsDetail.Add(new PendingJobDetail() { Type = "To Date:", Value = dt.Rows[0]["ToDate"].ToString() }); // opJobsDetail.Add(new PendingJobDetail() { Type = "Total Days:", Value = dt.Rows[0]["TotalDays"].ToString() }); // opJobsDetail.Add(new PendingJobDetail() { Type = "Remarks:", Value = dt.Rows[0]["Remarks"].ToString() }); // } // return opJobsDetail; //} #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 Attachments { get; set; } public Leave Leave { get; set; } //#endregion #endregion //#region Methods //public LeaveEntry Get(int tranID) //{ // LeaveEntry oLeaveEntry = null; // #region Cache Header // oLeaveEntry = (LeaveEntry)_cache["Get", tranID]; // if (oLeaveEntry != null) // { // return oLeaveEntry; // } // #endregion // oLeaveEntry = LeaveEntry.Service.Get(ID.FromInteger(tranID)); // #region Cache Footer // _cache.Add(oLeaveEntry, "Get", tranID); // #endregion // return oLeaveEntry; //} //public LeaveEntry Get(ID tranID) //{ // LeaveEntry oLeaveEntry = null; // #region Cache Header // oLeaveEntry = (LeaveEntry)_cache["Get", tranID]; // if (oLeaveEntry != null) // { // return oLeaveEntry; // } // #endregion // oLeaveEntry = LeaveEntry.Service.Get(tranID); // #region Cache Footer // _cache.Add(oLeaveEntry, "Get", tranID); // #endregion // return oLeaveEntry; //} //public static DataTable GetYearEndData(int LeaveYear) //{ // DataTable oDT = null; // oDT = LeaveEntry.Service.GetYearEndData(LeaveYear); // return oDT; //} //public static DataTable GetAvailedLeave(DateTime stDate, DateTime endDate, string empIds) //{ // DataTable oDT = null; // oDT = LeaveEntry.Service.GetAvailedLeave(stDate, endDate, empIds); // return oDT; //} //public static DataTable GetTotalLeaveAmountInYear(int leaveYear, EnumLeaveStatus leaveStatus) //{ // DataTable oDT = null; // oDT = LeaveEntry.Service.GetTotalLeaveAmountInYear(leaveYear, leaveStatus); // return oDT; //} //public static double GetLeaveAmtByType(int empId, int leaveId, int leaveYear, EnumLeaveStatus leaveStatus) //{ // return LeaveEntry.Service.GetLeaveAmtByType(empId, leaveId, leaveYear, leaveStatus); //} //public static double GetAvailedLeave(int empId, int leaveId, int leaveYear, EnumLeaveStatus leaveStatus) //{ // return LeaveEntry.Service.GetAvailedLeave(empId, leaveId, leaveYear, leaveStatus); //} //public static double GetAmountOnFromLeaveDate(int empId, int leaveYear, int leaveid, EnumLeaveStatus leaveStatus, DateTime startdate, DateTime enddate) //{ // return LeaveEntry.Service.GetAmountOnFromDate(empId, leaveYear, leaveid, leaveStatus, startdate, enddate); //} //public static double GetTotalLeaveAmountInYear(int empId, int leaveYear, int leaveid, EnumLeaveStatus leaveStatus) //{ // return LeaveEntry.Service.GetTotalLeaveAmountInYear(empId, leaveYear, leaveid, leaveStatus); //} //public ID Save() //{ // this.SetAuditTrailProperties(); // return LeaveEntry.Service.Save(this); //} //public void SaveLeaveEntry(List oLeaveEntry) //{ // LeaveEntry.Service.SaveLeaveEntry(oLeaveEntry); //} //public bool IsExist(Employee oEmployee, DateTime fromDate, DateTime toDate) //{ // return LeaveEntry.Service.IsExist(oEmployee, fromDate, toDate); //} //public void Delete() //{ // LeaveEntry.Service.Delete(ID); //} //public void Delete(LeaveEntry oLeaveEntry) //{ // LeaveEntry.Service.Delete(oLeaveEntry); //} //public void Delete(int id) //{ // LeaveEntry.Service.Delete(ID.FromInteger(id)); //} //public void DeleteByLeaveYear(int nLeaveYear, int LeaveID) //{ // LeaveEntry.Service.DeleteByLeaveYear(nLeaveYear, LeaveID); //} //public static bool IsAttachmentAplicable(Leave leave, decimal totalDays) //{ // if (totalDays >= 2 && leave.Code.ToLower() == "sl" && leave.ID.Integer == 3 && leave.IsAttachmentNeeded) // return true; // else // return false; //} //public void RefreshLeaveAttachment(Leave leave, byte[] fileBody, string fileName) //{ // try // { // string fullPath = string.Empty; // string directory = string.Empty; // string path = string.Empty; // string extension = string.Empty; // string leaveAttachmentPath = string.Empty; // byte[] body = null; // LeaveAttachment attachment = new LeaveAttachment(); // List attachments = new List(); // List photoPaths = PhotoPath.Get(); // if (photoPaths != null && photoPaths.Count > 0) // { // leaveAttachmentPath = photoPaths[0].LetterTempPath; // directory = leaveAttachmentPath + "/" + DateTime.Today.ToString("dd MMM yyyy") + "/" + this.Employee.EmployeeNo + "/"; // if (!Directory.Exists(directory)) // Directory.CreateDirectory(directory); // extension = Path.GetExtension(fileName); // path = directory + leave.Description + "_" + Convert.ToDateTime(this.ApprovedFromDate).ToString("dd MMM yyyy") + "_To_" + // Convert.ToDateTime(this.ApprovedToDate).ToString("dd MMM yyyy") + extension; // fullPath = DateTime.Today.ToString("dd MMM yyyy") + "/" + this.Employee.EmployeeNo + "/" + leave.Description + // "_" + Convert.ToDateTime(this.ApprovedFromDate).ToString("dd MMM yyyy") + "_To_" + // Convert.ToDateTime(this.ApprovedToDate).ToString("dd MMM yyyy") + extension; // body = fileBody; // File.WriteAllBytes(path, body); // attachment.AttachmentPath = fullPath; // attachments.Add(attachment); // this.Attachments = attachments; // } // else // { // throw new Exception("Leave attachment path not found."); // } // } // catch (Exception ex) // { // throw ex; // } //} //#endregion #region Collection of Leave Entry //#region Methods //public static List Get(string empIds, int leaveYear, EnumLeaveStatus leaveStatus) //{ // List oLeaveEntrys = null; // #region Cache Header // oLeaveEntrys = (List)_cache["Get", empIds, leaveYear] as List; // if (oLeaveEntrys != null) // { // return oLeaveEntrys; // } // #endregion // oLeaveEntrys = LeaveEntry.Service.Get(empIds, leaveYear, leaveStatus); // #region Cache Footer // _cache.Add(oLeaveEntrys, "Get", empIds, leaveYear); // #endregion // return oLeaveEntrys; //} //public static List GetPending(int empId, int nLeaveID, EnumLeaveStatus leaveStatus) //{ // List oLeaveEntrys = LeaveEntry.Service.GetPending(empId, nLeaveID, leaveStatus); // return oLeaveEntrys; //} //public static List GetByLeaveYear(int nLeaveYear) //{ // List oLeaveEntrys = null; // #region Cache Header // //oLeaveEntrys = (List)_cache["Get"] as List; // if (oLeaveEntrys != null) // { // return oLeaveEntrys; // } // #endregion // oLeaveEntrys = LeaveEntry.Service.GetByLeaveYear(nLeaveYear); // #region Cache Footer // //_cache.Add(oLeaveEntrys, "Get"); // #endregion // return oLeaveEntrys; //} //public static List Get(DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus) //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.Get(fromDate, toDate, leaveStatus); // return oLeaveEntrys; //} //public static List Get(DateTime AttnDate) //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.Get(AttnDate); // return oLeaveEntrys; //} //public static List GetAll() //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.GetAll(); // return oLeaveEntrys; //} //public static List GetByLeaveID(int nLeaveID, int nEmpID, DateTime fromDate, DateTime toDate) //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.GetByLeaveID(nLeaveID, nEmpID, fromDate, toDate); // return oLeaveEntrys; //} //public static List Get(string empIds, DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus) //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.Get(empIds, fromDate, toDate, leaveStatus); // return oLeaveEntrys; //} //public static List Get(int empId, int leaveYearID) //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.Get(empId, leaveYearID); // return oLeaveEntrys; //} //public static List Get(string empIds, DateTime fromDate, DateTime toDate, string leaveStatus) //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.Get(empIds, fromDate, toDate, leaveStatus); // return oLeaveEntrys; //} //public static List Get(string empIds, DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus, string sortExpression) //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.Get(empIds, fromDate, toDate, leaveStatus, sortExpression); // return oLeaveEntrys; //} //public static List GetForAdminPanel(ID employeeID) //{ // List oLeaveEntrys = null; // oLeaveEntrys = LeaveEntry.Service.GetForAdminPanel(employeeID); // return oLeaveEntrys; //} //public static List getWithinCurrentYear(ID employeeID, EnumLeaveStatus leaveStatus) //{ // DateTime fromDate, toDate; // fromDate = DateTime.Now.Date.Month <= 6 ? new DateTime(DateTime.Now.Date.Year - 1, 7, 1) : new DateTime(DateTime.Now.Date.Year, 7, 1); // toDate = new DateTime(fromDate.Year + 1, 6, 30); // return Get(employeeID.Integer.ToString(), fromDate, toDate, leaveStatus); //} //public static List GetEmployeeWiseLeaveDetailReport(int empId, DateTime fromDate, DateTime toDate, int leaveType) //{ // return LeaveEntry.Service.GetEmployeeWiseLeaveDetailReport(empId, fromDate, toDate, leaveType); //} //public static int GetEmployeeLeaveBalance(int empId, int leaveYear, int leaveType) //{ // return LeaveEntry.Service.GetEmployeeLeaveBalance(empId, leaveYear, leaveType); //} //public static List getWithinCurrentYear(ID employeeID, string leaveStatus, LeaveYear lYear) //{ // DateTime fromDate, toDate; // fromDate = lYear.StartDate; // toDate = lYear.EndDate; // return Get(employeeID.Integer.ToString(), fromDate, toDate, leaveStatus); //} //public static List getSortedWithinCurrentYear(ID employeeID, EnumLeaveStatus leaveStatus, string sortExpresion, LeaveYear lYear) //{ // DateTime fromDate, toDate; // fromDate = lYear.StartDate; // toDate = lYear.EndDate; // return Get(employeeID.Integer.ToString(), fromDate, toDate, leaveStatus, sortExpresion); //} //public static List getWithinCurrentYear(string employeeIDs, EnumLeaveStatus leaveStatus, LeaveYear lYear) //{ // DateTime fromDate, toDate; // fromDate = lYear.StartDate; // toDate = lYear.EndDate; // return Get(employeeIDs, fromDate, toDate, leaveStatus); //} //public static DataSet GetLeaveReport(int empId, DateTime fromDate, DateTime toDate) //{ // return LeaveEntry.Service.GetLeaveReport(empId, fromDate, toDate); //} //public static DataSet GetAvailedLeave(int empId, DateTime fromDate, DateTime toDate) //{ // return LeaveEntry.Service.GetAvailedLeave(empId, fromDate, toDate); //} //public static DataSet GetReport(string query) //{ // return LeaveEntry.Service.GetReport(query); //} //public static DataSet GetRecord(string empIds, DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus) //{ // return LeaveEntry.Service.GetRecord(empIds, fromDate, toDate, leaveStatus); //} //public List GetAttachments() //{ // return LeaveEntry.Service.GetAttachments(this.ID); //} //#endregion #region Service Factory internal static ILeaveEntryService Service { get { return Services.Factory.CreateService(typeof(ILeaveEntryService)); } } #endregion #region IworkflowInterface Members //public string objectDescription //{ // get // { // throw new NotImplementedException(); // } // set // { // throw new NotImplementedException(); // } //} //public ID setupId //{ // get // { // throw new NotImplementedException(); // } // set // { // throw new NotImplementedException(); // } //} /// /// this property is used for work flow, which return leave description /// public string ObjectDescription { get { string str = ""; if (this.LeaveStatus == EnumLeaveStatus.Cancel_Request) { //str = " " + this.Employee.Name // + " has applied leave cancellation for " + this.Leave.Description + " from " + // this.AppliedFromDate.ToString("dd MMM yyyy") + " to " + // this.AppliedToDate.ToString("dd MMM yyyy") + ". "; } else { //if (this.Leave.IsHalfDayLeave && this.Leave.IsCompensatoryLeave) //{ // str = " " + this.Employee.Name + " has applied for " + this.Leave.Description + " from " + // this.AppliedFromDate.ToString("dd MMM yyyy") + " to " + // this.AppliedToDate.ToString("dd MMM yyyy") + " on " + this.LeaveDayPeriod.ToString() + ", Worked at holiday on " + Convert.ToDateTime(this.WorkingDate).ToString("dd MMM yyyy") + ". "; //} //else if (this.Leave.IsHalfDayLeave && (this.LeaveDayPeriod != null && this.LeaveDayPeriod != string.Empty)) //{ // str = " " + this.Employee.Name + " has applied for " + this.Leave.Description + " from " + // this.AppliedFromDate.ToString("dd MMM yyyy") + " to " + // this.AppliedToDate.ToString("dd MMM yyyy") + (this.LeaveDayPeriod.ToString() == "" ? this.LeaveDayPeriod.ToString() : " on " + this.LeaveDayPeriod.ToString()) + ". "; //} //else if (this.Leave.IsCompensatoryLeave) //{ // str = " " + this.Employee.Name + " has applied for " + this.Leave.Description + " from " + // this.AppliedFromDate.ToString("dd MMM yyyy") + " to " + // this.AppliedToDate.ToString("dd MMM yyyy") + ", Worked at holiday on " + Convert.ToDateTime(this.WorkingDate).ToString("dd MMM yyyy") + ". "; //} //else //{ // str = " " + this.Employee.Name + " has applied for " + this.Leave.Description + " from " + // this.AppliedFromDate.ToString("dd MMM yyyy") + " to " + // this.AppliedToDate.ToString("dd MMM yyyy") + "."; //} } return str; } } /// /// this property is used for work flow, it's a constant value /// public int SetupID { get { if (this.LeaveStatus != EnumLeaveStatus.Cancel_Request) { return 1; } else return 2; } } /// /// this property is used for work flow, which return leave entry id /// public int ObjectID { get { return this.ID; } } #endregion } #endregion #endregion #region Leave Attachment public class LeaveAttachment : BasicBaseObject { #region Constructor public LeaveAttachment() { AttachmentPath = string.Empty; } #endregion #region Properties public int LeaveEntryID { get; set; } public string AttachmentPath { get; set; } public string OriginalFileName { get; set; } public EnumFileType FileType { get; set; } public byte[] FileAsByteArray { get; set; } #endregion } #endregion public class LeaveEntryShort { public int leaveEntryID { get; set; } public int employeeID { get; set; } public DateTime fromDate { get; set; } public DateTime toDate { get; set; } public double totalDays { get; set; } public EnumLeaveStatus leaveStatus { get; set; } } #region Leave Entry Details for Schedular public class LeaveEntryDetailsMailSenderReport : AuditTrailBase { public int EmployeeId { get; set; } public string EmployeeNo { get; set; } public string Name { get; set; } public string Designation { get; set; } public string Department { get; set; } public int LeaveEntryID { get; set; } public string LeaveStatus { get; set; } public string Reason { get; set; } public string LocationName { get; set; } public string LeaveName { get; set; } public DateTime FromDate { get; set; } public DateTime ToDate { get; set; } public DateTime AprovedDate { get; set; } } #endregion #region ILeaveEntry Service public interface ILeaveEntryService { List GetAll(); LeaveEntry Get(int id); bool IsEntered(DateTime year); List GetLeaveEntries(int empId, int leaveYearID); List Get(string EmpIds, int? employeeid, int? leaveYearid, int? leaveid, DateTime? fromDate, DateTime? toDate, EnumLeaveStatus? leaveStatus, bool? isLfa); List Get(int EmpID, DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus); //List GetEmployeeWiseLeaveDetailReport(int empId, DateTime fromDate, DateTime toDate, int leaveType); List GetByLeaveYear(int nLeaveYear); List Get(string EmpIds, int leaveYear, EnumLeaveStatus leaveStatus); //List Get(DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus); //List Get(DateTime attnDate); //List Get(string empIds, DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus); //List GetPending(int empId, int nLeaveID, EnumLeaveStatus leaveStatus); //List Get(int empId, int leaveYearID); //List GetByLeaveID(int nLeaveID, int nEmpID, DateTime fromDate, DateTime toDate); //List Get(string empIds, DateTime fromDate, DateTime toDate, string leaveStatus); //List Get(string empIds, DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus, string sortExpresion); //List GetForAdminPanel(int employeeID); List GetSumOfAvailedLeave(int empId, int leaveYear); List GetSumOfAvailedLeave(int leaveYear); int GetEmployeeLeaveBalance(int empId, int leaveYear, int leaveType); List GetEmployeeWiseLeaveDetailReport(string empId, DateTime fromDate, DateTime toDate, int leaveType); double GetLeaveAmtByType(int empId, int leaveId, int leaveYear, EnumLeaveStatus leaveStatus); double GetAvailedLeave(int empId, int leaveId, int leaveYear, EnumLeaveStatus leaveStatus); double GetAmountOnFromDate(int empId, int leaveYearId, int leaveID, EnumLeaveStatus leaveStatus, DateTime startdate, DateTime enddate); double GetTotalLeaveAmountInYear(int empId, int leaveYearId, int leaveID, EnumLeaveStatus leaveStatus); List GetLFAOnMonth(DateTime onMonth); int Save(LeaveEntry oLeaveEntry); void SaveLeaveEntry(List oLeaveEntry); void LeaveApplicationApprove(WFMovementTran approver); void LeaveApplicationReject(WFMovementTran approver); void LeaveApplicationRevert(WFMovementTran approver); void Delete(int id, int userid); void Delete(LeaveEntry oLeaveEntry); void DeleteByLeaveYear(int nLeaveYear, int nLeaveID); DataTable GetYearEndData(int leaveYear); DataTable GetAvailedLeave(DateTime stDate, DateTime endDate, string empIds); DataSet GetLeaveReport(int empId, DateTime fromDate, DateTime toDate); DataSet GetAvailedLeave(int empId, DateTime fromDate, DateTime toDate); DataSet GetRecord(string empIds, DateTime fromDate, DateTime toDate, EnumLeaveStatus leaveStatus); DataSet GetReport(string query); DataTable GetTotalLeaveAmountInYear(int leaveYearId, EnumLeaveStatus leaveStatus); bool IsExist(Employee oEmployee, DateTime fromDate, DateTime toDate); List GetAttachments(int leaveEntryID); double CalculatedLeaveDays(int leaveid, int itemid, int locationid, EnumLeaveparamOn paramType, int payrollTypeid, DateTime FromDate, DateTime ToDate, bool firstHalf, bool secondHalf, bool IsHalfDay, int empId); DataTable GetPendingJobDetail(int ID); DataTable GetMyTeamLeave(int lineManagerID, DateTime fromDate, DateTime toDate); double GetApplicableDays(Leave oLeave, Employee oEmployee, DateTime FromDate, DateTime ToDate, bool IsHalfDay = false); LeaveEntry RefreshObject(int responsiblePersonID, string address, int leaveid, Employee oEmployee, DateTime FromDate, DateTime Todate, double TotalDays, string Reason, string LeaveDayPeriod, EnumHalf SelectedHalf, int userid, int LeaveEntryID = 0, bool IsLFA = false, bool IsHalfDay=false); void InitiateCancelRequest(LeaveEntry oLeaveEntry); void OnapprovalCancelRequest(int tranId); List SendMailToTheApproversForCancellation(int tranId, EmailSettings emailSettings); void CancelRequestApprove(WFMovementTran approver); void CancelRequestReject(WFMovementTran rejectTran); List GetPreviousDateApprovedLeaveEntry(DateTime leaveApprovedDate, string salesHeadEmailAddress, EnumLeaveStatus leaveStatus); DataTable AllApproverInfo(int tranId); string UploadLeaveAttachment(int leaveId, string fileName, byte[] fileData); DataTable GetMultipleLeaveLedgerData(int leaveYearId, int leaveId, string empIds, DateTime fromDate, DateTime toDate); DataTable GetMultipleLeaveLedgerData(int leaveYearId, string empIds, DateTime fromDate, DateTime toDate); List GetEmpLeaveLedger(int empId, DateTime fromDate, DateTime toDate); List GetMyTeamUpcomingLeave(int empId, DateTime fromDate, DateTime toDate); DataTable GetLeaveTodayAndNextWeek(Employee employee, EnumLeaveStatus status); DataTable getTopLeaveChartData(Employee oEmp, int leaveYearId, EnumLeaveStatus status); DataTable getcorehrLeaveChartData(Employee oEmp, int leaveYearId, EnumLeaveStatus status); } #endregion }