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 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 Get(); List GetByDepartment(int departmentID); int Save(RecruitmentRequisition oEmployeeRequisition); void Delete(int ID); List 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 }