from django.conf import settings
from django.db import models


class Member(models.Model):
    user = models.OneToOneField(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE,
        related_name='member',
        null=True,
        blank=True,
        verbose_name='کاربر'
    )

    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)

    mobile = models.CharField(max_length=20, unique=True)

    national_code = models.CharField(
        max_length=10,
        unique=True,
        null=True,
        blank=True
    )

    birth_date = models.DateField(
        null=True,
        blank=True
    )

    gender = models.CharField(
        max_length=10,
        choices=[
            ("male", "Male"),
            ("female", "Female"),
        ],
        null=True,
        blank=True
    )

    address = models.TextField(
        null=True,
        blank=True
    )

    description = models.TextField(
        null=True,
        blank=True
    )

    is_active = models.BooleanField(default=True)

    inserted_date_time = models.DateTimeField(auto_now_add=True)
    updated_date_time = models.DateTimeField(auto_now=True)

    enroll_code = models.PositiveIntegerField(
        unique=True
    )

    def __str__(self):
        return f"{self.first_name} {self.last_name} ({self.enroll_code})"