feat: add shift management functionality

This commit is contained in:
2026-08-26 18:53:15 +03:30
parent 2d96978c38
commit aeef95339d
34 changed files with 1953 additions and 15 deletions
+11
View File
@@ -11,4 +11,15 @@ enum DocumentModalityEnum: string
case Sonography = 'sonography';
case Echo = 'echo';
case Radiology = 'radiology';
public function price(): int
{
return match ($this) {
self::CtScan => 1000000,
self::Mri => 1200000,
self::Sonography => 500000,
self::Echo => 700000,
self::Radiology => 400000,
};
}
}
+44
View File
@@ -0,0 +1,44 @@
<?php
namespace App\Enums;
use Carbon\Carbon;
enum ShiftDayEnum: string
{
use EnumHasOptions;
case Saturday = 'شنبه';
case Sunday = 'یکشنبه';
case Monday = 'دوشنبه';
case Tuesday = 'سه‌شنبه';
case Wednesday = 'چهارشنبه';
case Thursday = 'پنج‌شنبه';
case Friday = 'جمعه';
public function carbonDay(): int
{
return match ($this) {
self::Saturday => Carbon::SATURDAY,
self::Sunday => Carbon::SUNDAY,
self::Monday => Carbon::MONDAY,
self::Tuesday => Carbon::TUESDAY,
self::Wednesday => Carbon::WEDNESDAY,
self::Thursday => Carbon::THURSDAY,
self::Friday => Carbon::FRIDAY,
};
}
public static function fromDate(Carbon $date): self
{
return match ($date->dayOfWeek) {
Carbon::SATURDAY => self::Saturday,
Carbon::SUNDAY => self::Sunday,
Carbon::MONDAY => self::Monday,
Carbon::TUESDAY => self::Tuesday,
Carbon::WEDNESDAY => self::Wednesday,
Carbon::THURSDAY => self::Thursday,
Carbon::FRIDAY => self::Friday,
};
}
}