Import struttura base del progetto
This commit is contained in:
0
models/__init__.py
Normal file
0
models/__init__.py
Normal file
23
models/department.py
Normal file
23
models/department.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from models.location import Location
|
||||
|
||||
|
||||
class Department:
|
||||
def __init__(self, department_id: int, name: str, location: Location):
|
||||
self.__department_id = department_id
|
||||
self.__name = name
|
||||
self.__location = location
|
||||
|
||||
@property
|
||||
def department_id(self) -> int:
|
||||
return self.__department_id
|
||||
|
||||
@property
|
||||
def name(self) -> str:
|
||||
return self.__name
|
||||
|
||||
@property
|
||||
def location_id(self) -> Location:
|
||||
return self.__location
|
||||
|
||||
def __str__(self):
|
||||
return f"Department({self.__department_id}, {self.__name}, {self.__location})"
|
||||
67
models/employee.py
Normal file
67
models/employee.py
Normal file
@@ -0,0 +1,67 @@
|
||||
from datetime import date
|
||||
|
||||
from models.department import Department
|
||||
|
||||
|
||||
class Person:
|
||||
def __init__(self, first_name, last_name):
|
||||
self.__first_name = first_name
|
||||
self.__last_name = last_name
|
||||
|
||||
@property
|
||||
def first_name(self) -> str:
|
||||
return self.__first_name
|
||||
|
||||
@property
|
||||
def last_name(self) -> str:
|
||||
return self.__last_name
|
||||
|
||||
|
||||
class Employee(Person):
|
||||
def __init__(self, employee_id, first_name, last_name, email, phone_number,
|
||||
hire_date, department, job_id=0, salary=0, manager_id=0):
|
||||
super().__init__(first_name, last_name)
|
||||
self.__employee_id = employee_id
|
||||
self.__email = email
|
||||
self.__phone_number = phone_number
|
||||
self.__hire_date = hire_date
|
||||
self.__department = department
|
||||
self.__job_id = job_id
|
||||
self.__salary = salary
|
||||
self.__manager_id = manager_id
|
||||
|
||||
@property
|
||||
def employee_id(self) -> int:
|
||||
return self.__employee_id
|
||||
|
||||
@property
|
||||
def email(self) -> str:
|
||||
return self.__email
|
||||
|
||||
@property
|
||||
def phone_number(self) -> str:
|
||||
return self.__phone_number
|
||||
|
||||
@property
|
||||
def hire_date(self) -> date:
|
||||
return self.__hire_date
|
||||
|
||||
@property
|
||||
def department(self) -> Department:
|
||||
return self.__department
|
||||
|
||||
@property
|
||||
def job_id(self) -> int:
|
||||
return self.__job_id
|
||||
|
||||
@property
|
||||
def salary(self) -> float:
|
||||
return self.__salary
|
||||
|
||||
@property
|
||||
def manager_id(self) -> int:
|
||||
return self.__manager_id
|
||||
|
||||
def __str__(self):
|
||||
return f"Employee({self.__employee_id}, {self.first_name}, {self.last_name}, " \
|
||||
f"{self.__email}, {self.__phone_number}, {self.__hire_date})"
|
||||
37
models/location.py
Normal file
37
models/location.py
Normal file
@@ -0,0 +1,37 @@
|
||||
class Location:
|
||||
def __init__(self, location_id: int, street_address: str, postal_code: str,
|
||||
city: str, state_province: str, country_id: int):
|
||||
self.__location_id = location_id
|
||||
self.__street_address = street_address
|
||||
self.__postal_code = postal_code
|
||||
self.__city = city
|
||||
self.__state_province = state_province
|
||||
self.__country_id = country_id
|
||||
|
||||
@property
|
||||
def location_id(self) -> int:
|
||||
return self.__location_id
|
||||
|
||||
@property
|
||||
def street_address(self) -> str:
|
||||
return self.__street_address
|
||||
|
||||
@property
|
||||
def postal_code(self) -> str:
|
||||
return self.__postal_code
|
||||
|
||||
@property
|
||||
def city(self) -> str:
|
||||
return self.__city
|
||||
|
||||
@property
|
||||
def state_province(self) -> str:
|
||||
return self.__state_province
|
||||
|
||||
@property
|
||||
def country_id(self) -> int:
|
||||
return self.__country_id
|
||||
|
||||
def __str__(self):
|
||||
return f"Location({self.__location_id}, {self.__postal_code}, " \
|
||||
f"{self.__street_address}, {self.__city}, {self.__state_province}) "
|
||||
Reference in New Issue
Block a user