CEL_Payroll/Payroll.BO/Employee/Employee.cs

2282 lines
65 KiB
C#
Raw Permalink Normal View History

2024-09-17 14:30:13 +06:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Ease.CoreV35;
using Ease.CoreV35.Model;
using Ease.CoreV35.Caching;
using System.Data.Linq.Mapping;
using System.Data;
namespace Payroll.BO
{
#region Employee
[Serializable]
public class Employee : AuditTrailBase, IEmployeeFind
{
#region Cache Store
private static Cache _cache = new Cache(typeof(Employee));
#endregion
#region Constructor
public Employee()
{
_globalID = string.Empty;
_employeeNo = string.Empty;
_name = string.Empty;
_gender = EnumGender.Male;
_birthDate = DateTime.MinValue;
_joiningDate = DateTime.MinValue;
_endOfContractDate = DateTime.MinValue;
_emailAddress = string.Empty;
_mobileNo = string.Empty;
_tinNo = string.Empty;
_categoryID = null;
_foreignExPat = false;
_continueGratuity = false;
_taxCircle = string.Empty;
_isConfirmed = false;
_status = EnumEmployeeStatus.Live;
_isShownInTaxSheet = false;
_pFMemberType = EnumPFMembershipType.NotYetLive;
_pFMemberShiptDate = DateTime.MinValue;
_branchID = null;
_accountNo = string.Empty;
_outPayBranchID = null;
_outPayAccountNo = string.Empty;
_departmentID = null;
_locationID = null;
_religionID = null;
_maritalStatus = EnumMaritalStatus.UnMarried;
_designationID = null;
_gradeID = null;
_basicSalary = 0;
_prevBasic = 0;
_paymentMode = EnumPaymentMode.CashPayment;
_outPayPaymentMode = EnumPaymentMode.CashPayment;
_fatherName = string.Empty;
_isEligibleOT = false;
_descriptionText = string.Empty;
_desktopUserPass = string.Empty;
_payrollTypeID = null;
_isAutoProcess = false;
_cardID = null;
_grossSalary = 0;
_photoPath = string.Empty;
_payScaleId = null;
_taxAmount = 0;
_confirDate = DateTime.MinValue;
_discontinueDate = DateTime.MinValue;
_currentHistoryID = null;
_branch = null;
_category = null;
//_costCenter = null;
_department = null;
_designation = null;
_grade = null;
_location = null;
//_outPayBranch = null;
_religion = null;
_monthStatusUpdate = EnumEmployeeStatus.Live;
_vendorCode = string.Empty;
_role = EnumRole.None;
_PersonType = EnumPersonType.None;
}
#endregion
#region Properties
private ObjectsTemplate<RegularDataUpload> _errorList;
public ObjectsTemplate<RegularDataUpload> ErrorList
{
get { return _errorList; }
set { _errorList = value; }
}
#region globalID : string
private string _globalID;
public string GlobalID
{
get { return _globalID; }
set
{
base.OnPropertyChange<string>("globalID", _globalID, value);
_globalID = value;
}
}
#endregion
#region employeeNo : string
private string _employeeNo;
public string EmployeeNo
{
get { return _employeeNo; }
set
{
base.OnPropertyChange<string>("employeeNo", _employeeNo, value);
_employeeNo = value;
}
}
#endregion
#region name : string
private string _name;
public string Name
{
get { return _name; }
set
{
base.OnPropertyChange<string>("name", _name, value);
_name = value;
}
}
#endregion
#region gender : EnumGender
private EnumGender _gender;
public EnumGender Gender
{
get { return _gender; }
set
{
base.OnPropertyChange<short>("gender", (short)_gender, (short)value);
_gender = value;
}
}
#endregion
#region birthDate : DateTime
private DateTime _birthDate;
public DateTime BirthDate
{
get { return _birthDate; }
set
{
base.OnPropertyChange<DateTime>("birthDate", _birthDate, value);
_birthDate = value;
}
}
#endregion
#region joiningDate : DateTime
private DateTime _joiningDate;
public DateTime JoiningDate
{
get { return _joiningDate; }
set
{
base.OnPropertyChange<DateTime>("joiningDate", _joiningDate, value);
_joiningDate = value;
}
}
#endregion
#region endOfContractDate : DateTime
private DateTime? _endOfContractDate;
public DateTime? EndOfContractDate
{
get { return _endOfContractDate; }
set
{
base.OnPropertyChange<DateTime>("endOfContractDate", _endOfContractDate, value);
_endOfContractDate = value;
}
}
#endregion
#region emailAddress : string
private string _emailAddress;
public string EmailAddress
{
get { return _emailAddress; }
set
{
base.OnPropertyChange<string>("emailAddress", _emailAddress, value);
_emailAddress = value;
}
}
#endregion
#region mobileNo : string
private string _mobileNo;
public string MobileNo
{
get { return _mobileNo; }
set
{
base.OnPropertyChange<string>("mobileNo", _mobileNo, value);
_mobileNo = value;
}
}
#endregion
#region tinNo : string
private string _tinNo;
public string TinNo
{
get { return _tinNo; }
set
{
base.OnPropertyChange<string>("tinNo", _tinNo, value);
_tinNo = value;
}
}
#endregion
#region categoryID : ID
private ID _categoryID;
public ID CategoryID
{
get { return _categoryID; }
set
{
base.OnPropertyChange<ID>("categoryID", _categoryID, value);
_categoryID = value;
}
}
#endregion
#region foreignExPat : bool
private bool _foreignExPat;
public bool ForeignExPat
{
get { return _foreignExPat; }
set
{
base.OnPropertyChange<bool>("foreignExPat", _foreignExPat, value);
_foreignExPat = value;
}
}
#endregion
#region PersonType : EnumPersonType
private EnumPersonType _PersonType;
public EnumPersonType PersonType
{
get { return _PersonType; }
set
{
_PersonType = value;
}
}
#endregion
#region continueGratuity : bool
private bool _continueGratuity;
public bool ContinueGratuity
{
get { return _continueGratuity; }
set
{
base.OnPropertyChange<bool>("continueGratuity", _continueGratuity, value);
_continueGratuity = value;
}
}
#endregion
// Previous System
//#region taxCircle : int
//private EnumTaxCircle _taxCircle;
//public EnumTaxCircle TaxCircle
//{
// get { return _taxCircle; }
// set
// {
// base.OnPropertyChange<short>("taxCircle", (short)_taxCircle, (short)value);
// _taxCircle = value;
// }
//}
//#endregion
// New System
#region TaxCircle : string
private string _taxCircle;
public string TaxCircle
{
get { return _taxCircle; }
set
{
_taxCircle = value;
}
}
#endregion
#region isConfirmed : bool
private bool _isConfirmed;
public bool IsConfirmed
{
get { return _isConfirmed; }
set
{
base.OnPropertyChange<bool>("isConfirmed", _isConfirmed, value);
_isConfirmed = value;
}
}
#endregion
#region status : EnumEmployeeStatus
private EnumEmployeeStatus _status;
public EnumEmployeeStatus Status
{
get { return _status; }
set
{
base.OnPropertyChange<short>("status", (short)_status, (short)value);
_status = value;
}
}
#endregion
#region isShownInTaxSheet : bool
private bool _isShownInTaxSheet;
public bool IsShownInTaxSheet
{
get { return _isShownInTaxSheet; }
set
{
base.OnPropertyChange<bool>("isShownInTaxSheet", _isShownInTaxSheet, value);
_isShownInTaxSheet = value;
}
}
#endregion
#region pFMemberType : EnumPFMembershipType
private EnumPFMembershipType _pFMemberType;
public EnumPFMembershipType PFMemberType
{
get { return _pFMemberType; }
set
{
base.OnPropertyChange<short>("pFMemberType", (short)_pFMemberType, (short)value);
_pFMemberType = value;
}
}
#endregion
#region pFMemberShiptDate : DateTime
private DateTime _pFMemberShiptDate;
public DateTime PFMemberShiptDate
{
get { return _pFMemberShiptDate; }
set
{
base.OnPropertyChange<DateTime>("PFMemberShiptDate", _pFMemberShiptDate, value);
_pFMemberShiptDate = value;
}
}
#endregion
#region branchID : ID
private ID _branchID;
public ID BranchID
{
get { return _branchID; }
set
{
base.OnPropertyChange<ID>("branchID", _branchID, value);
_branchID = value;
}
}
#endregion
#region accountNo : string
private string _accountNo;
public string AccountNo
{
get { return _accountNo; }
set
{
base.OnPropertyChange<string>("accountNo", _accountNo, value);
_accountNo = value;
}
}
#endregion
#region outPayBranchID : ID
private ID _outPayBranchID;
public ID OutPayBranchID
{
get { return _outPayBranchID; }
set
{
base.OnPropertyChange<ID>("OutPayBranchID", _outPayBranchID, value);
_outPayBranchID = value;
}
}
#endregion
#region outPayAccountNo : string
private string _outPayAccountNo;
public string OutPayAccountNo
{
get { return _outPayAccountNo; }
set
{
base.OnPropertyChange<string>("outPayAccountNo", _outPayAccountNo, value);
_outPayAccountNo = value;
}
}
#endregion
#region departmentID : ID
private ID _departmentID;
public ID DepartmentID
{
get { return _departmentID; }
set
{
base.OnPropertyChange<ID>("departmentID", _departmentID, value);
_departmentID = value;
}
}
#endregion
#region locationID : ID
private ID _locationID;
public ID LocationID
{
get { return _locationID; }
set
{
base.OnPropertyChange<ID>("locationID", _locationID, value);
_locationID = value;
}
}
#endregion
#region religionID : ID
private ID _religionID;
public ID ReligionID
{
get { return _religionID; }
set
{
base.OnPropertyChange<ID>("religionID", _religionID, value);
_religionID = value;
}
}
#endregion
#region maritalStatus : EnumMaritalStatus
private EnumMaritalStatus _maritalStatus;
public EnumMaritalStatus MaritalStatus
{
get { return _maritalStatus; }
set
{
base.OnPropertyChange<short>("maritalStatus", (short)_maritalStatus, (short)value);
_maritalStatus = value;
}
}
#endregion
#region designationID : ID
private ID _designationID;
public ID DesignationID
{
get { return _designationID; }
set
{
base.OnPropertyChange<ID>("designationID", _designationID, value);
_designationID = value;
}
}
#endregion
#region gradeID : ID
private ID _gradeID;
public ID GradeID
{
get { return _gradeID; }
set
{
base.OnPropertyChange<ID>("gradeID", _gradeID, value);
_gradeID = value;
}
}
#endregion
#region basicSalary : double
private double _basicSalary;
public double BasicSalary
{
get { return _basicSalary; }
set
{
base.OnPropertyChange<double>("basicSalary", _basicSalary, value);
_basicSalary = value;
}
}
#endregion
#region CurrentHistoryId : double
private ID _currentHistoryID;
public ID CurrentHistoryID
{
get { return _currentHistoryID; }
set
{
base.OnPropertyChange<ID>("CurrentHistoryID", _currentHistoryID, value);
_currentHistoryID = value;
}
}
#endregion
#region prevBasic : double
private double _prevBasic;
public double PrevBasic
{
get { return _prevBasic; }
set
{
base.OnPropertyChange<double>("prevBasic", _prevBasic, value);
_prevBasic = value;
}
}
#endregion
#region paymentMode : EnumPaymentMode
private EnumPaymentMode _paymentMode;
public EnumPaymentMode PaymentMode
{
get { return _paymentMode; }
set
{
base.OnPropertyChange<short>("paymentMode", (short)_paymentMode, (short)value);
_paymentMode = value;
}
}
#endregion
#region OutPayPaymentMode : EnumPaymentMode
private EnumPaymentMode _outPayPaymentMode;
public EnumPaymentMode OutPayPaymentMode
{
get { return _outPayPaymentMode; }
set
{
_outPayPaymentMode = value;
}
}
#endregion
#region fatherName : string
private string _fatherName;
public string FatherName
{
get { return _fatherName; }
set
{
base.OnPropertyChange<string>("fatherName", _fatherName, value);
_fatherName = value;
}
}
#endregion
#region isEligibleOT : bool
private bool _isEligibleOT;
public bool IsEligibleOT
{
get { return _isEligibleOT; }
set
{
base.OnPropertyChange<bool>("isEligibleOT", _isEligibleOT, value);
_isEligibleOT = value;
}
}
#endregion
#region descriptionText : string
private string _descriptionText;
public string DescriptionText
{
get { return _descriptionText; }
set
{
base.OnPropertyChange<string>("descriptionText", _descriptionText, value);
_descriptionText = value;
}
}
#endregion
#region desktopUserPass : string
private string _desktopUserPass;
public string DesktopUserPass
{
get { return _desktopUserPass; }
set
{
base.OnPropertyChange<string>("desktopUserPass", _desktopUserPass, value);
_desktopUserPass = value;
}
}
#endregion
#region payrollTypeID : ID
private ID _payrollTypeID;
public ID PayrollTypeID
{
get { return _payrollTypeID; }
set
{
base.OnPropertyChange<ID>("payrollTypeID", _payrollTypeID, value);
_payrollTypeID = value;
}
}
#endregion
#region isAutoProcess : bool
private bool _isAutoProcess;
public bool IsAutoProcess
{
get { return _isAutoProcess; }
set
{
base.OnPropertyChange<bool>("isAutoProcess", _isAutoProcess, value);
_isAutoProcess = value;
}
}
#endregion
#region Role : bool
private EnumRole _role;
public EnumRole Role
{
get { return _role; }
set
{
base.OnPropertyChange<short>("Role", (short)_role, (short)value);
_role = value;
}
}
#endregion
#region cardID : ID
private ID _cardID;
public ID CardID
{
get { return _cardID; }
set
{
base.OnPropertyChange<ID>("cardID", _cardID, value);
_cardID = value;
}
}
#endregion
#region grossSalary : double
private double _grossSalary;
public double GrossSalary
{
get { return _grossSalary; }
set
{
base.OnPropertyChange<double>("grossSalary", _grossSalary, value);
_grossSalary = value;
}
}
#endregion
#region photoPath : string
private string _photoPath;
public string PhotoPath
{
get { return _photoPath; }
set
{
base.OnPropertyChange<string>("photoPath", _photoPath, value);
_photoPath = value;
}
}
#endregion
#region payScaleId : ID
private ID _payScaleId;
public ID PayScaleId
{
get { return _payScaleId; }
set
{
base.OnPropertyChange<ID>("payScaleId", _payScaleId, value);
_payScaleId = value;
}
}
#endregion
#region taxAmount : double
private double _taxAmount;
public double TaxAmount
{
get { return _taxAmount; }
set
{
base.OnPropertyChange<double>("taxAmount", _taxAmount, value);
_taxAmount = value;
}
}
#endregion
#region confirDate : DateTime
private DateTime _confirDate;
public DateTime ConfirDate
{
get { return _confirDate; }
set
{
base.OnPropertyChange<DateTime>("confirDate", _confirDate, value);
_confirDate = value;
}
}
#endregion
#region discontinueDate : DateTime
private DateTime _discontinueDate;
public DateTime DiscontinueDate
{
get { return _discontinueDate; }
set
{
base.OnPropertyChange<DateTime>("discontinueDate", _discontinueDate, value);
_discontinueDate = value;
}
}
#endregion
#region ArrearFrom : string
private string _arrearFrom;
public string ArrearFrom
{
get { return _arrearFrom; }
set
{
base.OnPropertyChange<string>("ArrearFrom", _arrearFrom, value);
_arrearFrom = value;
}
}
#endregion
#region SearchEmployee : SearchEmployee
public SearchEmployee SearchEmployee
{
get
{
SearchEmployee semp = new SearchEmployee();
semp.EmployeeID = this.ID;
semp.DepartmentID = this.DepartmentID;
semp.CategoryID = this.CategoryID;
semp.LocationID = this.LocationID;
semp.GradeID = this.GradeID;
semp.EmployeeNo = this.EmployeeNo;
semp.Name = this.Name;
return semp;
}
}
#endregion
#region SalaryFractionate : double
private double _salaryFractionate;
public double SalaryFractionate
{
get { return _salaryFractionate; }
set
{
base.OnPropertyChange<double>("SalaryFractionate", _salaryFractionate, value);
_salaryFractionate = value;
}
}
#endregion
#region MonthStatusUpdate : EnumEmployeeStatus
private EnumEmployeeStatus _monthStatusUpdate;
public EnumEmployeeStatus MonthStatusUpdate
{
get { return _monthStatusUpdate; }
set
{
base.OnPropertyChange<short>("MonthStatusUpdate", (short)_monthStatusUpdate, (short)value);
_monthStatusUpdate = value;
}
}
#endregion
#region branch : Branch
private Branch _branch;
public Branch Branch
{
get
{
if (_branch == null && _branchID != null && _branchID.IsUnassigned == false && _branchID.Integer > 0)
{
_branch = new Branch();
_branch = Branch.Get(_branchID);
}
return this._branch;
}
set
{
_branch = value;
}
}
#endregion
#region category : Category
private Category _category;
public Category Category
{
get
{
if (_categoryID != null && !_categoryID.IsUnassigned)
{
if (_categoryID.Integer > 0 && _category == null)
{
_category = new Category();
_category = _category.Get(_categoryID);
}
}
return this._category;
}
set
{
_category = value;
}
}
#endregion
#region department : Department
private Department _department;
public Department Department
{
get
{
if (_departmentID != null && _departmentID.IsUnassigned == false && _departmentID.Integer > 0 && _department == null)
{
_department = new Department();
_department = Department.Get(_departmentID);
}
return this._department;
}
set
{
_department = value;
}
}
#endregion
#region designation : Designation
private Designation _designation;
public Designation Designation
{
get
{
if (_designationID != null && _designationID.IsUnassigned == false && _designationID.Integer > 0 && _designation == null)
{
_designation = new Designation();
_designation = Designation.Get(_designationID);
}
return this._designation;
}
set
{
_designation = value;
}
}
#endregion
#region grade : Grade
private Grade _grade;
public Grade Grade
{
get
{
if (_gradeID != null && !_gradeID.IsUnassigned)
{
if (_gradeID.Integer > 0 && _grade == null)
{
_grade = new Grade();
_grade = Grade.Get(_gradeID);
}
}
return this._grade;
}
set
{
_grade = value;
}
}
#endregion
#region location : Location
private Location _location;
public Location Location
{
get
{
if (_locationID != null && _locationID.IsUnassigned == false && _locationID.Integer > 0 && _location == null)
{
_location = new Location();
_location = Location.Get(_locationID);
}
return this._location;
}
set
{
_location = value;
}
}
#endregion
#region religion : Religion
private Religion _religion;
public Religion Religion
{
get
{
if (_religionID.Integer > 0 && _religion == null)
{
_religion = new Religion();
_religion = Religion.Get(_religionID);
}
return this._religion;
}
set
{
_religion = value;
}
}
#endregion
#region VendorCode : string
private string _vendorCode;
public string VendorCode
{
get
{
return _vendorCode;
}
set
{
base.OnPropertyChange<string>("VendorCode", _vendorCode, value);
_vendorCode = value;
}
}
#endregion
private EmployeeGradeSalary _employeeGradeSalary;
public EmployeeGradeSalary EmployeeGradeSalary
{
get
{
if (_employeeGradeSalary == null)
{
_employeeGradeSalary = new EmployeeGradeSalary();
}
return _employeeGradeSalary;
}
set { _employeeGradeSalary = value; }
}
private EmpLifeCycle _EmpLifeCycle;
public EmpLifeCycle EmpLifeCycle
{
get
{
if (_EmpLifeCycle == null)
{
_EmpLifeCycle = new EmpLifeCycle();
}
return _EmpLifeCycle;
}
set { _EmpLifeCycle = value; }
}
private ObjectsTemplate<EmployeeGradeSalary> _employeeGradeSalarys;
public ObjectsTemplate<EmployeeGradeSalary> EmployeeGradeSalarys
{
get { return _employeeGradeSalarys; }
set { _employeeGradeSalarys = value; }
}
private EmployeePosting _employeePosting;
public EmployeePosting EmployeePosting
{
get
{
if (_employeePosting == null)
{
_employeePosting = new EmployeePosting();
}
return _employeePosting;
}
set { _employeePosting = value; }
}
private EmployeeBankAccount _employeeBankAccount;
public EmployeeBankAccount EmployeeBankAccount
{
get
{
if (_employeeBankAccount == null)
{
_employeeBankAccount = new EmployeeBankAccount();
}
return _employeeBankAccount;
}
set { _employeeBankAccount = value; }
}
private EmployeeBankAccount _employeeOPIBankAccount;
public EmployeeBankAccount EmployeeOPIBankAccount
{
get
{
if (_employeeOPIBankAccount == null)
{
_employeeOPIBankAccount = new EmployeeBankAccount();
}
return _employeeOPIBankAccount;
}
set { _employeeOPIBankAccount = value; }
}
#region Service Factory IEmployeeService : IEmployeeService
internal static IEmployeeService Service
{
get { return Services.Factory.CreateService<IEmployeeService>(typeof(IEmployeeService)); }
}
#endregion
#endregion
#region Functions
public static Employee Get(ID id)
{
Employee oEmployee = null;
#region Cache Header
oEmployee = (Employee)_cache["Get", id];
if (oEmployee != null)
return oEmployee;
#endregion
oEmployee = Employee.Service.Get(id);
#region Cache Footer
_cache.Add(oEmployee, "Get", id);
#endregion
return oEmployee;
}
public static Employee GetByCardID(ID id)
{
Employee oEmployee = null;
#region Cache Header
oEmployee = (Employee)_cache["GetByCardID", id];
if (oEmployee != null)
return oEmployee;
#endregion
oEmployee = Employee.Service.GetByCardID(id);
#region Cache Footer
_cache.Add(oEmployee, "GetByCardID", id);
#endregion
return oEmployee;
}
public static ObjectsTemplate<Employee> Get(ObjectsTemplate<SearchEmployee> searchEmployees)
{
ObjectsTemplate<Employee> oEmployees = null;
oEmployees = Employee.Service.Get(searchEmployees,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
return oEmployees;
}
public static ObjectsTemplate<Employee> GetSubordinates(ID employeeID)
{
ObjectsTemplate<Employee> oEmployees = null;
oEmployees = Employee.Service.GetSubordinates(employeeID);
return oEmployees;
}
public static Employee GetParentEmployee(ID employeeID)
{
Employee oEmployee = null;
#region Cache Header
oEmployee = (Employee)_cache["GetParentEmployee", employeeID];
if (oEmployee != null)
return oEmployee;
#endregion
oEmployee = Employee.Service.GetParentEmployee(employeeID);
#region Cache Footer
_cache.Add(oEmployee, "GetParentEmployee", employeeID);
#endregion
return oEmployee;
}
public static ObjectsTemplate<Employee> GetAllSubordinates(ID nodeiD)
{
ObjectsTemplate<Employee> oEmployees = null;
oEmployees = Employee.Service.GetAllSubordinates(nodeiD);
return oEmployees;
}
public static DataTable GetDesignationWiseEmployeeCountsByDepartmentID(ID departmentID)
{
DataTable oDesignationDt = null;
oDesignationDt = Employee.Service.GetDesignationWiseEmployeeCountsByDepartmentID(departmentID);
return oDesignationDt;
}
public static DataTable GetDFSL()
{
DataTable oDFSL = null;
oDFSL = Employee.Service.GetDFSL();
return oDFSL;
}
public static DataTable GetGradeWiseEmployeeCountsByDepartmentID(ID departmentID)
{
DataTable oGradeDt = null;
oGradeDt = Employee.Service.GetGradeWiseEmployeeCountsByDepartmentID(departmentID);
return oGradeDt;
}
public static DataTable GetGradeWiseEmployeeCounts()
{
DataTable oGradeDt = null;
oGradeDt = Employee.Service.GetGradeWiseEmployeeCounts();
return oGradeDt;
}
public string GenerateLoanNo(string sLonanName)
{
return Service.GenerateLoanNo(this, sLonanName);
}
public SearchEmployee GetSearchEmployee()
{
SearchEmployee oEmployee = new SearchEmployee();
oEmployee.CategoryID = this.CategoryID;
oEmployee.DepartmentID = this.DepartmentID;
oEmployee.EmployeeID = this.ID;
oEmployee.EmployeeNo = this.EmployeeNo;
oEmployee.GradeID = this.GradeID;
oEmployee.LocationID = this.LocationID;
oEmployee.Name = this.Name;
return oEmployee;
}
/// <summary>
/// if User log-in payroll type assinged,Get the employee by employee No and according to user log-in payroll type.
/// other wise only Employee No
/// </summary>
/// <param name="employeeNo"></param>
/// <returns></returns>
public static Employee Get(String employeeNo)
{
Employee oEmployee = null;
#region Cache Header
oEmployee = (Employee)_cache["Get", employeeNo];
if (oEmployee != null)
return oEmployee;
#endregion
if (User.CurrentUser == null || User.CurrentUser.LogInPayrollTypeID == null)
oEmployee = Employee.Service.GetwitoutchekPayrolltype(employeeNo);
else
oEmployee = Employee.Service.Get(employeeNo,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oEmployee, "Get", employeeNo);
#endregion
return oEmployee;
}
/// <summary>
/// Get the employee by the employee No
/// </summary>
/// <param name="employeeNo"></param>
/// <returns></returns>
public static Employee GetwitoutchekPayrolltype(String employeeNo)
{
Employee oEmployee = null;
oEmployee = Employee.Service.Get(employeeNo,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
return oEmployee;
}
public static Employee GetByEmailAddress(string empEmail)
{
Employee oEmployee = null;
oEmployee = Employee.Service.GetByEmailAddress(empEmail);
return oEmployee;
}
public static DataSet GetByMonthStartMonthEndForContinueFromDiscontinue(DateTime startmonth, DateTime endmonth)
{
return Employee.Service.GetByMonthStartMonthEndForContinueFromDiscontinue(startmonth, endmonth,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
public static ObjectsTemplate<Employee> Get()
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["Get"] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.Get(Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "Get");
#endregion
return employees;
}
public static ObjectsTemplate<Employee> GetWithDiscontinue()
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["GetWithDiscontinue"] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetWithDiscontinue(SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "GetWithDiscontinue");
#endregion
return employees;
}
//new for attendance Process
public static ObjectsTemplate<Employee> GetAbsentEmp(DateTime attnDate, EnumWorkPlanGroup wpGroup)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["GetAbsentEmp", attnDate, wpGroup] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetAbsentEmp(attnDate, wpGroup,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "GetAbsentEmp", attnDate, wpGroup);
#endregion
return employees;
}
public static ObjectsTemplate<Employee> GetAttendaceEmp(EnumWorkPlanGroup wpGroup)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["GetAttendaceEmp", wpGroup] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetAttendaceEmp(wpGroup,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "GetAttendaceEmp", wpGroup);
#endregion
return employees;
}
public static ObjectsTemplate<Employee> GetEmpExceptAutoWP(DateTime attnDate)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["GetEmpExceptAutoWP", attnDate] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetEmpExceptAutoWP(attnDate,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "GetEmpExceptAutoWP", attnDate);
#endregion
return employees;
}
public static ObjectsTemplate<Employee> GetDiscontinueEmp(DateTime attnDate, DateTime currentDate)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["GetDiscontinueEmp", attnDate, currentDate] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetDiscontinueEmp(attnDate, currentDate,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "GetDiscontinueEmp", attnDate, currentDate);
#endregion
return employees;
}
//
public static ObjectsTemplate<Employee> Get(int status, DateTime lastDateOfYear)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["Get"] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.Get(status, lastDateOfYear);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "Get");
#endregion
return employees;
}
public static DataTable GetEmpIDsOfManager(int status, DateTime lastDateOfYear)
{
DataTable dataTableOfEmployee = new DataTable("Employee");
try
{
dataTableOfEmployee = Service.GetEmpIDsOfManager(status, lastDateOfYear);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
return dataTableOfEmployee;
}
public static DataTable GetOldEmp()
{
DataTable dataTableOfEmployee = new DataTable("Employee");
try
{
dataTableOfEmployee = Service.GetOldEmp();
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
return dataTableOfEmployee;
}
public static DataTable GetAllEmp()
{
DataTable dataTableOfEmployee = new DataTable("AllEmployee");
try
{
dataTableOfEmployee = Service.GetAllEmp();
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
return dataTableOfEmployee;
}
public void SetObjectID(int IdValue)
{
this.SetID(ID.FromInteger(IdValue));
}
public static ObjectsTemplate<Employee> GetEmpsWithDiscontinue(string empIDs)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["GetEmpsWithDiscontinue", empIDs] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetEmpsWithDiscontinue(empIDs,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "GetEmpsWithDiscontinue", empIDs);
#endregion
return employees;
}
public static ObjectsTemplate<Employee> GetByEmpIDs(string empIDs)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["GetByEmpIDs", empIDs] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetByEmpIDs(empIDs,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "GetByEmpIDs", empIDs);
#endregion
return employees;
}
public static ObjectsTemplate<Employee> GetFssEmp(string empIDs)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["GetFssEmp", empIDs] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetFssEmp(empIDs,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "GetFssEmp", empIDs);
#endregion
return employees;
}
public double ServiceDays(DateTime dDate)
{
double nDays = 0.0;
nDays = Ease.CoreV35.Utility.Global.DateFunctions.DateDiff("d", JoiningDate, dDate);
return nDays;
}
public double ServiceYearsRemaining()
{
double nYears = 0.0;
nYears = Ease.CoreV35.Utility.Global.DateFunctions.DateDiff("d", BirthDate, DateTime.Now);
if (nYears != 0)
nYears = 57 - (nYears / 365);
return nYears;
}
public double ServiceYears(DateTime dDate)
{
double nYears = 0.0;
nYears = Ease.CoreV35.Utility.Global.DateFunctions.DateDiff("d", JoiningDate, dDate);
if (nYears != 0)
nYears = nYears / 365;
return nYears;
}
public double ServiceMonths(DateTime dDate)
{
double nMonths = 0.0;
nMonths = Ease.CoreV35.Utility.Global.DateFunctions.DateDiff("d", JoiningDate, dDate);
if (nMonths != 0)
nMonths = nMonths / 12;
return nMonths;
}
public string ServiceLengths(DateTime dDate)
{
string nMonths = "";
nMonths = Ease.CoreV35.Utility.Global.DateFunctions.DateDiff(JoiningDate, dDate);
return nMonths;
}
public string ServiceLengths2(DateTime dDate)
{
string nMonths = "";
nMonths = (Math.Round((decimal)Ease.CoreV35.Utility.Global.DateFunctions.DateDiff("d", JoiningDate, dDate) / 365, 1)).ToString();
return nMonths;
}
public string ServiceLengthsInWords(DateTime dDate)
{
dDate = dDate.AddDays(-1);
string nText = "";
//int nYear = 0;
//int nMonth = 0;
//int nDays = 0;
//DateTime dtJoining = JoiningDate;
//while (dtJoining < dDate)
//{
// nMonth++;
// dtJoining=dtJoining.AddMonths(1);
// if(nMonth==12)
// {
// nYear++;
// nMonth = 0;
// }
//}
//if (dtJoining > dDate)
//{
// nDays = (DateTime.DaysInMonth(dtJoining.Year, dtJoining.Month) - dtJoining.Day) + (DateTime.DaysInMonth(dDate.Year, dDate.Month) - dDate.Day);
//}
TimeSpan ts = dDate - JoiningDate;
int nTotalDays = ts.Days+1;
int nYears = 0;
int nMonths = 0;
int nDays = 0;
if (nTotalDays >= 365)
{
nYears = nTotalDays / 365;
nTotalDays = nTotalDays % 365;
}
if (nTotalDays >= 30)
{
nMonths = nTotalDays / 30;
nDays = nTotalDays % 30;
}
if (nYears > 0)
nText += nYears.ToString() + " Year(s) ";
if (nMonths > 0)
nText += nMonths.ToString() + " Month(s) ";
if (nDays > 0)
nText += nDays.ToString() + " Day(s) ";
return nText;
}
public ID Save()
{
this.SetAuditTrailProperties();
return Employee.Service.Save(this);
}
public void SaveIntegration(ObjectsTemplate<Employee> oEmps)
{
foreach(Employee emp in oEmps)
emp.SetAuditTrailProperties();
Employee.Service.SaveIntegration(oEmps);
}
public void BulkSave(List<SuccessorErrorList> items)
{
Employee.Service.BulkSave(items);
}
//Save for Excel Upload
public void SaveBasicInfo(Employee item)
{
item.SetAuditTrailProperties();
Employee.Service.SaveBasicInfo(item);
}
public void SaveShortInfo(ObjectsTemplate<Employee> items)
{
foreach (Employee item in items)
item.SetAuditTrailProperties();
Employee.Service.SaveShortInfo(items);
}
public void Delete()
{
Employee.Service.Delete(ID);
}
public void DeleteAll()
{
Employee.Service.DeleteAll();
}
public void UpdateStatus(ID employeeID, ID historyID, DateTime effectDate, EnumEmployeeStatus status)
{
Employee.Service.UpdateStatus(employeeID, historyID, effectDate, status);
}
//added by Hasib 04.05.10
public void UpdateCardInformation(ID employeeID, ID CardID, bool IsAutoProcess)
{
Employee.Service.UpdateCardInformation(employeeID, CardID, IsAutoProcess);
}
//For PF
public void UpdatePFMemship(ID empID, EnumPFMembershipType PFType, DateTime dPFEffectDate)
{
Employee.Service.UpdatePFMemship(empID, PFType, dPFEffectDate);
}
//For Update Tax Amount
public void UpdateTaxAmount(ID employeeID, double TaxAmount)
{
Employee.Service.UpdateTaxAmount(employeeID, TaxAmount);
}
// For Confirm Employee
public void DoConfirm(ID employeeID, DateTime confirmDate, DateTime pfMShipDate, bool IsConfirm, bool IsPFMember)
{
Employee.Service.DoConfirm(employeeID, confirmDate, pfMShipDate, IsConfirm, IsPFMember);
}
// For Undo Confirm
public void UndoConfirm(ID employeeID, bool IsConfirm)
{
Employee.Service.UndoConfirm(employeeID, IsConfirm);
}
// For Transfer Employee
public void UpdatePayrollType(ID employeeID, ID payrollTypeID, DateTime dEffectDate)
{
Employee.Service.UpdatePayrollType(employeeID, payrollTypeID, dEffectDate);
}
// For Upload Role
public void UpdateEmpRole(Employee oEmp)
{
Employee.Service.UpdateEmpRole(oEmp);
}
public static int GetDays(int nPayrollTypeID)
{
int nDays = 0;
nDays = Service.GetDays(nPayrollTypeID);
return nDays;
}
//For Emplyoee Basic Info
public static DataSet GetEmpBasicInfo(string sEmpID)
{
DataSet ds = null;
try
{
ds = Service.GetEmpBasicInfo(sEmpID);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
public static DataSet GetLineManager(int sEmpID)
{
DataSet ds = null;
try
{
ds = Service.GetLineManager(sEmpID);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
public static DataSet GetEmpDetails(string sEmpID)
{
DataSet ds = null;
try
{
ds = Service.GetEmpDetails(sEmpID);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
//public static DataSet GetEmployeeCV(string sEmpID)
//{
// DataSet ds = null;
// try
// {
// ds = Service.GetEmployeeCV(sEmpID);
// }
// catch (Exception e)
// {
// throw new Exception(e.Message, e);
// }
// return ds;
//}
public static DataSet GetEmpForLetterOfIntroDuction(string sEmpID, DateTime month)
{
DataSet ds = null;
try
{
ds = Service.GetEmpForLetterOfIntroDuction(sEmpID, month);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
public static DataSet GetEmpPosting(string sEmpID)
{
DataSet ds = null;
try
{
ds = Service.GetEmpPosting(sEmpID);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
public static DataSet GetEmpConfirmHis(DateTime dEffectDate, DateTime dEffectDate2)
{
DataSet ds = null;
try
{
ds = Service.GetEmpConfirmHis(dEffectDate, dEffectDate,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
public static DataSet GetEmpPFHis(DateTime dEffectDate)
{
DataSet ds = null;
try
{
ds = Service.GetEmpPFHis(dEffectDate);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
public static DataSet GetEmpGradeSalaryChangeInfo(DateTime fromDate, DateTime toDate, string selection)
{
DataSet ds = null;
try
{
ds = Service.GetEmpGradeSalaryChangeInfo(fromDate, toDate, selection);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
return ds;
}
public static DataSet GetEmpJoining(DateTime dEffectDate, DateTime dEffectDate2)
{
DataSet ds = null;
try
{
ds = Service.GetEmpJoining(dEffectDate, dEffectDate2);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
public static DataSet GetEmpJoining4Novartis(DateTime dEffectDate)
{
DataSet ds = null;
try
{
ds = Service.GetEmpJoining4Novartis(dEffectDate,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (Exception e)
{
throw new Exception(e.Message, e);
}
return ds;
}
public static string GetInEmpSQL(ObjectsTemplate<Employee> employees)
{
string InEmpSQL = "";
if (employees.Count == 0) return string.Empty;
foreach (Employee employee in employees)
{
InEmpSQL = InEmpSQL + employee.ID.Integer + ", ";
}
InEmpSQL = InEmpSQL.Substring(0, InEmpSQL.Length - 2);
return InEmpSQL;
}
public static ObjectsTemplate<Employee> GetEmployeesYetNotAssigned()
{
return Employee.Service.GetEmployeesYetNotAssigned();
}
public static ObjectsTemplate<Employee> GetEmployeesByJoiningMonth(DateTime fromDate, DateTime toDate)
{
return Employee.Service.GetEmployeesByJoiningMonth(fromDate, toDate);
}
public static ObjectsTemplate<Employee> GetByDeptIDs(string sIDs)
{
return Employee.Service.GetByDeptIDs(sIDs,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
#endregion
public static ObjectsTemplate<Employee> GetNew(DateTime dt, int payrollTypeID)
{
#region Cache Header
ObjectsTemplate<Employee> employees = _cache["Get"] as ObjectsTemplate<Employee>;
if (employees != null)
return employees;
#endregion
try
{
employees = Service.GetNew(dt,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
#region Cache Footer
_cache.Add(employees, "Get");
#endregion
return employees;
}
public static DataSet GetITAndBasic(DateTime startdate, DateTime endDate)
{
return Employee.Service.GetITAndBasic(startdate, endDate);
}
public static ObjectsTemplate<Employee> GetAllEmps()
{
return Employee.Service.GetAllEmps();
}
public static DataSet GetCashAdvice(string sEmpIDs, string dSalDate)
{
DataSet oDataSet = new DataSet();
oDataSet = Employee.Service.GetCashAdvice(sEmpIDs, dSalDate);
return oDataSet;
}
public static DataSet GetEmpBasicInfoForPSlip(string sEmpIDs)
{
DataSet oDataSet = new DataSet();
oDataSet = Employee.Service.GetEmpBasicInfoForPSlip(sEmpIDs);
return oDataSet;
}
public static DataSet GetEmpBasicInfoForPSlipNew(string sEmpIDs,DateTime dt)
{
DataSet oDataSet = new DataSet();
oDataSet = Employee.Service.GetEmpBasicInfoForPSlipNew(sEmpIDs, dt);
return oDataSet;
}
public ObjectsTemplate<SearchEmployee> Find()
{
IEmployeeFind search = new SearchManager((IEmployeeSearch)this, EnumSearchFrom.Employee);
return search.Find();
}
public static ObjectsTemplate<Employee> GetForSuperUser()
{
ObjectsTemplate<Employee> oEmployees = null;
oEmployees = Employee.Service.GetForSuperUser();
return oEmployees;
}
public static ObjectsTemplate<Employee> GetJoiningData(DateTime formDate)
{
ObjectsTemplate<Employee> oEmployees = null;
oEmployees = Employee.Service.GetJoiningData(formDate);
return oEmployees;
}
public static Employee Get4Web(String employeeNo)
{
Employee oEmployee = null;
#region Cache Header
oEmployee = (Employee)_cache["Get", employeeNo];
if (oEmployee != null)
return oEmployee;
#endregion
if (User.CurrentUser == null || User.CurrentUser.LogInPayrollTypeID == null)
oEmployee = Employee.Service.GetwitoutchekPayrolltype(employeeNo);
else
oEmployee = Employee.Service.Get4Web(employeeNo);
#region Cache Footer
_cache.Add(oEmployee, "Get", employeeNo);
#endregion
return oEmployee;
}
public Employee GetDepartmentHead()
{
if (this.DepartmentID == null) return null;
return Employee.Service.GetDepartmentHead(EnumOGPositionType.DH, this.DepartmentID);
}
public static string GetQueryForAllSubordinates(ID nodeiD)
{
string query = null;
query = Employee.Service.GetQueryForAllSubordinates(nodeiD);
return query;
}
public static DataSet GetRCAssignedEmp()
{
return Employee.Service.GetRCAssignedEmp();
}
public static DataSet GetRCNotAssignedEmp()
{
return Employee.Service.GetRCNotAssignedEmp();
}
public static DataSet GetUploadedComponents(DateTime firstDate, DateTime lastDate)
{
return Employee.Service.GetUploadedComponents(firstDate, lastDate);
}
public static DataSet GetUploadedComponentDetails(int uploadedComponentId)
{
return Employee.Service.GetUploadedComponentDetails(uploadedComponentId);
}
}
#endregion
public class EmployeesCurrentPosition
{
public int EmployeeID { get; set; }
public string CurrentPosition { get; set; }
public string Level1 { get; set; }
public string Level2 { get; set; }
public string Level3 { get; set; }
public string Level4 { get; set; }
public string Level5 { get; set; }
public string Level6 { get; set; }
}
#region IEmployee Service
public interface IEmployeeService
{
DataSet GetEmpBasicInfoForPSlip(string sEmpIDs);
DataSet GetEmpBasicInfoForPSlipNew(string sEmpIDs,DateTime dt);
Employee Get(ID id);
ObjectsTemplate<Employee> GetForSuperUser();
Employee GetByCardID(ID id);
Employee Get(string emloyeeNo, int payrollTypeID);
Employee GetByEmailAddress(string empEmail);
Employee GetwitoutchekPayrolltype(String employeeNo);
Employee GetParentEmployee(ID employeeID);
Employee GetDepartmentHead(EnumOGPositionType type, ID departmentID);
ObjectsTemplate<Employee> Get(int payrollTypeID);
ObjectsTemplate<Employee> GetAllEmps();
ObjectsTemplate<Employee> GetWithDiscontinue(int payrollTypeID);
ObjectsTemplate<Employee> GetSubordinates(ID employeeID);
ObjectsTemplate<Employee> GetAllSubordinates(ID nodeID);
ObjectsTemplate<Employee> GetAbsentEmp(DateTime attnDate, EnumWorkPlanGroup wpGroup, int payrollTypeID);//for Attendance Process
ObjectsTemplate<Employee> GetAttendaceEmp(EnumWorkPlanGroup wpGroup, int payrollTypeID);//for Attendance Process
ObjectsTemplate<Employee> GetEmpExceptAutoWP(DateTime attnDate, int payrollTypeID);//for Attendance Process
ObjectsTemplate<Employee> GetDiscontinueEmp(DateTime attnDate, DateTime currentDate, int payrollTypeID);//for Attendance Process
ObjectsTemplate<Employee> Get(int status, DateTime lastDateOfYear);
DataTable GetEmpIDsOfManager(int status, DateTime lastDateOfYear);
DataTable GetOldEmp();
DataTable GetAllEmp();
void DoConfirm(ID employeeID, DateTime confirmDate, DateTime pfMShipDate, bool IsConfirm, bool IsPFMember);
void UndoConfirm(ID employeeID, bool IsPFMember);
void UpdateStatus(ID employeeID, ID HistoryID, DateTime effectDate, EnumEmployeeStatus status);
void UpdatePFMemship(ID empID, EnumPFMembershipType PFType, DateTime dPFEffectDate);
void UpdateTaxAmount(ID empID, double TaxAmount);
void UpdateEmpRole(Employee oEmp);
ObjectsTemplate<Employee> GetNew(DateTime dt, int payrollTypeID);
void UpdatePayrollType(ID empID, ID payrollTypeID, DateTime dEffectDate);
ID Save(Employee item);
void SaveIntegration(ObjectsTemplate<Employee> oEmps);
void BulkSave(List<SuccessorErrorList> items);
void Delete(ID id);
void DeleteAll();
string GenerateLoanNo(Employee oEmp, string sLoanName);
void UpdateCardInformation(ID employeeID, ID CardID, bool IsAutoProcess);
ObjectsTemplate<Employee> Get(ObjectsTemplate<SearchEmployee> searchEmployees, int payrollTypeID);
DataSet GetEmpBasicInfo(string sEmpID);
DataSet GetLineManager(int sEmpID);
DataSet GetEmpDetails(string sEmpID);
//DataSet GetEmployeeCV(string sEmpID);
DataSet GetEmpForLetterOfIntroDuction(string sEmpID, DateTime month);
DataSet GetEmpPosting(string sEmpID);
DataSet GetEmpGradeSalaryChangeInfo(DateTime fromDate, DateTime toDate,string selection);
DataSet GetEmpJoining(DateTime dEffectDate, DateTime dEffectDate2);
DataSet GetEmpConfirmHis(DateTime dEffectDate, DateTime dEffectDate2, int payrollTypeID);
DataSet GetEmpPFHis(DateTime dEffectDate);
int GetDays(int nPayrollTypeID);
void SaveBasicInfo(Employee item);
void SaveShortInfo(ObjectsTemplate<Employee> items);
ObjectsTemplate<Employee> GetByEmpIDs(string empIDs, int payrollTypeID);
ObjectsTemplate<Employee> GetFssEmp(string empIDs, int payrollTypeID);
ObjectsTemplate<Employee> GetEmpsWithDiscontinue(string empIDs, int payrollTypeID);
DataSet GetEmpJoining4Novartis(DateTime dEffectDate, int payrollTypeID);
ObjectsTemplate<Employee> GetEmployeesYetNotAssigned();
ObjectsTemplate<Employee> GetEmployeesByJoiningMonth(DateTime fromDate, DateTime toDate);
ObjectsTemplate<Employee> GetByDeptIDs(string sIDs, int payrollTypeID);
DataSet GetByMonthStartMonthEndForContinueFromDiscontinue(DateTime startmonth, DateTime endmonth, int payrollTypeID);
DataSet GetITAndBasic(DateTime startdate, DateTime endDate);
ObjectsTemplate<Employee> GetJoiningData(DateTime formDate);
DataTable GetDesignationWiseEmployeeCountsByDepartmentID(ID departmentID);
DataTable GetDFSL();
DataTable GetGradeWiseEmployeeCountsByDepartmentID(ID departmentID);
DataTable GetGradeWiseEmployeeCounts();
Employee Get4Web(string employeeNo);
DataSet GetCashAdvice(string sEmpIDs, string dSalDate);
string GetQueryForAllSubordinates(ID nodeiD);
DataSet GetRCAssignedEmp();
DataSet GetRCNotAssignedEmp();
DataSet GetUploadedComponents(DateTime firstDate, DateTime lastDate);
DataSet GetUploadedComponentDetails(int uploadedComponentId);
}
#endregion
}