Files
hamkadr/src/JobsMedical.Web/Models/Enums.cs
T
soroush.asadi 563a40d1f4 Add hiring, AI parser+admin, OTP auth, employer dashboard, profit-share pay
- Hiring (استخدام) listings: JobOpening + /Jobs browse/detail + home section
- Heuristic Persian listing-parser + admin queue (/Admin) → publish shift/job
- Phone-OTP cookie auth + visitor-history linking + profile; Admin role gate
- Employer side: self-serve facility registration, dashboard, post/manage shifts & jobs, applicants list with contact
- Compensation models: fixed / hourly / profit-share (درصدی) / negotiable / choice (به انتخاب شما); SharePercent + JalaliDate.PayLabel; parser + filter

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 06:26:54 +03:30

77 lines
1.8 KiB
C#

namespace JobsMedical.Web.Models;
public enum UserRole
{
Doctor = 0,
FacilityAdmin = 1,
Admin = 2
}
public enum FacilityType
{
Hospital = 0, // بیمارستان
Clinic = 1, // کلینیک
Polyclinic = 2 // درمانگاه
}
public enum ShiftType
{
Day = 0, // روز
Evening = 1, // عصر
Night = 2, // شب
OnCall = 3 // آنکال
}
public enum ShiftStatus
{
Open = 0, // باز
Filled = 1, // پر شده
Expired = 2, // منقضی
Cancelled = 3 // لغو شده
}
public enum ShiftSource
{
Direct = 0, // ثبت مستقیم مرکز درمانی
Admin = 1, // ثبت توسط ادمین
Aggregated = 2 // جمع‌آوری شده از کانال‌ها
}
public enum PayType
{
PerShift = 0, // مقطوع برای هر شیفت
PerHour = 1, // ساعتی
Negotiable = 2, // توافقی
Percentage = 3 // درصدی / سهم درآمد
}
public enum ApplicationStatus
{
Interested = 0, // اعلام تمایل
Accepted = 1, // پذیرفته شده
Rejected = 2, // رد شده
Withdrawn = 3 // انصراف
}
public enum RawListingStatus
{
New = 0, // جدید
Normalized = 1, // تبدیل شده به شیفت
Discarded = 2 // کنار گذاشته شده
}
public enum EmploymentType
{
FullTime = 0, // تمام‌وقت
PartTime = 1, // پاره‌وقت
Contract = 2, // قراردادی
Plan = 3 // طرح
}
/// <summary>What an aggregated/raw listing turned out to be — a shift or a hiring opening.</summary>
public enum ListingKind
{
Shift = 0,
Job = 1
}