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})."