예제 #1
0
 def additem(self, _id, code):
     item_dao = item.ItemDAO()
     if item_dao.read(code=code):
         basket_dao = basket.BasketDAO()
         return basket_dao.additem(_id, code)
     self.logger.error("Item with code '%s', does not exist in inventory",
                       code)
     return False
예제 #2
0
    def get(self, _code=None, _name=None):
        """
        Gets an item in inventory either by code or name.

        :param code: item code. \n
        :type code: string. \n
        :param name: item name. \n
        :type name: string. \n
        :returns: item dictionary. \n
        :rtype: `dict`.
        """
        if not _code and not _name:
            raise ValueError("Must specify code and name!")
        _item = item.ItemDAO()
        return _item.read(code=_code, name=_name)
예제 #3
0
    def remove(self, _code=None, _name=None):
        """
        Removes an item from inventory by code or name.

        :param code: item code. \n
        :type code: string. \n
        :param name: item name. \n
        :type name: string. \n
        :returns: True if success else False. \n
        :rtype: boolean.
        """
        if not _code and not _name:
            raise ValueError("Item name and price cannot be None")
        _item = item.ItemDAO()
        return _item.delete(code=_code, name=_name)
예제 #4
0
 def create(self, codes):
     if not isinstance(codes, list):
         self.logger.error("Codes must be in formt of list.")
         return None
     code_errors = False
     for code in codes:
         if not item.ItemDAO().read(code=code):
             code_errors = True
             break
     if code_errors:
         self.logger.error(
             "There are item codes in your list that do not exist in inventory!"
         )
         return None
     return basket.BasketDAO().create(codes)
예제 #5
0
    def add(self, code, name, price):
        """
        Add item to inventory.

        :param code: item code. \n
        :type code: string. \n
        :param name: item name. \n
        :type name: string. \n
        :param price: item price. \n
        :type price: float. \n
        :returns: True if success else False. \n
        :rtype: boolean.
        """
        price = float(price)
        _item = item.ItemDAO()
        return _item.create(code, name, price)
예제 #6
0
    def update(self, code, _name=None, _price=None):
        """
        Updates an item in inventory either by name, price or both.

        :param code: item code. \n
        :type code: string. \n
        :param name: item name. \n
        :type name: string. \n
        :param price: item price. \n
        :type price: float. \n
        :returns: True if success else False. \n
        :rtype: boolean.
        """
        if not _name and not _price:
            raise ValueError("Item name and price cannot be None")
        _item = item.ItemDAO()
        if _item.update(code, name=_name, price=_price):
            return True
        return False