EchoTex_Payroll/HRM.BO/Requisition/RecruitmentRequisition.cs
2024-10-14 10:01:49 +06:00

151 lines
5.1 KiB
C#

using Ease.Core.Model;
using System;
using System.Collections.Generic;
using System.Data;
namespace HRM.BO
{
#region Class EmployeeRequisition
public class RecruitmentRequisition : AuditTrailBase
{
public RecruitmentRequisition()
{
DepartmentId = 0;
ResignationDate = DateTime.Now;
Position = string.Empty;
GradeId = 0;
MaxEmployee = 0;
BasicPay = string.Empty;
JobDescription = string.Empty;
Justification = string.Empty;
Academic = string.Empty;
Technical = string.Empty;
Age = string.Empty;
Experience = string.Empty;
Gender = EnumGender.Male;
Areas = string.Empty;
OtherRequirements = string.Empty;
Status = EnumEmpReqStatus.RM;
IsCompleted = false;
IsHeadCount = true;
RequisitionUsers = null;
}
public int DepartmentId { get; set; }
public int DepartmentHeadId { get; set; }
public int EmployeeId { get; set; }
public DateTime ResignationDate { get; set; }
public EnumReplacementDueTo ReplacementDueTo { get; set; }
public DateTime ExpectedJoiningDate { get; set; }
public DateTime HrApprovedDate { get; set; }
public DateTime MDApprovedDate { get; set; }
public string Position { get; set; }
public string Type { get; set; }
public string KPI { get; set; }
public string FilePath { get; set; }
public string RecruitmentMethod { get; set; }
public int GradeId { get; set; }
public int DesignationId { get; set; }
public Decimal MaxEmployee { get; set; }
public Decimal BudgetedHeadCount { get; set; }
public string BasicPay { get; set; }
public string JobDescription { get; set; }
public string Justification { get; set; }
public string Academic { get; set; }
public string Technical { get; set; }
public string Age { get; set; }
public string Experience { get; set; }
public EnumGender Gender { get; set; }
public string Areas { get; set; }
public string OtherRequirements { get; set; }
public EnumEmpReqStatus Status { get; set; }
public bool IsCompleted { get; set; }
public bool IsHeadCount { get; set; }
public List<RequisitionUser> RequisitionUsers { get; set; }
public string Remarks { get; set; }
public string RRFNo { get; set; }
}
#endregion
#region Child Classes
public class CvReaderAndExtractor : BasicBaseObject
{
#region Constructor
public CvReaderAndExtractor()
{
}
#endregion
public int SerialId { get; set; }
public string FileName { get; set; }
public byte[] FileAsByteArray { get; set; }
public string FileAsBase64 { get; set; }
public string Name { get; set; }
public string MobileNumber { get; set; }
public string Email { get; set; }
public string IsExisting { get; set; }
public string Ext { get; set; }
public int CVId { get; set; }
public int CandidateId { get; set; }
public byte[] ProfilePicByteArray { get; set; }
public string Education { get; set; }
public string Experience { get; set; }
public string Skill { get; set; }
}
#endregion
#region Child Classes
public class RequisitionUser : BasicBaseObject
{
#region Constructor
public RequisitionUser()
{
RecruitmentRequisitionId = 0;
EmployeeId = 0;
Status = EnumEmpReqStatus.RM;
ChangeDate = DateTime.Now;
ChangeString = string.Empty;
Remarks = string.Empty;
}
#endregion
public int RecruitmentRequisitionId { get; set; }
public int EmployeeId { get; set; }
public EnumEmpReqStatus Status { get; set; }
public DateTime ChangeDate { get; set; }
public string ChangeString { get; set; }
public string Remarks { get; set; }
}
#endregion
#region IRecruitmentRequisitionService Service
public interface IRecruitmentRequisitionService
{
RecruitmentRequisition Get(int empReqID);
List<RecruitmentRequisition> Get();
List<RecruitmentRequisition> GetByDepartment(int departmentID);
int Save(RecruitmentRequisition oEmployeeRequisition);
void Delete(int ID);
List<RequisitionUser> GetRequisitionUserByEmpRequisitionID(int reqID);
void ChangeStatus(RecruitmentRequisition employeeRequisition, int empID, EnumEmpReqStatus enumEmpReqStatus);
DataTable GetEmployeeRequisitionsByDepartmentID(int departmentID, EnumEmpReqStatus reqStatus);
DataTable GetEmployeeRequisitionsForCEO();
DataTable GetEmployeeRequisitionsForHR();
void RequisitionDeclinedByCEO(RecruitmentRequisition employeeRequisition);
void RequisitionDeclinedByHR(RecruitmentRequisition employeeRequisition);
}
#endregion
}