예제 #1
0
    def put(self, _id):
        """
        Creates or updates an sale using the provided name, price and sale_id.

        :param id: the id of the sale .
        :type int

        :return: success or failure message.
        :rtype: application/json response.
        """
        request_data = Sale.parser.parse_args()
        sale = SaleModel.find_by_id(_id)
        if sale is None:
            sale = sale(**request_data)
        else:
            sale.date = request_data['date']
            sale.total_price = request_data['total_price']
            sale.payment_type = request_data['payment_type']
            sale.status = request_data['status']
            sale.customer_id = request_data['customer_id']
            try:
                sale.save_to_db()
            except:
                return ({
                    'message': 'An error occurred updating the sale .'
                }, 500)
            else:
                return sale.json()
예제 #2
0
    def get(self, _id):
        """
        Finds an sale by its name and returns it.

        :param id: the id of the sale.
        :type str
        :return: sale data.
        :rtype: application/json.
        """
        sale = SaleModel.find_by_id(_id)
        if sale:
            return sale.json()
        else:
            return ({'message': 'sale  not found'}, 404)
예제 #3
0
    def delete(self, _id):
        """
        Finds an sale by its name and deletes it.

        :param name: the name of the sale.
        :type name: str
        :return: success or failure message.
        :rtype: application/json response.
        """

        sale = SaleModel.find_by_id(_id)
        if sale:
            try:
                sale.delete_from_db()
                return {'message': 'sale  deleted'}
            except:
                return ({
                    'message': 'An error occurred deleting the sale .'
                }, 500)
        else:
            return {'message': 'Sale  Not Found'}