Ejemplo n.º 1
0
 def get_resource_by_id(self, resource_id):
     dao = ResourceDAO()
     row = dao.getResourceById(resource_id)
     if not row:
         return jsonify(Error="Post Not Found"), 404
     else:
         result = self.build_resource_dict(row)
     return jsonify(Resources_Posts=result)
Ejemplo n.º 2
0
 def get_total_resource_per_category(self):
     dao = ResourceDAO()
     count_list = dao.getTotalResourcesPerCategory()
     result_list = []
     for row in count_list:
         result = self.build_resource_count(row)
         result_list.append(result)
     return jsonify(Available_Resource_Count=result_list)
Ejemplo n.º 3
0
 def get_available_resource(self):
     dao = ResourceDAO()
     resource_list = dao.getAllAvailableResources()
     result_list = []
     for row in resource_list:
         result = self.build_resource_dict(row)
         result_list.append(result)
     return jsonify(Needed_Resources=result_list)
Ejemplo n.º 4
0
 def get_resources_by_person_id(self, person_id):
     dao = ResourceDAO()
     count_list = dao.getResourcesByPersonId(person_id)
     result_list = []
     for row in count_list:
         result = self.build_resource_dict(row)
         result_list.append(result)
     return jsonify(Resources=result_list)
Ejemplo n.º 5
0
 def get_all_resources(self):
     dao = ResourceDAO()
     resource_list = dao.getAllResources()
     result_list = []
     for row in resource_list:
         result = self.build_resource_dict(row)
         result_list.append(result)
     return jsonify(Resources=result_list)
Ejemplo n.º 6
0
 def updateStock(self, request_id, needed):
     request = self.getRequestById(request_id)
     curr_request_need = request[7]
     need_difference = int(needed) - curr_request_need
     if need_difference != 0:
         resource = ResourceDAO().getResourceIdAndQuantityByRequestId(request_id)
         new_resource_quantity = resource[1] + need_difference
         ResourceDAO().updateResource(resource[0], new_resource_quantity)
         cursor = self.conn.cursor()
         query = "update \"Requests\" " \
                 "set needed = %s " \
                 "where request_id = %s;"
         cursor.execute(query, (needed, request_id))
         self.conn.commit()
         return request_id
Ejemplo n.º 7
0
    def insert_request_json(self, json):
        dao = RequestDAO()
        category_id = json['category_id']
        person_id = json['person_id']
        name = json['name']
        quantity = json['quantity']
        description = json['description']
        needed = quantity
        unit_price = json['max_unit_price']
        address = json['address']
        city = json['city']
        zip_code = json['zip_code']

        if person_id and category_id and name and needed and description and unit_price and quantity \
                and address and city and zip_code:
            resource_id = ResourceDAO().insert(person_id, name, quantity,
                                               category_id)
            request_id = dao.insert(resource_id, person_id, description,
                                    needed, unit_price, address, city,
                                    zip_code)
            result = self.build_request_attributes(request_id, resource_id,
                                                   category_id, person_id,
                                                   name, quantity, description,
                                                   needed, unit_price, address,
                                                   city, zip_code)
            return jsonify(Request=result), 201
        else:
            return jsonify(Error="Unexpected attributes in post request"), 400
Ejemplo n.º 8
0
    def insert_supply_json(self, json):
        dao = SupplyDAO()
        category_id = json['category_id']
        person_id = json['person_id']
        name = json['name']
        quantity = json['quantity']
        brand = json['brand']
        description = json['description']
        available = quantity
        unit_price = json['sunit_price']
        address = json['address']
        city = json['city']
        zip_code = json['zip_code']

        if person_id and category_id and name and available and brand and description and unit_price and quantity \
                and address and city and zip_code:
            resource_id = ResourceDAO().insert(person_id, name, quantity,
                                               category_id)
            supply_id = dao.insert(resource_id, brand, description, available,
                                   unit_price, address, city, zip_code)
            result = self.build_supply_attributes(supply_id, resource_id,
                                                  category_id, person_id, name,
                                                  quantity, brand, description,
                                                  available, unit_price,
                                                  address, city, zip_code)
            return jsonify(Supply=result), 201
        else:
            return jsonify(Error="Unexpected attributes in post request"), 400
Ejemplo n.º 9
0
 def updateStock(self, supply_id, available):
     supply = self.getSupplyById(supply_id)
     curr_supply_stock = supply[8]
     stock_difference = int(available) - curr_supply_stock
     if stock_difference != 0:
         resource = ResourceDAO().getResourceIdAndQuantityBySupplyId(
             supply_id)
         new_resource_quantity = resource[1] + stock_difference
         ResourceDAO().updateResource(resource[0], new_resource_quantity)
         cursor = self.conn.cursor()
         query = "update \"Supplies\" " \
                 "set available = %s " \
                 "where supply_id = %s;"
         cursor.execute(query, (available, supply_id))
         self.conn.commit()
         return supply_id
Ejemplo n.º 10
0
 def update_resource(self, resource_id, quantity):
     dao = ResourceDAO()
     if not dao.updateResource(resource_id):
         return jsonify(Error="Post not found."), 404
     else:
         if int(quantity) <= 0:
             return jsonify(
                 Error="Cannot put non-positive value in quantity"), 400
         else:
             dao.updateResource(resource_id, quantity)
             row = dao.getResourceById(resource_id)
             result = self.build_resource_dict(row)
             return jsonify(Update_Resource=result), 200
Ejemplo n.º 11
0
 def get_total_resource(self):
     dao = ResourceDAO()
     amount = dao.getTotalResources()
     return jsonify(Total_Resources=amount)