Пример #1
0
 def __init__(self):
     self._employees = [
         {
             'id': 1,
             'name': 'Mary Poppins',
             'role': 'manager'
         },
         {
             'id': 2,
             'name': 'John Smith',
             'role': 'secretary'
         },
         {
             'id': 3,
             'name': 'Kevin Bacon',
             'role': 'sales'
         },
         {
             'id': 4,
             'name': 'Jane Doe',
             'role': 'factory'
         },
         {
             'id': 5,
             'name': 'Robin Williams',
             'role': 'secretary'
         },
     ]
     self.productivity = ProductivitySystem()
     self.payroll = PayrollSystem()
     self.employee_addresses = AddressBook()
Пример #2
0
    def __init__(self):
        self._employees = [{
            'id': 1,
            'name': 'm',
            'role': 'manager'
        }, {
            'id': 2,
            'name': 's',
            'role': 'secretary'
        }, {
            'id': 3,
            'name': 's',
            'role': 'sales'
        }, {
            'id': 4,
            'name': 'f',
            'role': 'factory'
        }, {
            'id': 5,
            'name': 'ts',
            'role': 'secretary'
        }]

        # link components
        self.productivity = ProductivitySystem(
        )  # should I be calling this somewhere?
        self.payroll = PayrollSystem()
        self.addresses = AddressBook()
Пример #3
0
 def __init__(self):
     self._employees = [
         {
             "id": 1,
             "name": "Mary Poppins",
             "role": "manager"
         },
         {
             "id": 2,
             "name": "John Smith",
             "role": "secretary"
         },
         {
             "id": 3,
             "name": "Kevin Bacon",
             "role": "sales"
         },
         {
             "id": 4,
             "name": "Jane Doe",
             "role": "factory"
         },
         {
             "id": 5,
             "name": "Robin Williams",
             "role": "secretary"
         },
     ]
     self.productivity = ProductivitySystem()
     self.payroll = PayrollSystem()
     self.employee_addresses = AddressBook()
Пример #4
0
    def __init__(self):
        self._employees = [
            {
                'id': 1,
                'name': 'Manager',
                'role': 'manager'
            },
            {
                'id': 2,
                'name': 'Secretary',
                'role': 'secretary'
            },
            {
                'id': 3,
                'name': 'Sales Guy',
                'role': 'sales'
            },
            {
                'id': 4,
                'name': 'Factory Worker',
                'role': 'factory'
            },
            {
                'id': 5,
                'name': 'Temporary Secretary',
                'role': 'secretary'
            },
        ]

        self.productivity = ProductivitySystem()
        self.payroll = PayrollSystem()
        self.employee_addresses = AddressBook()
Пример #5
0
class EmployeeDatabase:
    def __init__(self):
        self._employees = [{
            'id': 1,
            'name': 'Mary Poppins',
            'role': 'manager'
        }, {
            'id': 2,
            'name': 'John Smith',
            'role': 'secretary'
        }, {
            'id': 3,
            'name': 'Kevin Bacon',
            'role': 'sales'
        }, {
            'id': 4,
            'name': 'Jane Doe',
            'role': 'factory'
        }, {
            'id': 5,
            'name': 'Robin Williams',
            'role': 'secretary'
        }]
        self.productivity = ProductivitySystem()
        self.payroll = PayrollSystem()
        self.address_book = AddressBook()

    def employees(self):
        return [self._create_employee(**data) for data in self._employees]

    def _create_employee(self, id, name, role):
        address = self.address_book.get_employee_address(id)
        role = self.productivity.get_role(role)
        policy = self.payroll.get_policy(id)
        return Employee(id, name, address, role, policy)
Пример #6
0
 def __init__(self):
     # employees = session.query(DB_Employee).all()
     # _employees = []
     # for emp in employees:
     #     emp_data = {
     #         'id': emp.id,
     #         'name': emp.name,
     #         'role': emp.role,
     #     }
     #     _employees.append(emp_data)
     #
     # self._employees = _employees
     self._employees = [
         {
             'id': 1,
             'name': 'Mary Poppins',
             'role': 'manager'
         },
         {
             'id': 2,
             'name': 'John Smith',
             'role': 'secretary'
         },
         {
             'id': 3,
             'name': 'Kevin Bacon',
             'role': 'sales'
         },
         {
             'id': 4,
             'name': 'Jane Doe',
             'role': 'factory'
         },
         {
             'id': 5,
             'name': 'Robin Williams',
             'role': 'secretary'
         },
     ]
     self.productivity = ProductivitySystem()
     self.payroll = PayrollSystem()
     self.employee_addresses = AddressBook()
