CEL_Payroll/Payroll.BO/Recruitement/IREmployee.cs

220 lines
5.7 KiB
C#
Raw Permalink Normal View History

2024-09-17 14:30:13 +06:00
using System.Text;
using Ease.CoreV35;
using Ease.CoreV35.Model;
using Ease.CoreV35.Caching;
using System.Data.Linq.Mapping;
using System;
namespace Payroll.BO
{
#region IREmployee
[Serializable]
public class IREmployee : UpdateAuditTrail, IworkflowInterface
{
#region Cache Store
private static Cache _cache = new Cache(typeof(IREmployee));
#endregion
#region Constructor
public IREmployee()
{
_nPositionId = null;
_nEmployeeID = null;
_dAppliedDate = DateTime.MinValue;
_sDescription = string.Empty;
_bIsSelected = false;
}
#endregion
#region Properties
#region PositionID : ID
private ID _nPositionId;
public ID PositionID
{
get { return _nPositionId; }
set
{
base.OnPropertyChange<ID>("PositionID", _nPositionId, value);
_nPositionId = value;
}
}
#endregion
#region WfStatus : enumwfStatus
private enumwfStatus _eWfStatus;
public enumwfStatus WfStatus
{
get { return _eWfStatus; }
set { _eWfStatus = value; }
}
#endregion
#region EmployeeID : ID
private ID _nEmployeeID;
public ID EmployeeID
{
get { return _nEmployeeID; }
set
{
base.OnPropertyChange<ID>("EmployeeID", _nEmployeeID, value);
_nEmployeeID = value;
}
}
#endregion
#region Employee
private Employee _employee;
public Employee Employee
{
get
{
if (_employee == null && _nEmployeeID != null)
{
//_employee = new Employee();
_employee = Employee.Get(_nEmployeeID);
}
return _employee;
}
set
{
_employee = value;
}
}
#endregion
#region AppliedDate : DateTime
private DateTime _dAppliedDate;
public DateTime AppliedDate
{
get { return _dAppliedDate; }
set
{
base.OnPropertyChange<DateTime>("AppliedDate", _dAppliedDate, value);
_dAppliedDate = value;
}
}
#endregion
#region Description : string
private string _sDescription;
public string Description
{
get { return _sDescription; }
set
{
base.OnPropertyChange<string>("Description", _sDescription, value);
_sDescription = value;
}
}
#endregion
#region IsSelected : bool
private bool _bIsSelected;
public bool IsSelected
{
get { return _bIsSelected; }
set
{
base.OnPropertyChange<bool>("IsSelected", _bIsSelected, value);
_bIsSelected = value;
}
}
#endregion
#region IworkflowInterface Members
/// <summary>
/// this property is used for work flow, which return leave description
/// </summary>
public string ObjectDescription
{
get
{
string str = "";
str = " " + this.Employee.Name + ", " + this.Employee.DescriptionText
+ " has applied for the position " + this.PositionID;
return str;
}
}
/// <summary>
/// this property is used for work flow, it's a constant value
/// </summary>
public ID SetupID
{
get { return ID.FromInteger(4); }
}
/// <summary>
/// this property is used for work flow, which return leave entry id
/// </summary>
public ID ObjectID
{
get { return this.ID; }
}
#endregion
#endregion
#region Service Factory IInternalRecruitmentService : IInternalRecruitmentService
internal static IInternalRecruitmentService Service
{
get { return Services.Factory.CreateService<IInternalRecruitmentService>(typeof(IInternalRecruitmentService)); }
}
#endregion
public ID SaveIrEmployee()
{
this.SetAuditTrailProperties();
return InternalRecruitment.Service.SaveIrEmployee(this);
}
public static IREmployee Get(int positionID, int empid)
{
IREmployee oIREmployee = null;
#region Cache Header
oIREmployee = (IREmployee)_cache["Get", positionID, empid];
if (oIREmployee != null)
return oIREmployee;
#endregion
oIREmployee = InternalRecruitment.Service.Get(positionID, empid);
#region Cache Footer
_cache.Add(oIREmployee, "Get", positionID, empid);
#endregion
return oIREmployee;
}
public int GetStatusbyWf(enumwfStatus wfstatus)
{
return (int)this.WfStatus;
}
public IREmployee Get(ID irempid)
{
IREmployee oIREmployee = null;
#region Cache Header
oIREmployee = (IREmployee)_cache["Get", irempid];
if (oIREmployee != null)
return oIREmployee;
#endregion
oIREmployee = InternalRecruitment.Service.GetIrempID(irempid);
#region Cache Footer
_cache.Add(oIREmployee, "Get", irempid);
#endregion
return oIREmployee;
}
}
#endregion
}