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

164 lines
5.6 KiB
C#

using Ease.Core.Model;
using System;
using System.Collections.Generic;
using System.Data;
namespace HRM.BO
{
public class RecruitementProcess : BasicBaseObject
{
#region Constructor
public RecruitementProcess()
{
_code = "";
_description = String.Empty;
_startDate = DateTime.MinValue;
_endDate = DateTime.MinValue;
_processStatus = EnumRecruitementProcess.None;
_allCandidates = new List< Candidate >();
_allRecruitementSteps = new List<RecruitementStep>();
_allRecruitementSteps = null;
}
#endregion
#region Properties
private string _code;
private string _description;
private DateTime _startDate;
private DateTime _endDate;
private EnumRecruitementProcess _processStatus;
public int requisitionID { get; set;}
private List < Candidate > _allCandidates;
private List< RecruitementStep > _allRecruitementSteps;
public string Code
{
get { return _code; }
set { _code = value; }
}
public string Description
{
get { return _description; }
set { _description = value; }
}
public DateTime StartDate
{
get { return _startDate; }
set { _startDate = value; }
}
public DateTime EndDate
{
get { return _endDate; }
set { _endDate = value; }
}
public EnumRecruitementProcess ProcessStatus
{
get { return _processStatus; }
set { _processStatus = value; }
}
public List<Candidate> AllCandidates { get; set; }
public List<RecruitementStep> Steps { get; set; }
#endregion
}
#region IRecruitementProcessService
public interface IRecruitementProcessService
{
List<RecruitementStep> GetRecruitementSteps(int recruitementID);
List<RecruitementStep> GetRecruitementStepsWithSession(int recruitementID);
RecruitementProcess GetByRequisitionID(int procID);
List<InterviewSession> GetInterveiwSessions(int requisitionID);
List<InterviewSessionCandidate> getSessionActiveCandidatesByStepID(int StepID);
InterviewSession GetInterveiwSession(int interviewSessionID);
List<MemberWiseMark> GetmemberWiseMarkBySetpID(int stepID);
List<MemberWiseMark> GetmemberWiseMarkBySessionID(int interviewSessionID);
RecruitementStep GetRStep(int stepID);
RecruitementStep GetRStep(int recruitementid, int stepSerial);
InterviewSession SaveInterviewSession(InterviewSession intrSession);
void CompleteInterviewSession(InterviewSession item);
void CompleteRecruitementStep(RecruitementStep item);
void SaveMembersMarkByMember(InterviewSession session);
void CompleteMembersMarkByMember(InterviewSession session);
DataTable GetInterveiwSessionsByBoardMember(int employeeid, EnumBaordMemberMarkEntryStatus MarkEntrystatus);
void SendMailInThread(InterviewSession session);
void RescheduleInterViewSession(InterviewSession item);
void CancelInterViewSession(InterviewSession item);
void DeleteStep(int stepID);
void Save(RecruitementProcess obRecruProc);
void SaveCandidatesToProcess(int processID, List<Candidate> allCans);
List< RecruitementProcess >Get();
RecruitementProcess GetByProcessId(int procID);
RecruitementProcess GetProcessID(int status, int empID, int stepID);
RecruitementProcess GetProcess(int processID, int stepID, int empID);
RecruitementProcess GetProcess(int status, int empID);
List< RecruitementStep > Get(int processID);
List< BoardMember > GetBoardMembers(int processID,int stepID);
List< Candidate > GetCanditates(int processID);
List<Candidate> GetCanditates(int processID,int assessmentStatus,int logInID);
Candidate GetByCandediateID(int candidateID);
//void Delete(RecruitementProcess obRecruProc);
//List< MemberWiseMark > Get(int stepID, int processID);
void SaveMemberWiseMark(InterviewSession session);
// void Save(RecruitementProcess obRecruProc, List< RecruitementStep > stepItemsToDelete);
List<SelectedCandidate> GetSelectedCandidates(int processID, int stepID, bool flag);
List<SelectedCandidate> GetSelectedCandidates(int processID, int stepID);
List<RecruitmentType> GetRecruitmentType();
DataSet GetShortListedCandidates(int processID);
RecruitementStep GetRecruitmentStep(int processID,int serial);
void UpdateStep(RecruitementStep obStep);
void UpdateProcess(RecruitementProcess obProcess);
RecruitementProcess CheckCode(string code);
List<RecruitementProcess> GetProcesses(string query);
List<RecruitementStep> GetByAssesmentStatus(int assessmentStatus,int nEmpID);
RecruitementProcess GetProcess(int status);
RecruitementStep GetRecruitmentStep(int processID, int StepStatus,int assessmentStatus);
RecruitmentType GetType(int id);
RecruitementStep GetRecruitmentStepWithStepID(int processID, int stepID);
List<CandidateMarksDetails> GetCandidateMarksDetails(int candidateId);
List<CandidateAverageMarkSummary> GetCandidateAverageMarks(string candidateIds);
void UpdateInterviewStartDate(InterviewSession session);
DataTable GetInterViewInforBycandidateId(int jobId, int candidateId);
void UpdateInterviewAssesmentMark(RecruitmentMarkExtend obProcess);
}
#endregion
}