Browse Source

Implemented transaction_model and transaction_type

Vsevolod Levitan 1 year ago
parent
commit
a41187b7c2
2 changed files with 95 additions and 0 deletions
  1. 89 0
      src/models/transaction_model.py
  2. 6 0
      src/models/transaction_type.py

+ 89 - 0
src/models/transaction_model.py

@@ -0,0 +1,89 @@
+import datetime
+from src.models.measurement_unit_model import measurement_unit_model
+from src.models.nomenclature_model import nomenclature_model
+from src.models.warehouse_model import warehouse_model
+from src.models.abstract_reference import abstract_reference
+from src.validation.validator import validator
+
+
+class transaction_model(abstract_reference):
+    def __init__(self):
+        self.__vtor = validator()
+
+    __warehouse = None
+
+    @property
+    def Warehouse(self):
+        """Склад"""
+        return self.__warehouse
+
+    @Warehouse.setter
+    def Warehouse(self, value):
+        """Склад"""
+        self.__vtor.check_type(value, warehouse_model)
+        self.__warehouse = value
+
+    __nomenclature = None
+
+    @property
+    def Nomenclature(self):
+        """Номенклатура"""
+        return self.__nomenclature
+
+    @Nomenclature.setter
+    def Nomenclature(self, value):
+        """Номенклатура"""
+        self.__vtor.check_type(value, nomenclature_model)
+        self.__nomenclature = value
+
+    __amount = 0
+
+    @property
+    def Amount(self):
+        """Количество товара"""
+        return self.__amount
+
+    @Amount.setter
+    def Amount(self, value):
+        """Количество товара"""
+        self.__vtor.check_number(value)
+        self.__amount = value
+
+    __transactionType = None
+
+    @property
+    def TransactionType(self):
+        """Тип транзакции"""
+        return self.__transactionType
+
+    @TransactionType.setter
+    def TransactionType(self, value):
+        """Тип транзакции"""
+        self.__vtor.check_type(int)
+        self.__transactionType = value
+
+    __measurementUnit = None
+
+    @property
+    def MeasurementUnit(self):
+        """Единица измерения"""
+        return self.__measurementUnit
+
+    @MeasurementUnit.setter
+    def MeasurementUnit(self, value):
+        """Единица измерения"""
+        self.__vtor.check_type(value, measurement_unit_model)
+        self.__measurementUnit = value
+
+    __timeSpan = None
+
+    @property
+    def TimeSpan(self):
+        """Период"""
+        return self.__timeSpan
+
+    @TimeSpan.setter
+    def TimeSpan(self, value):
+        """Период"""
+        self.__vtor.check_type(value, datetime.datetime)
+        self.__timeSpan = value

+ 6 - 0
src/models/transaction_type.py

@@ -0,0 +1,6 @@
+import enum
+
+
+class TransactionType(enum.Enum):
+    income = 0
+    outcome = 1