Database — Core: Recruitment¶
The Staff Requisition Form and hiring pipeline — jobs, applicants, questions and answers, technical marks and interviews — plus the staff Evaluation appraisal sub-system, which shares this module by code evidence rather than by name.
See the Recruitment module.
21 entities in NKO_DB, context NKO_DBEntities1.
How to read this page
Generated from the EF Core model in NKO.Lib/NKO.DataAccess/DbModel/ — class names,
property types, nullability, data annotations and the relationships configured in
NKO_DBEntities1.OnModelCreating.
Each heading is the table name. Where the C# class is named differently — it is often
singular where the table is plural (StockDetail the class, StockDetails the table) — the
class name is stated under the heading. The file name is not authoritative:
StockDetails.cs declares public class StockDetail.
A ✓ in Null means the column is nullable: a nullable value type, or a reference type
with no [Required] — so a [Required] string is shown as not-null. Foreign keys are shown
where the fluent configuration or the <Entity>Id naming convention identifies a target.
Entities¶
ApplicantTechnicalMark¶
inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/ApplicantTechnicalMark.cs
erDiagram
ApplicantTechnicalMark {
int ApplicantTechnicalMarkId PK
int TechnicalInterViewId FK
int JobPositionQuestionId FK
}
TechnicalInterView {
int TechnicalInterViewId PK
}
JobPositionQuestion {
int JobPositionQuestionId PK
}
TechnicalInterView ||--o{ ApplicantTechnicalMark : "TechnicalInterViewId"
JobPositionQuestion ||--o{ ApplicantTechnicalMark : "JobPositionQuestionId"
| Column | Type | Null | Notes |
|---|---|---|---|
Applicant |
int |
PK | |
Technical |
int |
FK → Technical |
|
Job |
int |
FK → Job |
|
Mark |
int |
[Required] · [String |
|
Notes |
string |
[Required] · [String |
|
Created |
Date |
Navigation: TechnicalInterView → TechnicalInterView, JobPositionQuestion → JobPositionQuestion
Applicants¶
inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/Applicants.cs
erDiagram
direction LR
Applicants {
int ApplicantId PK
int CountryId FK
int HighestDegreeReceived FK
int WordOffice FK
int PPTOffice FK
int ExcelOffice FK
int Arabic FK
int English FK
int Turkish FK
int JobId FK
int NationalityId FK
int CommonMajorEducationMajorEducationId FK
}
CommonCountry {
int CommonCountryId PK
}
CommonDegree {
int DegreeId PK
}
CommonGeneralLevel {
int GeneralLevelId PK
}
CommonLanguageLevel {
int LanguageLevelId PK
}
Job {
int JobId PK
}
Nationality {
int NationalityId PK
}
CommonMajorEducation {
int MajorEducationId PK
}
AppUser {
int UserId PK
int ApplicantId FK
}
TechnicalInterView {
int TechnicalInterViewId PK
int ApplicantId FK
}
JobAnswers {
int JobAnswersId PK
int ApplicantId FK
}
Reference {
int ReferenceId PK
int ApplicantId FK
}
CommonCountry ||--o{ Applicants : "CountryId"
CommonDegree ||--o{ Applicants : "HighestDegreeReceived"
CommonGeneralLevel ||--o{ Applicants : "WordOffice, PPTOffice, ExcelOffice"
CommonLanguageLevel ||--o{ Applicants : "Arabic, English, Turkish"
Job ||--o{ Applicants : "JobId"
Nationality ||--o{ Applicants : "NationalityId"
CommonMajorEducation |o--o{ Applicants : "CommonMajorEducationMajorEducationId"
Applicants |o--o{ AppUser : "ApplicantId"
Applicants ||--o{ TechnicalInterView : "ApplicantId"
Applicants ||--o{ JobAnswers : "ApplicantId"
Applicants ||--o{ Reference : "ApplicantId"
| Column | Type | Null | Notes |
|---|---|---|---|
Applicant |
int |
PK | |
Job |
int |
FK → Job |
|
Applicant |
Guid |
||
Firstname |
string |
[Required] · [String |
|
Lastname |
string |
[Required] · [String |
|
Gender |
int |
||
Marital |
int |
||
Email |
string |
✓ | [String |
Phone |
string |
✓ | [String |
Birth |
Date |
||
Birth |
string |
✓ | |
Nationality |
int |
FK → Nationality |
|
Arabic |
int |
FK → Common |
|
English |
int |
FK → Common |
|
Turkish |
int |
FK → Common |
|
Other |
string |
✓ | [String |
Word |
int |
FK → Common |
|
PPTOffice |
int |
FK → Common |
|
Excel |
int |
FK → Common |
|
Country |
int |
FK → Common |
|
City |
string |
✓ | [String |
Has |
bool |
||
Relative |
int? |
✓ | |
Id |
int? |
✓ | |
Last |
string |
✓ | |
Last |
string |
✓ | |
Last |
Date |
✓ | |
Last |
Date |
✓ | |
Old |
string |
✓ | [Column(Type |
Years |
int? |
✓ | |
Highest |
int |
FK → Common |
|
Specialization |
string |
✓ | |
Trainings |
string |
✓ | |
University |
string |
✓ | |
Graduation |
int? |
✓ | |
Has |
bool? |
✓ | |
Shorted |
bool |
||
Interviewed |
bool |
||
Interview |
Date |
✓ | |
Selected |
bool |
||
Hired |
bool |
||
Final |
int |
||
First |
string |
✓ | |
First |
string |
✓ | |
First |
string |
✓ | |
Second |
string |
✓ | |
Second |
string |
✓ | |
Second |
string |
✓ | |
Is |
bool |
||
Created |
Date |
||
Start |
Date |
✓ | |
Status |
Applicants |
✓ | |
Is |
bool |
||
Requester |
string |
✓ | |
Requester |
Date |
✓ | |
Requester |
int? |
✓ | |
General |
int? |
✓ | |
Is |
bool |
||
General |
string |
✓ | |
General |
Date |
✓ | |
Vetting |
int? |
✓ | |
Is |
bool |
||
Vetting |
string |
✓ | |
Vetting |
Date |
✓ | |
References |
int? |
✓ | |
Is |
bool |
||
References |
string |
✓ | |
References |
Date |
✓ | |
Compliance |
int? |
✓ | |
Is |
bool |
||
Compliance |
string |
✓ | |
Compliance |
Date |
✓ | |
Refuse |
int? |
✓ | |
Is |
bool |
||
Refuse |
string |
✓ | |
Refuse |
Date |
✓ | |
Common |
int? |
✓ | FK → Common · shadow column — exists in the database, not on the class |
Navigation: CommonCountry → CommonCountry, CommonDegree → CommonDegree, CommonGeneralLevelWord → CommonGeneralLevel, CommonGeneralLevelPPT → CommonGeneralLevel, CommonGeneralLevelExcel → CommonGeneralLevel, CommonLanguageLevelArabic → CommonLanguageLevel, CommonLanguageLevelEnglish → CommonLanguageLevel, CommonLanguageLevelTurkish → CommonLanguageLevel, Job → Job, Nationality → Nationality, JobAnswers → ICollection<JobAnswers>, AppUsers → ICollection<AppUser>, TechnicalInterViews → ICollection<TechnicalInterView>, References → ICollection<Reference>
Evaluation¶
[Table("Evaluation")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/Evaluation.cs
erDiagram
direction LR
Evaluation {
int EvaluationId PK
int CreatedBy FK
int OfficerId FK
int ManagerId FK
int HRId FK
int NextUserId FK
int EvaluationTypeId FK
}
AppUser {
int UserId PK
}
EvaluationType {
int EvaluationTypeId PK
}
EvaluationExCareer {
int EvaluationExCareerId PK
int EvaluationId FK
}
EvaluationObjective {
int EvaluationObjId PK
int EvaluationId FK
}
EvaluationsDegree {
int EvaluationDegreeId PK
int EvaluationId FK
}
AppUser ||--o{ Evaluation : "CreatedBy, OfficerId"
AppUser |o--o{ Evaluation : "ManagerId, HRId, NextUserId"
EvaluationType ||--o{ Evaluation : "EvaluationTypeId"
Evaluation ||--o{ EvaluationExCareer : "EvaluationId"
Evaluation ||--o{ EvaluationObjective : "EvaluationId"
Evaluation ||--o{ EvaluationsDegree : "EvaluationId"
| Column | Type | Null | Notes |
|---|---|---|---|
Evaluation |
int |
PK | |
Evaluation |
Guid |
||
Date |
Date |
[Column(Type |
|
Date |
Date |
[Column(Type |
|
Evaluation |
int |
FK → Evaluation |
|
Officer |
int |
FK → App |
|
Officer |
Date |
✓ | |
Is |
bool |
||
Manager |
int? |
✓ | FK → App |
Manager |
Date |
✓ | |
Is |
bool |
||
HRId |
int? |
✓ | FK → App |
HRDate |
Date |
✓ | |
Is |
bool |
||
Next |
int? |
✓ | FK → App |
Status |
int |
||
Performance |
int? |
✓ | |
Next |
Date |
✓ | [Column(Type |
Next |
Date |
✓ | [Column(Type |
Isdeleted |
bool |
||
Created |
int |
FK → App |
|
Created |
Date |
Navigation: AppUserCreatedBy → AppUser, AppUserOfficer → AppUser, AppUserManager → AppUser, AppUserHR → AppUser, AppUserNext → AppUser, EvaluationType → EvaluationType, EvaluationExCareer → ICollection<EvaluationExCareer>, EvaluationObjective → ICollection<EvaluationObjective>, EvaluationsDegree → ICollection<EvaluationsDegree>
EvaluationElement¶
[Table("EvaluationElement")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/EvaluationElement.cs
erDiagram
direction LR
EvaluationElement {
int EvaluationEIementId PK
int CreatedBy FK
int ElementTypeId FK
int LevelId FK
}
AppUser {
int UserId PK
}
EvaluationElementType {
int ElementTypeId PK
}
PositionLevel {
int LevelId PK
}
EvaluationsDegree {
int EvaluationDegreeId PK
int ElementId FK
}
AppUser ||--o{ EvaluationElement : "CreatedBy"
EvaluationElementType ||--o{ EvaluationElement : "ElementTypeId"
PositionLevel |o--o{ EvaluationElement : "LevelId"
EvaluationElement ||--o{ EvaluationsDegree : "ElementId"
| Column | Type | Null | Notes |
|---|---|---|---|
Evaluation |
int |
PK | |
Name |
string |
[Required] |
|
Level |
int? |
✓ | FK → Position |
Element |
int |
FK → Evaluation |
|
Weight |
double? |
✓ | |
Is |
bool |
||
Created |
int |
FK → App |
|
Created |
Date |
Navigation: AppUser → AppUser, EvaluationElementType → EvaluationElementType, PositionLevel → PositionLevel, EvaluationsDegree → ICollection<EvaluationsDegree>
EvaluationElementType¶
[Table("EvaluationElementType")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/EvaluationElementType.cs
erDiagram
EvaluationElementType {
int ElementTypeId PK
}
EvaluationElement {
int EvaluationEIementId PK
int ElementTypeId FK
}
EvaluationElementType ||--o{ EvaluationElement : "ElementTypeId"
| Column | Type | Null | Notes |
|---|---|---|---|
Element |
int |
PK | |
Competency |
string |
[Required] · [String |
|
Is |
bool |
||
Score |
int |
Navigation: EvaluationElement → ICollection<EvaluationElement>
EvaluationExCareer¶
[Table("EvaluationExCareer")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/EvaluationExCareer.cs
erDiagram
EvaluationExCareer {
int EvaluationExCareerId PK
int EvaluationId FK
}
Evaluation {
int EvaluationId PK
}
Evaluation ||--o{ EvaluationExCareer : "EvaluationId"
| Column | Type | Null | Notes |
|---|---|---|---|
Evaluation |
int |
PK | |
Evaluation |
int |
FK → Evaluation |
|
Type |
int |
Navigation: Evaluation → Evaluation
EvaluationObjective¶
[Table("EvaluationObjective")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/EvaluationObjective.cs
erDiagram
EvaluationObjective {
int EvaluationObjId PK
int EvaluationId FK
}
Evaluation {
int EvaluationId PK
}
Evaluation ||--o{ EvaluationObjective : "EvaluationId"
| Column | Type | Null | Notes |
|---|---|---|---|
Evaluation |
int |
PK | |
Evaluation |
int |
FK → Evaluation |
|
Obj |
string |
[Required] · [Column(Type |
|
Emp |
int? |
✓ | |
Manager |
int? |
✓ | |
Accomplishments |
string |
✓ | |
Manager |
string |
✓ | |
Measurement |
string |
✓ | |
Area |
int |
||
Created |
int |
||
Created |
Date |
Navigation: Evaluation → Evaluation
EvaluationType¶
[Table("EvaluationType")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/EvaluationType.cs
erDiagram
EvaluationType {
int EvaluationTypeId PK
}
Evaluation {
int EvaluationId PK
int EvaluationTypeId FK
}
EvaluationType ||--o{ Evaluation : "EvaluationTypeId"
| Column | Type | Null | Notes |
|---|---|---|---|
Evaluation |
int |
PK | |
Name |
string |
[Required] · [String |
Navigation: Evaluation → ICollection<Evaluation>
EvaluationsDegree¶
[Table("EvaluationsDegree")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/EvaluationsDegree.cs
erDiagram
EvaluationsDegree {
int EvaluationDegreeId PK
int CreatedBy FK
int EvaluationId FK
int ElementId FK
}
AppUser {
int UserId PK
}
Evaluation {
int EvaluationId PK
}
EvaluationElement {
int EvaluationEIementId PK
}
AppUser ||--o{ EvaluationsDegree : "CreatedBy"
Evaluation ||--o{ EvaluationsDegree : "EvaluationId"
EvaluationElement ||--o{ EvaluationsDegree : "ElementId"
| Column | Type | Null | Notes |
|---|---|---|---|
Evaluation |
int |
PK | |
Evaluation |
int |
FK → Evaluation |
|
Element |
int |
FK → Evaluation |
|
Officer |
int? |
✓ | |
Manager |
int? |
✓ | |
Hr |
int? |
✓ | |
Created |
int |
FK → App |
|
Created |
Date |
Navigation: AppUser → AppUser, Evaluation → Evaluation, EvaluationElement → EvaluationElement
Job¶
[Table("Job")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/Job.cs
erDiagram
direction LR
Job {
int JobId PK
int CreatedBy FK
int PMId FK
int HeadId FK
int HRId FK
int FOId FK
int CountryMId FK
int AnnouncedId FK
int NextUserId FK
int RefuseId FK
int CancelId FK
int HiringManager FK
int PositionId FK
int DepartmentId FK
int BranchId FK
}
AppUser {
int UserId PK
}
AppUserPosition {
int PositionId PK
}
CommonDepartment {
int DepartmentId PK
}
CommonBranch {
int BranchId PK
}
JobProjects {
int JobProjectId PK
int JobId FK
}
JobPermission {
int JobPermissionId PK
int JobId FK
}
Applicants {
int ApplicantId PK
int JobId FK
}
JobPositionQuestion {
int JobPositionQuestionId PK
int JobId FK
}
RecruitmentTracker {
int RecruitmentTrackerId PK
int JobId FK
}
JobQuestion {
int JobQuestionId PK
int JobId FK
}
AppUser ||--o{ Job : "CreatedBy"
AppUser |o--o{ Job : "PMId, HeadId, HRId +7 more"
AppUserPosition ||--o{ Job : "PositionId"
CommonDepartment ||--o{ Job : "DepartmentId"
CommonBranch ||--o{ Job : "BranchId"
Job ||--o{ JobProjects : "JobId"
Job ||--o{ JobPermission : "JobId"
Job ||--o{ Applicants : "JobId"
Job ||--o{ JobPositionQuestion : "JobId"
Job ||--o{ RecruitmentTracker : "JobId"
Job ||--o{ JobQuestion : "JobId"
| Column | Type | Null | Notes |
|---|---|---|---|
Job |
int |
PK | |
Job |
Guid |
||
Position |
int |
FK → App · [Required] |
|
Qty |
int |
||
Gender |
int |
||
Contract |
int |
||
Period |
Date |
[Column(Type |
|
Period |
Date |
[Column(Type |
|
Expected |
Date |
[Column(Type |
|
Justification |
int |
||
Monthy |
decimal? |
✓ | |
Currency |
int? |
✓ | |
Is |
bool |
||
Req |
bool |
||
Req |
Date |
✓ | |
PMId |
int? |
✓ | FK → App |
PMSign |
bool |
||
PMDate |
Date |
✓ | |
PMNote |
string |
✓ | |
Head |
int? |
✓ | FK → App |
Head |
bool |
||
Head |
Date |
✓ | |
Head |
string |
✓ | |
FOId |
int? |
✓ | FK → App |
FOSign |
bool |
||
FODate |
Date |
✓ | |
FONote |
string |
✓ | |
HRId |
int? |
✓ | FK → App |
HRSign |
bool |
||
HRDate |
Date |
✓ | |
HRNote |
string |
✓ | |
Country |
int? |
✓ | FK → App |
Country |
bool |
||
Country |
Date |
✓ | |
Country |
string |
✓ | [Column(Type |
Announced |
int? |
✓ | FK → App |
Announced |
bool |
||
Announced |
Date |
✓ | |
Announced |
string |
✓ | [Column(Type |
Cancel |
bool |
||
Cancel |
string |
✓ | [String |
Cancel |
Date |
✓ | |
Cancel |
int? |
✓ | FK → App |
Next |
int? |
✓ | FK → App |
Status |
int |
||
Refuse |
int? |
✓ | FK → App |
Is |
bool |
||
Refuse |
Date |
✓ | |
Refuse |
string |
✓ | |
Deleted |
bool |
||
Description |
string |
✓ | [Column(Type |
Branch |
int |
FK → Common · [Required] |
|
Exp |
int? |
✓ | |
Open |
Date |
[Required] |
|
Close |
Date |
[Required] |
|
Lang |
int |
||
Department |
int |
FK → Common |
|
Hiring |
int? |
✓ | FK → App |
Created |
int |
FK → App |
|
Created |
Date |
||
Technical |
int |
||
HRPercent |
int |
||
Other |
int |
Navigation: AppUserCreatedBy → AppUser, AppUserPM → AppUser, AppUserHead → AppUser, AppUserHR → AppUser, AppUserFO → AppUser, AppUserCountryM → AppUser, AppUserAnnounced → AppUser, AppUserNext → AppUser, AppUserRefuse → AppUser, AppUserCancel → AppUser, AppUserHiring → AppUser, AppUserPosition → AppUserPosition, CommonDepartment → CommonDepartment, CommonBranch → CommonBranch, Applicants → ICollection<Applicants>, JobPermission → ICollection<JobPermission>, JobProjects → ICollection<JobProjects>, JobQuestion → ICollection<JobQuestion>, RecruitmentTracker → ICollection<RecruitmentTracker>, JobPositionQuestions → ICollection<JobPositionQuestion>
JobAnswers¶
inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/JobAnswers.cs
erDiagram
JobAnswers {
int JobAnswersId PK
int ApplicantId FK
int QuestionId FK
int AnswerId FK
}
Applicants {
int ApplicantId PK
}
JobQuestion {
int JobQuestionId PK
}
JobQuestionAnswer {
int JobQuestionAnswerId PK
}
Applicants ||--o{ JobAnswers : "ApplicantId"
JobQuestion ||--o{ JobAnswers : "QuestionId"
JobQuestionAnswer |o--o{ JobAnswers : "AnswerId"
| Column | Type | Null | Notes |
|---|---|---|---|
Job |
int |
PK | |
Question |
int |
FK → Job |
|
Answer |
int? |
✓ | FK → Job |
Applicant |
int |
FK → Applicants |
|
Free |
string |
✓ | [Column(Type |
Navigation: Applicants → Applicants, JobQuestion → JobQuestion, JobQuestionAnswer → JobQuestionAnswer
JobPermission¶
[Table("JobPermission")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/JobPermission.cs
erDiagram
JobPermission {
int JobPermissionId PK
int UserId FK
int JobId FK
}
AppUser {
int UserId PK
}
Job {
int JobId PK
}
AppUser ||--o{ JobPermission : "UserId"
Job ||--o{ JobPermission : "JobId"
| Column | Type | Null | Notes |
|---|---|---|---|
Job |
int |
PK | |
Job |
int |
FK → Job |
|
User |
int |
FK → App |
Navigation: AppUser → AppUser, Job → Job
JobPositionQuestion¶
[Table("JobPositionQuestion")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/JobPositionQuestion.cs
erDiagram
JobPositionQuestion {
int JobPositionQuestionId PK
int PositionQuestionId FK
int JobId FK
}
PositionQuestion {
int PositionQuestionId PK
}
Job {
int JobId PK
}
ApplicantTechnicalMark {
int ApplicantTechnicalMarkId PK
int JobPositionQuestionId FK
}
PositionQuestion ||--o{ JobPositionQuestion : "PositionQuestionId"
Job ||--o{ JobPositionQuestion : "JobId"
JobPositionQuestion ||--o{ ApplicantTechnicalMark : "JobPositionQuestionId"
| Column | Type | Null | Notes |
|---|---|---|---|
Job |
int |
PK | |
Guid |
Guid |
||
Job |
int |
FK → Job |
|
Position |
int |
FK → Position |
Navigation: PositionQuestion → PositionQuestion, Job → Job, ApplicantTechnicalMarks → ICollection<ApplicantTechnicalMark>
JobProjects¶
inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/JobProjects.cs
erDiagram
JobProjects {
int JobProjectId PK
int JobId FK
int ProjectId FK
int BudgetLineId FK
}
Job {
int JobId PK
}
Project {
int ProjectId PK
}
BudgetLine {
int Id PK
}
Job ||--o{ JobProjects : "JobId"
Project ||--o{ JobProjects : "ProjectId"
BudgetLine ||--o{ JobProjects : "BudgetLineId"
| Column | Type | Null | Notes |
|---|---|---|---|
Job |
int |
PK | |
Project |
int |
FK → Project |
|
Job |
int |
FK → Job |
|
LOE |
double |
||
Budget |
int |
FK → Budget |
Navigation: Job → Job, Project → Project, BudgetLine → BudgetLine
JobQuestion¶
[Table("JobQuestion")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/JobQuestion.cs
erDiagram
JobQuestion {
int JobQuestionId PK
int JobId FK
}
Job {
int JobId PK
}
JobAnswers {
int JobAnswersId PK
int QuestionId FK
}
Job ||--o{ JobQuestion : "JobId"
JobQuestion ||--o{ JobAnswers : "QuestionId"
| Column | Type | Null | Notes |
|---|---|---|---|
Job |
int |
PK | |
Question |
string |
[Required] · [Column(Type |
|
Job |
int |
FK → Job |
|
Question |
int |
||
Question |
int |
||
Is |
bool |
Navigation: Job → Job, JobAnswers → ICollection<JobAnswers>
JobQuestionAnswer¶
[Table("JobQuestionAnswer")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/JobQuestionAnswer.cs
erDiagram
JobQuestionAnswer {
int JobQuestionAnswerId PK
}
JobAnswers {
int JobAnswersId PK
int AnswerId FK
}
JobQuestionAnswer |o--o{ JobAnswers : "AnswerId"
| Column | Type | Null | Notes |
|---|---|---|---|
Job |
int |
PK | |
Answer |
string |
[Required] · [String |
|
Question |
int |
||
Ar |
string |
✓ |
Navigation: JobAnswers → ICollection<JobAnswers>
JobSalaryScale¶
[Table("JobSalaryScale")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/JobSalaryScale.cs
erDiagram
JobSalaryScale {
int JobSalaryScaleId PK
}
| Column | Type | Null | Notes |
|---|---|---|---|
Job |
int |
PK | |
Name |
string |
[Required] · [String |
|
Group |
int? |
✓ |
PositionQuestion¶
[Table("PositionQuestion")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/PositionQuestion.cs
erDiagram
PositionQuestion {
int PositionQuestionId PK
int PositionId FK
}
AppUserPosition {
int PositionId PK
}
JobPositionQuestion {
int JobPositionQuestionId PK
int PositionQuestionId FK
}
AppUserPosition ||--o{ PositionQuestion : "PositionId"
PositionQuestion ||--o{ JobPositionQuestion : "PositionQuestionId"
| Column | Type | Null | Notes |
|---|---|---|---|
Position |
int |
PK | |
Guid |
Guid |
||
Title |
string |
[Required] |
|
Is |
bool |
||
Is |
bool |
||
Max |
int |
||
Type |
Question |
||
Position |
int |
FK → App |
Navigation: AppUserPosition → AppUserPosition, JobPositionQuestions → ICollection<JobPositionQuestion>
RecruitmentTracker¶
[Table("RecruitmentTracker")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/RecruitmentTracker.cs
erDiagram
direction LR
RecruitmentTracker {
int RecruitmentTrackerId PK
int RecruiterId FK
int TechnicalInterviewer FK
int HRInterviewer FK
int OtherInterviewer FK
int DepartmentId FK
int JobId FK
}
AppUser {
int UserId PK
}
CommonDepartment {
int DepartmentId PK
}
Job {
int JobId PK
}
RecruitmentTrackerInterview {
int RecruitmentTrackerInterviewId PK
int TrackerId FK
}
AppUser |o--o{ RecruitmentTracker : "RecruiterId, TechnicalInterviewer, HRInterviewer +1 more"
CommonDepartment |o--o{ RecruitmentTracker : "DepartmentId"
Job ||--o{ RecruitmentTracker : "JobId"
RecruitmentTracker ||--o{ RecruitmentTrackerInterview : "TrackerId"
| Column | Type | Null | Notes |
|---|---|---|---|
Recruitment |
int |
PK | |
Recruitment |
Guid |
||
Job |
int |
FK → Job |
|
Recruiter |
int? |
✓ | FK → App |
Final |
Date |
✓ | |
Interview |
Date |
✓ | |
Notes |
string |
✓ | [Column(Type |
Priority |
int? |
✓ | |
Department |
int? |
✓ | FK → Common |
Is |
bool? |
✓ | |
Status |
int? |
✓ | |
Technical |
int? |
✓ | FK → App |
HRInterviewer |
int? |
✓ | FK → App |
Other |
int? |
✓ | FK → App |
Navigation: AppUser → AppUser, AppUserTechnicalInterviewer → AppUser, AppUserHRInterviewer → AppUser, AppUserOtherInterviewer → AppUser, CommonDepartment → CommonDepartment, Job → Job, RecruitmentTrackerInterview → ICollection<RecruitmentTrackerInterview>
RecruitmentTrackerInterview¶
[Table("RecruitmentTrackerInterview")] · inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/RecruitmentTrackerInterview.cs
erDiagram
RecruitmentTrackerInterview {
int RecruitmentTrackerInterviewId PK
int UserId FK
int TrackerId FK
}
AppUser {
int UserId PK
}
RecruitmentTracker {
int RecruitmentTrackerId PK
}
AppUser ||--o{ RecruitmentTrackerInterview : "UserId"
RecruitmentTracker ||--o{ RecruitmentTrackerInterview : "TrackerId"
| Column | Type | Null | Notes |
|---|---|---|---|
Recruitment |
int |
PK | |
User |
int |
FK → App |
|
Tracker |
int |
FK → Recruitment |
Navigation: AppUser → AppUser, RecruitmentTracker → RecruitmentTracker
TechnicalInterView¶
inherits BaseEntity
NKO.Lib/NKO.DataAccess/DbModel/TechnicalInterView.cs
erDiagram
TechnicalInterView {
int TechnicalInterViewId PK
int RefuseId FK
int NextUserId FK
int RequesterBy FK
int TInterviewerBy FK
int HRInterviewerBy FK
int OInterviewerBy FK
int ApplicantId FK
}
AppUser {
int UserId PK
}
Applicants {
int ApplicantId PK
}
ApplicantTechnicalMark {
int ApplicantTechnicalMarkId PK
int TechnicalInterViewId FK
}
AppUser |o--o{ TechnicalInterView : "RefuseId, NextUserId, RequesterBy +3 more"
Applicants ||--o{ TechnicalInterView : "ApplicantId"
TechnicalInterView ||--o{ ApplicantTechnicalMark : "TechnicalInterViewId"
| Column | Type | Null | Notes |
|---|---|---|---|
Technical |
int |
PK | |
Technical |
Guid |
||
Applicant |
int |
FK → Applicants |
|
Interview |
Date |
✓ | |
Final |
int? |
✓ | |
Created |
Date |
||
Status |
Technical |
||
Is |
bool |
||
Requester |
string |
✓ | |
Requester |
Date |
✓ | |
Requester |
int? |
✓ | FK → App |
Is |
bool |
||
TInterviewer |
string |
✓ | |
TInterviewer |
Date |
✓ | |
TInterviewer |
int? |
✓ | FK → App |
Is |
bool |
||
HRInterviewer |
string |
✓ | |
HRInterviewer |
Date |
✓ | |
HRInterviewer |
int? |
✓ | FK → App |
Is |
bool |
||
OInterviewer |
string |
✓ | |
OInterviewer |
Date |
✓ | |
OInterviewer |
int? |
✓ | FK → App |
Refuse |
int? |
✓ | FK → App |
Is |
bool |
||
Refuse |
Date |
✓ | |
Refuse |
string |
✓ | |
Next |
int? |
✓ | FK → App |
Navigation: AppUserRefuse → AppUser, AppUserNext → AppUser, AppUserRequesterBy → AppUser, AppUserTInterviewerBy → AppUser, AppUserHRInterviewerBy → AppUser, AppUserOInterviewerBy → AppUser, Applicant → Applicants, ApplicantTechnicalMarks → ICollection<ApplicantTechnicalMark>