Пример #7
0
class EmployeeDatabase:
    def __init__(self):
        # employees = session.query(DB_Employee).all()
        # _employees = []
        # for emp in employees:
        #     emp_data = {
        #         'id': emp.id,
        #         'name': emp.name,
        #         'role': emp.role,
        #     }
        #     _employees.append(emp_data)
        #
        # self._employees = _employees
        self._employees = [
            {
                'id': 1,
                'name': 'Mary Poppins',
                'role': 'manager'
            },
            {
                'id': 2,
                'name': 'John Smith',
                'role': 'secretary'
            },
            {
                'id': 3,
                'name': 'Kevin Bacon',
                'role': 'sales'
            },
            {
                'id': 4,
                'name': 'Jane Doe',
                'role': 'factory'
            },
            {
                'id': 5,
                'name': 'Robin Williams',
                'role': 'secretary'
            },
        ]
        self.productivity = ProductivitySystem()
        self.payroll = PayrollSystem()
        self.employee_addresses = AddressBook()

    @property
    def employees(self):
        return [self._create_employee(**data) for data in self._employees]

    def _create_employee(self, id, name, role):
        address = self.employee_addresses.get_employee_address(id)
        employee_role = self.productivity.get_role(role)
        payroll_policy = self.payroll.get_policy(id)
        return Employee(id, name, address, employee_role, payroll_policy)
Пример #8
0
class EmployeeDatabase(object):
    def __init__(self):
        self._employees = [{
            'id': 1,
            'name': 'm',
            'role': 'manager'
        }, {
            'id': 2,
            'name': 's',
            'role': 'secretary'
        }, {
            'id': 3,
            'name': 's',
            'role': 'sales'
        }, {
            'id': 4,
            'name': 'f',
            'role': 'factory'
        }, {
            'id': 5,
            'name': 'ts',
            'role': 'secretary'
        }]

        # link components
        self.productivity = ProductivitySystem(
        )  # should I be calling this somewhere?
        self.payroll = PayrollSystem()
        self.addresses = AddressBook()

    @property  # getter for employees list
    def employees(self):
        return [self._create_employee(i + 1) for i in range(5)]

    def _create_employee(self, id):
        self.id = id
        self.name = self._employees[id - 1].get('name')
        self.role = self.productivity.get_role(self._employees[id -
                                                               2].get('role'))
        self.policy = self.payroll.get_policy(id)
        self.address = self.addresses.get_employee_address(id)

        return Employee(self.id, self.name, self.role, self.policy,
                        self.address)
Пример #9
0
class EmployeeDatabase:
    def __init__(self):
        self._employees = [
            {
                'id': 1,
                'name': 'Manager',
                'role': 'manager'
            },
            {
                'id': 2,
                'name': 'Secretary',
                'role': 'secretary'
            },
            {
                'id': 3,
                'name': 'Sales Guy',
                'role': 'sales'
            },
            {
                'id': 4,
                'name': 'Factory Worker',
                'role': 'factory'
            },
            {
                'id': 5,
                'name': 'Temporary Secretary',
                'role': 'secretary'
            },
        ]

        self.productivity = ProductivitySystem()
        self.payroll = PayrollSystem()
        self.employee_addresses = AddressBook()

    @property
    def employees(self):
        return [self._create_employee(**data) for data in self._employees]

    def _create_employee(self, id, name, role):
        address = self.employee_addresses.get_employee_address(id)
        employee_role = self.productivity.get_role(role)
        payroll_policy = self.payroll.get_policy(id)
        return Employee(id, name, address, employee_role, payroll_policy)
Пример #10
0
class EmployeeDatabase:
    def __init__(self):
        self._employees = [
            {
                "id": 1,
                "name": "Mary Poppins",
                "role": "manager"
            },
            {
                "id": 2,
                "name": "John Smith",
                "role": "secretary"
            },
            {
                "id": 3,
                "name": "Kevin Bacon",
                "role": "sales"
            },
            {
                "id": 4,
                "name": "Jane Doe",
                "role": "factory"
            },
            {
                "id": 5,
                "name": "Robin Williams",
                "role": "secretary"
            },
        ]
        self.productivity = ProductivitySystem()
        self.payroll = PayrollSystem()
        self.employee_addresses = AddressBook()

    @property
    def employees(self):
        return [self._create_employee(**data) for data in self._employees]

    def _create_employee(self, id, name, role):
        address = self.employee_addresses.get_employee_address(id)
        employee_role = self.productivity.get_role(role)
        payroll_policy = self.payroll.get_policy(id)
        return Employee(id, name, address, employee_role, payroll_policy)
Пример #11
0
from hr import PayrollSystem
from employees import Manager, Secretary, SalesPerson, FactoryWorker
from productivity import ProductivitySystem

manager = Manager(id=1, name="John Smith", weekly_salary=1500)
secretary = Secretary(id=2, name="Rebeka Newman", weekly_salary=1200)
sales_guy = SalesPerson(id=3, name="Tom Jones", weekly_salary=1400, commission=350)
factory_worker = FactoryWorker(id=4, name="PetePeterson", hours_worked=40, hour_rate=15)

employees = [manager, secretary, sales_guy, factory_worker]

productivity_system = ProductivitySystem()
productivity_system.track(employees=employees, hours=40)

payroll_system = PayrollSystem()
payroll_system.calculate_payroll(employees=employees)
Пример #12
0
from hr import PayrollSystem, HourlyPolicy
from productivity import ProductivitySystem
from employees import EmployeeDatabase

productivity_system = ProductivitySystem()
payroll_system = PayrollSystem()
employee_database = EmployeeDatabase()

employees = employee_database.employees()

manager = employees[0]
manager.payroll = HourlyPolicy(55)

productivity_system.track(employees, 40)
payroll_system.calculate_payroll(employees)