<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

class RegistrationDataFactory extends Factory
{
    /**
     * Define the model's default state.
     * @return array
     */
    public function definition(): array
    {
        return [
            'fname' => $this->faker->firstName(),
            'sname' => $this->faker->firstNameMale(),
            'tname' => $this->faker->firstName(),
            'lname' => $this->faker->lastName(),
            'fname_ar' => $this->faker->firstName(),
            'sname_ar' => $this->faker->firstNameMale(),
            'tname_ar' => $this->faker->firstName(),
            'lname_ar' => $this->faker->lastName(),
            'id_number' => '1' . $this->faker->unique()->numberBetween(111111111, 999999999),
            'sex' => 0,
            'dob_hijri' => $this->faker->numberBetween(1421, 1430) . "/" . $this->faker->numberBetween(01, 12) . "/" . $this->faker->numberBetween(01, 25),
            'dob' => $this->faker->numberBetween(1421, 1430) . "/" . $this->faker->numberBetween(01, 12) . "/" . $this->faker->numberBetween(01, 25),
            'phone' => generatePhone(),
            'email' => $this->faker->unique->safeEmail(),
            'city' => $this->faker->randomElement(["Abha", "Ad-Dilam", "Al-Abwa", "Al Artaweeiyah", "Al Bukayriyah", "Badr", "Baljurashi", "Bisha", "Bareq", "Jeddah", "Jubail", "Khaybar", "Mecca", "Medina"]),
            'gpa' => $this->faker->randomFloat(2, 50, 100),
            'certificate_type' => $this->faker->randomElement([0, 1, 2, 3]),
            'group_id' => $this->faker->randomElement([0, 1, 2, 3]),
            'instructor_id' => $this->faker->numberBetween(1, 100)
        ];
    }
}
