示例#1
0
    def delete(self, sale_id):

        try:
            products_from_sale = SoldProductModel.find_by_sale_id(sale_id)
            payments_from_sale = TransactionModel.find_by_sale_id(sale_id)

            for sold_product in products_from_sale:
                SoldProductModel.delete_from_db(sold_product.sold_product_id)

            for payment in payments_from_sale:
                TransactionModel.delete_from_db(payment.transaction_id)

            SaleModel.delete_from_db(sale_id)

        except:
            return {"message": "An error occurred deleting the sale"}, 500

        return {"message": "Sale deleted"}, 200
示例#2
0
    def get(self, sale_id):
        sale = SaleModel.find_by_id(sale_id)

        if not sale:
            return {"message": "no sale with that id"}, 404

        products_from_sale = SoldProductModel.find_by_sale_id(sale_id)
        payments_from_sale = TransactionModel.find_by_sale_id(sale_id)

        return {"sale_id": sale.sale_id,
                "date": str(sale.date)[:19],
                "client": sale.client.json(),
                "total": sale.total,
                "discount": sale.discount,
                "user_commission": sale.user_commission,
                "promoter_commission": sale.promoter_commission,
                "payments": [payment.json() for payment in payments_from_sale],
                "products": [product.json() for product in products_from_sale],
                "deleted": sale.deleted}, 200