def update_receipt(self, receipt): session = self.Session() try: read_receipt = session.query(Receipt) \ .filter(Receipt.id == receipt.id) \ .first() if read_receipt is not None: read_receipt.name = receipt.name read_receipt.description = receipt.description ingredients = [] # todo dnry for ingredient in receipt.ingredients: ingredients.append(Ingredient(ingredient.name, ingredient.calories)) read_receipt.ingredients = ingredients session.commit() except Exception as e: print(e) session.rollback() raise UnknownErrorInStorageSystem() finally: session.close() if read_receipt is None: raise ElementNotPresent()
def get_receipt(self, receipt_id): session = self.Session() try: read_receipt = session.query(Receipt) \ .filter(Receipt.id == receipt_id) \ .first() if read_receipt is not None: ingredients = [] for ingredient in read_receipt.ingredients: ingredients.append(ModelControllerIngredient(ingredient.id, ingredient.name, ingredient.calories)) receipt = ModelControllerReceipt(read_receipt.id, read_receipt.name, read_receipt.description, ingredients) except Exception as e: print(e) raise UnknownErrorInStorageSystem() finally: session.close() return receipt
def delete_ingredient(self, ingredient_id): session = self.Session() try: read_ingredient = session.query(Ingredient) \ .filter(Ingredient.id == ingredient_id) \ .first() if read_ingredient is not None: session.delete(read_ingredient) session.commit() except Exception as e: print(e) session.rollback() raise UnknownErrorInStorageSystem() finally: session.close()
def set_ingredient(self, ingredient): session = self.Session() ingredient_id = -1 try: insert_ingredient = Ingredient(ingredient.name, ingredient.calories); session.add(insert_ingredient) session.commit() ingredient_id = insert_ingredient.id except Exception as e: print(e) session.rollback() raise UnknownErrorInStorageSystem() finally: session.close() return ingredient_id
def get_ingredient(self, ingredient_id): session = self.Session() ingredient = None try: read_ingredient = session.query(Ingredient) \ .filter(Ingredient.id == ingredient_id) \ .first() if read_ingredient is not None: ingredient = ModelControllerIngredient(read_ingredient.id, read_ingredient.name, read_ingredient.calories) except Exception as e: print(e) raise UnknownErrorInStorageSystem() finally: session.close() return ingredient
def update_ingredient(self, ingredient): session = self.Session() try: read_ingredient = session.query(Ingredient) \ .filter(Ingredient.id == ingredient.id) \ .first() if read_ingredient is not None: read_ingredient.name = ingredient.name read_ingredient.calories = ingredient.calories session.commit() except Exception as e: print(e) session.rollback() raise UnknownErrorInStorageSystem() finally: session.close() if read_ingredient is None: raise ElementNotPresent()
def set_receipt(self, receipt): session = self.Session() receipt_id = -1 try: ingredients = [] # todo dnry for ingredient in receipt.ingredients: ingredients.append(Ingredient(ingredient.name, ingredient.calories)) insert_receipt = Receipt(receipt.name, receipt.description, ingredients) session.add(insert_receipt) session.commit() receipt_id = insert_receipt.id except Exception as e: print(e) session.rollback() raise UnknownErrorInStorageSystem() finally: session.close() return receipt_id