Import struttura base del progetto

This commit is contained in:
Fabio Scotto di Santolo
2021-06-20 10:31:04 +02:00
parent c767a01a99
commit 2e1b532e5c
11 changed files with 443 additions and 0 deletions

0
models/__init__.py Normal file
View File

23
models/department.py Normal file
View 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
View 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
View 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}) "