Преглед изворни кода

Added setters to nomenclature_model and measurement_unit_model

Vsevolod Levitan пре 1 година
родитељ
комит
97f6e2e486
2 измењених фајлова са 74 додато и 1 уклоњено
  1. 29 0
      src/models/measurement_unit_model.py
  2. 45 1
      src/models/nomenclature_model.py

+ 29 - 0
src/models/measurement_unit_model.py

@@ -37,6 +37,21 @@ class measurement_unit_model (abstract_reference):
 
         return self.__base_measurement_unit
     
+    @base_measurement_unit.setter
+    def base_measurement_unit(self, value):
+        """
+            Базовая единица измерения
+        Args:
+            value (base_measurement_unit/None): Базовая единица измерения
+        Raises:
+            argument_exception: Несоответствие типа аргумента
+        """
+
+        self.__vtor.check_type_any(value, measurement_unit_model, None)
+
+        self.__base_measurement_unit = value
+
+    
     @property
     def base_coefficient(self):
         """
@@ -45,6 +60,20 @@ class measurement_unit_model (abstract_reference):
 
         return self.__base_coefficient
     
+    @base_coefficient.setter
+    def base_coefficient(self, value):
+        """
+            Коэффициент относительно базовой единицы измерения
+        Args:
+            value (Number): Базовый коэффициент
+        Raises:
+            argument_exception: Аргумент не является числом
+        """
+
+        self.__vtor.check_number(value)
+
+        self.__base_coefficient = value
+    
 
     def to_base_unit(self, value):
         """

+ 45 - 1
src/models/nomenclature_model.py

@@ -40,14 +40,58 @@ class nomenclature_model(abstract_reference):
         
         return self.__full_name
     
+    @full_name.setter
+    def full_name(self, value: str):
+        """
+        Полное наименование (до 256 символов)
+        Args:
+            value (str): Полное наименование
+        Raises:
+            argument_exception: Несоответствие типа аргумента
+            argument_exception: Превышена длина аргумента
+        """
+
+        self.__vtor.check_type(value, str)
+        self.__vtor.check_length_less(256)
+
+        self.__full_name = value
+    
     @property
     def measurement_unit(self):
         """Единица измерения"""
 
         return self.__measurement_unit
     
+    @measurement_unit.setter
+    def measurement_unit(self, value: measurement_unit_model):
+        """
+        Единица измерения
+        Args:
+            value (measurement_unit_model): Единица измерения
+        Raises:
+            argument_exception: Несоответствие типа аргумента
+        """
+
+        self.__vtor.check_type(value, measurement_unit_model)
+
+        self.__measurement_unit = value
+    
     @property
     def nomenclature_group(self):
         """Группа номенклатуры"""
 
-        return self.__nomenclature_group
+        return self.__nomenclature_group
+    
+    @nomenclature_group.setter
+    def nomenclature_group(self, value: nomenclature_group_model):
+        """
+        Группа номенклатуры
+        Args:
+            value (nomenclature_group_model): Группа номенклатуры
+        Raises:
+            argument_exception: Несоответствие типа аргумента
+        """
+
+        self.__vtor.check_type(value, nomenclature_group_model)
+
+        self.__nomenclature_group = value