matemat/matemat/primitives/Product.py

49 lines
1.2 KiB
Python

from inspect import stack
class Product(object):
def __init__(self):
print(stack())
self._product_id: int = 0
self._name: str = ''
self._price_member: int = 0
self._price_non_member: int = 0
raise NotImplementedError('This shoudt not be called!')
def __init__(self,
product_id: int,
name: str,
price_member: int,
price_non_member: int):
if product_id == -1:
raise ValueError('Invalid product ID')
self._product_id: int = product_id
self._name: str = name
self._price_member: int = price_member
self._price_non_member: int = price_non_member
@property
def id(self) -> int:
return self._product_id
@property
def name(self) -> str:
return self._name
@property
def price_member(self) -> int:
return self._price_member
@price_member.setter
def price_member(self, price: int):
self._price_member = price
@property
def price_non_member(self) -> int:
return self._price_non_member
@price_non_member.setter
def price_non_member(self, price: int):
self._price_non_member = price