File size: 1,169 Bytes
7083742 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | 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})."
|