//using Ease.Core.Model; //using System; //using System.Collections.Generic; //using System.Data; //using System.IO; //using System.Threading; //namespace HRM.BO //{ // public class OvertimeProcess // { // private List _EmpOvertimes = null; // private List _OtProcess = null; // public OvertimeProcess() // { // } // public List ProcessData // { // get // { // return _OtProcess; // } // } // //public List GetTerms(int nEmpID) // //{ // // Employee oEmp = Employee.Get(nEmpID); // // if (oEmp != null && !oEmp.ID.IsUnassigned && oEmp.ID.Integer>0 && !oEmp.GradeID.IsUnassigned && oEmp.GradeID.Integer>0) // // { // // return GetTerms(oEmp); // // } // // return null; // //} // //public List GetTerms(Employee oEmp) // //{ // // List terms = null; // // if (oEmp != null && !oEmp.ID.IsUnassigned && oEmp.ID.Integer > 0 && !oEmp.GradeID.IsUnassigned && oEmp.GradeID.Integer > 0) // // { // // List termParams = TermParameter.GetByGradeID(oEmp.GradeID); // // if (termParams != null) // // { // // terms = new List(); // // foreach (TermParameter param in termParams) // // { // // if (!terms.Exists(delegate(Term trm) { return trm.ID.Integer == param.Term.ID.Integer; })) // // { // // terms.Add(param.Term); // // } // // } // // } // // } // // return terms; // //} // //public List GetTermParameters(Employee oEmp) // //{ // // if (oEmp != null && !oEmp.ID.IsUnassigned && oEmp.ID.Integer > 0 && !oEmp.GradeID.IsUnassigned && oEmp.GradeID.Integer > 0) // // { // // List termParams = TermParameter.GetByGradeID(oEmp.GradeID); // // return termParams; // // } // // return null; // //} // //public List GetTermParameters(int nEmpID) // //{ // // Employee oEmp = Employee.Get(nEmpID); // // return GetTermParameters(oEmp); // //} // //public void Process() // //{ // // TermParameter.EntryType = ConfigurationManager.GetStringValue("overtime", "entrytype", EnumConfigurationType.Logic); // // bool calOnEarnedBasic = ConfigurationManager.GetBoolValue("overtime", "earnedbasic", EnumConfigurationType.Logic); // // int basicOnMonth = ConfigurationManager.GetIntValue("overtime", "basicondate", EnumConfigurationType.Logic); // // if (basicOnMonth == 0) basicOnMonth = 1; // // List omployees = Employee.Get(); // // _OtProcess = new List(); // // _EmpOvertimes = EmployeeOverTime.Get(SystemInformation.CurrentSysInfo.NextPayProcessDate,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID); // // double basicSalary = 0; // // if (_EmpOvertimes != null && _EmpOvertimes.Count > 0) // // { // // foreach (EmployeeOverTime ot in _EmpOvertimes) // // { // // basicSalary = 0; // // DateTime basicDate = new DateTime(ot.OTMonth.Year, ot.OTMonth.Month, basicOnMonth); // // if (calOnEarnedBasic == false) // // { // // Employee omp = omployees.FirstOrDefault(x => x.ID.Integer == ot.EmployeeID.Integer); // // if (omp != null) // // basicSalary = omp.BasicSalary; // // //EmployeeGradeSalary gs = EmployeeGradeSalary.Get(ot.EmployeeID, // // // basicDate, EnumArrearType.NotPresent); // // //if (gs == null) gs = EmployeeGradeSalary.Get(ot.EmployeeID, // // // PayrollPayrollGlobalFunctions.PayrollLastDateOfMonth(ot.OTMonth), EnumArrearType.ToCalculate); // // //if (gs == null) // // //{ // // // if (ot.Employee.BasicSalary == 0) // // // { // // // throw new ServiceException(" Basic salary not found for the employee:" + ot.Employee.Name // // // + "( " + ot.Employee.EmployeeNo + ") on month" + ot.OTMonth.ToString("MMM yyyy")); // // // } // // // else // // // { // // // //DateTime dMonth = SystemInformation.CurrentSysInfo.NextPayProcessDate; // // // //if(ot.Employee.JoiningDate.Month == SystemInformation.CurrentSysInfo.NextPayProcessDate.Month && // // // // ot.Employee.JoiningDate.Month == SystemInformation.CurrentSysInfo.NextPayProcessDate.Month) // // // // dMonth =ot.Employee.JoiningDate; // // // basicSalary = ot.Employee.BasicSalary; // // // } // // //} // // ////else basicSalary = gs.BasicSalary * PayrollPayrollGlobalFunctions.GetFractinalOfMonth(gs.EffectDate); // // //// doesn't need to fractionate, cause it is not base on earned basic; // // //else basicSalary = gs.BasicSalary ; // // //else basicSalary = ot.Employee.BasicSalary; // for redisha back process // // } // // else // // { // // SalaryMonthly salary = SalaryMonthly.Get(ot.EmployeeID, PayrollPayrollGlobalFunctions.PayrollLastDateOfMonth(ot.OTMonth)); // // if (salary == null) // // { // // EmployeeGradeSalary gs = EmployeeGradeSalary.Get(ot.EmployeeID, // // PayrollPayrollGlobalFunctions.PayrollLastDateOfMonth(ot.OTMonth), EnumArrearType.NotPresent); // // if (gs == null) gs=EmployeeGradeSalary.Get(ot.EmployeeID, // // PayrollPayrollGlobalFunctions.PayrollLastDateOfMonth(ot.OTMonth), EnumArrearType.ToCalculate); // // if (gs == null) // // { // // if (ot.Employee.BasicSalary == 0) // // { // // throw new ServiceException(" Basic salary not found for the employee:" + ot.Employee.Name // // + "( " + ot.Employee.EmployeeNo + ") on month" + ot.OTMonth.ToString("MMM yyyy")); // // } // // else basicSalary = ot.Employee.BasicSalary;//* PayrollPayrollGlobalFunctions.GetFractinalOfMonth(ot.Employee.JoiningDate); // // } // // else basicSalary = gs.BasicSalary * PayrollPayrollGlobalFunctions.GetFractinalOfMonth(gs.EffectDate); // // } // // else // // { // // basicSalary = salary.GetGrossAmount(EnumSalaryItemCode.Basic_Salary, (int)EnumSalaryItemCode.Basic_Salary); // // } // // } // // _OtProcess.Add(CreateObject(ot, basicSalary)); // // } // // } // //} // //public List Process(Employee oEmp) // //{ // // _OtProcess = new List(); // // _EmpOvertimes = EmployeeOverTime.GetByEmpID(oEmp.ID, SystemInformation.CurrentSysInfo.NextPayProcessDate); // // if (_EmpOvertimes != null && _EmpOvertimes.Count > 0) // // { // // foreach (EmployeeOverTime ot in _EmpOvertimes) // // { // // _OtProcess.Add(CreateObject(ot, ot.Employee.BasicSalary)); // // } // // OTProcess.Save(_OtProcess); // // } // // return _OtProcess; // //} // //public OTProcess ProcessArrear(OTProcess process,Double nBasic) // //{ // // OTProcess oNewProcess= CreateObject(process.EmpOverTime, nBasic); // // process.Amount = oNewProcess.Amount -process.Amount; // // return process; // //} // //private OTProcess CreateObject(EmployeeOverTime ot,Double nBasic) // //{ // // OTProcess process = new OTProcess(); // // process.EmployeeID = ot.EmployeeID; // // process.EmpOverTimeID = ot.ID; // // process.MonthDate =PayrollPayrollGlobalFunctions.PayrollLastDateOfMonth(ot.MonthDate); // // process.OTMonth =PayrollPayrollGlobalFunctions.PayrollLastDateOfMonth(ot.OTMonth); // // process.TermID = ot.TermID; // // process.TermParameterID = ot.TermParameterID; // // process.TotalHour = ot.OTHours; // // process.Amount = ot.TermParam.GetPayableAmount(ot, nBasic); // // process.PayrollTypeID = Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID; // // return process; // //} // } //}