test-1 / models /appointment.py
vmoras's picture
Initial commit
7083742
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})."