|
|
from datetime import datetime |
|
|
|
|
|
from models.client import Client |
|
|
|
|
|
|
|
|
class Appointment: |
|
|
def __init__(self, client: Client, date: str, hour: str): |
|
|
self._client = client |
|
|
self._date: datetime = datetime.strptime(date, '%Y-%m-%d') |
|
|
self._hour: datetime = datetime.strptime(hour, '%H:%M') |
|
|
|
|
|
def get_formatted_date(self) -> str: |
|
|
return self._date.strftime('%Y%m%d') |
|
|
|
|
|
def get_formatted_hour(self) -> str: |
|
|
return self._hour.strftime('%H:%M') |
|
|
|
|
|
def get_client_id(self): |
|
|
return self._client.get_identification() |
|
|
|
|
|
def get_client_name(self): |
|
|
return self._client.get_name() |
|
|
|
|
|
def get_client_last_name(self): |
|
|
return self._client.get_last_name() |
|
|
|
|
|
def to_dict(self) -> dict: |
|
|
return { |
|
|
'client': self._client.to_dict(), |
|
|
'date': self._date.strftime('%Y-%m-%d'), |
|
|
'hour': self._hour.strftime('%H:%M') |
|
|
} |
|
|
|
|
|
@classmethod |
|
|
def from_dict(cls, data: dict): |
|
|
return cls(Client(**data['client']), data['date'], data['hour']) |
|
|
|
|
|
def __repr__(self): |
|
|
return f"Appointment: client ({self._client}); date ({self._date}); hour ({self._hour})." |
|
|
|