def insertOrder(self, json): customer_id = json['customer_id'] payment_id = json['payment_id'] request_id = json['request_id'] order_date = json['order_date'] order_price = json['order_price'] order_status = json['order_status'] resources = json['resources'] if customer_id and payment_id and order_date and order_price and order_status and resources: order_dao = OrderDAO() resourceOrders_dao = ResourceOrdersDAO() order_id = order_dao.insert(customer_id, payment_id, request_id, order_date, order_price, order_status) for resource in resources: resourceOrders_dao.insert(order_id, resource["resource_id"], resource["order_quantity"], resource["discount"]) if request_id: request_dao = RequestDAO() request = request_dao.getRequestById(request_id) request_dao.update(request_id, request[0][1], request[0][2], request[0][3], request[0][4], "Accepted") result = self.build_order_attributes(order_id, customer_id, payment_id, request_id, order_date, order_price, order_status, resources) return jsonify(Order=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400
def deleteRequest(self, ReqID): dao = RequestDAO() if not dao.getRequestById(ReqID): return jsonify(Error = "Request not found."), 404 else: dao.delete(ReqID) return jsonify(DeleteStatus = "OK"), 200
def insertReservation(self, json): customer_id = json["customer_id"] request_id = json["request_id"] reservation_date = json["reservation_date"] reservation_status = json["reservation_status"] resources = json["resources"] if customer_id and reservation_date and reservation_status and resources: reservation_dao = ReservationDAO() resourceReservation_dao = ResourceReservationDAO() reservation_id = reservation_dao.insert(customer_id, request_id, reservation_date, reservation_status) for resource in resources: resourceReservation_dao.insert( reservation_id, resource["resource_id"], resource["reservation_quantity"]) if request_id: request_dao = RequestDAO() request = request_dao.getRequestById(request_id) request_dao.update(request_id, request[0][1], request[0][2], request[0][3], request[0][4], "Accepted") result = self.build_reservation_attributes(reservation_id, customer_id, request_id, reservation_date, reservation_status, resources) return jsonify(Reservation=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400
def getRequestById(self, request_id): dao = RequestDAO() row = dao.getRequestById(request_id) if not row: return jsonify(Error="Request Not Found"), 404 else: request = self.fixDict(row) return jsonify(Request=request)
def getAllRequestByKeyword(self, keyword): dao = RequestDAO() requests_list = dao.getRequestByKeyWord(keyword) result_list = [] for row in requests_list: result = self.build_reqs_makes_consumer_dict(row) result_list.append(result) return jsonify(requests=result_list)
def getBuyerByRequestId(self, rq_id): dao = RequestDAO() request_list = dao.getBuyerByRequestId(rq_id) if not request_list: return jsonify(Error="Request Not Found"), 404 else: result = self.build_buyer_dict(request_list) return jsonify(Buyer=result)
def getResourcesByRequestId(self, rq_id): dao = RequestDAO() request_list = dao.getResourcesByRequestId(rq_id) if not request_list: return jsonify(Error="Request Not Found"), 404 else: result = self.build_resource_dict(request_list) return jsonify(Resource=result)
def browseResourcesAvailable(self): dao = RequestDAO() request_list = dao.browseResourcesAvailable() result_list = [] for row in request_list: result = self.build_request_dict(row) result_list.append(result) return jsonify(Request=result_list)
def getAllRequest(self): dao = RequestDAO() requestList = dao.getAllRequest() resultList = [] for row in requestList: result = self._build_request_dict(row) resultList.append(result) return jsonify(Requests = resultList)
def getRequestById(self, request_id): dao = RequestDAO() row = dao.getRequestById(request_id) if not row: return jsonify(Error="Request not found"), 404 else: request = self.build_reqs_makes_consumer_dict(row) return request
def getRequestStatsPerDay(self): dao = RequestDAO() request_list = dao.getRequestStatsPerDay() result_list = [] for row in request_list: result = self.build_reqs_stats_per_date_dict(row) result_list.append(result) return jsonify(request=result_list)
def getRequestByID(self, rid): dao = RequestDAO() request = dao.getRequestById(rid) if not request: return jsonify(Error = "Request Not Found"), 404 else: result = self._build_request_dict(request) return jsonify(Request = result)
def getResourceInRequest(self, request_id): dao = RequestDAO() row = dao.getResourceInRequest(request_id) if not row: return jsonify(Error='Resource not found'), 404 else: resource = self.build_resource_dict(row) return jsonify(Resource=resource)
def deleteRequest(self, request_id): request_dao = RequestDAO() request_category_dao = RequestCategoryDAO() if not request_dao.getRequestById(request_id): return jsonify(Error="Request not found."), 404 else: request_category_dao.delete(request_id) request_dao.delete(request_id) return jsonify(DeleteStatus="OK"), 200
def getRequestsByCustomerId(self, customer_id): customer_dao = CustomerDAO() if not customer_dao.getCustomerById(customer_id): return jsonify(Error="Customer not found."), 404 else: request_list = [] request_dao = RequestDAO() request_list = request_dao.getRequestsByCustomerId(customer_id) result_list = self.fixDict(request_list) return jsonify(Requests=result_list)
def searchProductByRequests(self, args): r_id = args.get("r_id") r_pname = args.get("r_pname") r_date = args.get("r_date") r_qty = args.get("r_qty") pin_id = args.get("pin_id") pin_fname = args.get("pin_fname") pin_lname = args.get("pin_lname") dao = RequestDAO() request_list = [] if (len(args) == 1) and r_id: request_list = dao.GetRequestsByID(r_id) elif (len(args) == 1) and r_pname: request_list = dao.GetRequestsByPNAME(r_pname) elif (len(args) == 1) and r_date: request_list = dao.GetRequestsByDATE(r_date) elif (len(args) == 1) and r_qty: request_list = dao.GetRequestsByQTY(r_qty) elif (len(args) == 1) and pin_id: request_list = dao.GetRequestsByPINID(pin_id) elif (len(args) == 1) and pin_fname: request_list = dao.GetRequestsByPINFNAME(pin_fname) elif (len(args) == 2) and pin_fname and pin_lname: request_list = dao.GetRequestsByPINFULLNAME(pin_fname, pin_lname) else: return jsonify(error="malformed query string"), 400 result_list = [] for row in request_list: result = self.build_request_dict(row) result_list.append(result) print(row) return jsonify(Request=result_list)
def searchRequest(self, args): b_id = args.get("buyer") r_id = args.get("resource") rq_date = args.get("date") dao = RequestDAO() request_list = [] if (len(args) == 3) and b_id and r_id and rq_date: request_list = dao.getRequestByBuyerResourceandDate( rq_date, b_id, r_id) elif (len(args) == 2) and b_id and r_id: request_list = dao.getRequestByBuyerandResource(b_id, r_id) elif (len(args) == 2) and b_id and rq_date: request_list = dao.getRequestByBuyerandDate(b_id, rq_date) elif (len(args) == 2) and r_id and rq_date: request_list = dao.getRequestByResourceandDate(r_id, rq_date) elif (len(args) == 1) and b_id: request_list = dao.getRequestByBuyer(b_id) elif (len(args) == 1) and r_id: request_list = dao.getRequestByResource(r_id) elif (len(args) == 1) and rq_date: request_list = dao.getRequestByDate(rq_date) else: return jsonify(Error="Malformed query string"), 400 if not request_list: return jsonify(Error="Request Not Found"), 404 else: result_list = [] for row in request_list: result = self.build_request_dict(row) result_list.append(result) return jsonify(Requests=result_list)
def getAllRequestedResources(self): dao = RequestDAO() announcement_list = dao.getAllRequestedResources() if not announcement_list: return jsonify(Error="Resources Not Found"), 404 else: result_list = [] for row in announcement_list: result = self.build_resource_requested_dict(row) result_list.append(result) return jsonify(Announcements=result_list)
def getAvailableRequests(self): dao = RequestDAO() request_list = dao.getAvailableRequests() if not request_list: return jsonify(Error="Request Not Found"), 404 else: result_list = [] for row in request_list: result = self.build_request_dict(row) result_list.append(result) return jsonify(Requests=result_list)
def searchRequest(self, args): dao = RequestDAO() resultList = [] if (len(args) == 0): return jsonify(Error = "Malformed query string"), 400 else: requestList = dao.getRequestByKeyword(args) if not requestList: return jsonify(Error = "Request Not Found"), 404 for row in requestList: result = self._build_request_dict(row) resultList.append(result) return jsonify(Requests = resultList)
def insertRequest(self, form): if len(form) != 3 : return jsonify(Error = "Malformed post request"), 400 else: ReQty = form.get('ReQty') BID = form.get('BID') RID = form.get('RID') if ReQty and BID and RID: dao = RequestDAO() req = dao.insert(ReQty, BID, RID) result = self._build_request_dict(req) return jsonify(Request=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400
def getRequestByBID(self, bid): adao = AccountDao() buyer = adao.getBuyerByID(bid) if not buyer: return jsonify(ERROR = 'Buyer Not Found'),404 dao = RequestDAO() requestList = dao.getRequestByBID(bid) resultList = [] for row in requestList: result = self._build_request_dict(row) resultList.append(result) for dict in resultList:#Why? dict['AName'] = AccountHandler().getFNameByID(bid) dict['ALastName'] = AccountHandler().getLNameByID(bid) return jsonify(Requests = resultList)
def searchRequests(self, args): request_title = args.get("request_title") request_status = args.get("request_status") category_name = args.get("category_name") dao = RequestDAO() request_list = [] if (len(args) == 1) and request_title: request_list = dao.getRequestsByTitle(request_title) elif (len(args) == 1) and request_status: request_list = dao.getRequestsByStatus(request_status) elif (len(args) == 1) and category_name: request_list = dao.getRequestsByCategoryName(category_name) else: return jsonify(Error="Malformed query string"), 400 result_list = self.fixDict(request_list) return jsonify(Requests=result_list)
def insertRequest(self, form): if len(form) != 4: return jsonify(Error="Malformed post request"), 400 else: b_id = form['b_id'] r_id = form['r_id'] rq_qty = form['rq_qty'] rq_fulfillment = form['rq_fulfillment'] if b_id and r_id and rq_qty and rq_fulfillment: dao = RequestDAO() rq_id = dao.insert(b_id, r_id, rq_qty, rq_fulfillment) result = self.build_request_attributes(rq_id, b_id, r_id, rq_qty, rq_fulfillment) return jsonify(Request=result), 201 else: return jsonify( Error="Unexpected attributes in post request"), 400
def updateRequest(self, reqid, form): dao = RequestDAO() if not dao.getRequestByID(reqid): return jsonify(Error = "Request not found."), 404 else: if len(form) > 2 or len(form) == 0: return jsonify(Error="Malformed update request"), 400 else: rid = form.get('RID') reqty = form.get('ReQty') bid = form.get('BID') if rid or reqty or bid: req = dao.update(reqid, rid, reqty, bid) result = self._build_request_dict(req) return jsonify(Request=result), 200 else: return jsonify(Error="Unexpected attributes in update request"), 400
def insert_request(self, form): if len(form) != 4: return jsonify(Error="Malformed post request"), 400 else: pin_id = form['pin_id'] r_pname = form['r_pname'] r_qty = form['r_qty'] r_date = form['r_date'] if pin_id and r_pname and r_date and r_qty: dao = RequestDAO() r_id = dao.insert_new_request(pin_id, r_pname, r_qty, r_date) result = self.build_request2_dict(r_id, r_pname, r_qty, r_date, pin_id) return jsonify(NewRequest=result), 201 else: return jsonify( Error="Unexpected attributes in post request"), 400
def updateRequest(self, r_id, form): dao = RequestDAO() if not dao.GetRequestsByID(r_id): return jsonify(Error="Request not found."), 404 else: if len(form) != 4: return jsonify(Error="Malformed update request"), 400 else: pin_id = form['pin_id'] r_pname = form['r_pname'] r_qty = form['r_qty'] r_date = form['r_date'] if pin_id and r_pname and r_date and r_qty: dao.update_request(r_id, pin_id, r_pname, r_date, r_qty) result = self.build_request2_dict(r_id, r_pname, r_qty, r_date, pin_id) return jsonify(UpdatedRequest=result), 200 else: return jsonify( Error="Unexpected attributes in update request"), 400
def searchProductByRequests(self, args): r_id = args.get("r_id") r_pname = args.get("r_pname") r_date = args.get("r_date") r_qty = args.get("r_qty") dao = RequestDAO() product_list = [] if (len(args) == 1) and r_id: product_list = dao.browseResourcesRequestedByr_id(r_id) print("Entre aqui") elif (len(args) == 1) and r_pname: product_list = dao.browseResourcesRequestedByr_pname(r_pname) print("word") elif (len(args) == 1) and r_date: product_list = dao.browseResourcesRequestedByDate(r_date) elif (len(args) == 1) and r_qty: product_list = dao.browseResourcesRequestedByQty(r_qty) else: return jsonify(error="malformed query string"), 400 result_list = [] for row in product_list: result = self.build_dict(row) result_list.append(result) print(row) return jsonify(Request=result_list)
def updateRequest(self, request_id, json): request_dao = RequestDAO() if not request_dao.getRequestById(request_id): return jsonify(Error="Request not found."), 404 else: customer_id = json["customer_id"] request_title = json["request_title"] request_date = json["request_date"] request_description = json["request_description"] request_status = json['request_status'] resources = json["resources"] if customer_id and request_title and request_date and request_status and request_description and resources: request_dao = RequestDAO() request_category_dao = RequestCategoryDAO() request_id = request_dao.update(request_id, customer_id, request_title, request_date, request_description, request_status) for item in resources: request_category_dao.update(request_id, item["category_id"], item["request_quantity"]) result = self.build_request_attributes( request_id, customer_id, request_title, request_date, request_description, request_status, resources) return jsonify(Request=result), 200 else: return jsonify( Error="Unexpected attributes in update request"), 400
def insertRequest(self, json): customer_id = json["customer_id"] request_title = json["request_title"] request_date = json["request_date"] request_description = json["request_description"] request_status = "Pending" resources = json["resources"] if customer_id and request_title and request_date and request_status and request_description and resources: request_dao = RequestDAO() request_category_dao = RequestCategoryDAO() request_id = request_dao.insert(customer_id, request_title, request_date, request_description, request_status) for item in resources: request_category_dao.insert(request_id, item["category_id"], item["request_quantity"]) result = self.build_request_attributes(request_id, customer_id, request_title, request_date, request_description, request_status, resources) return jsonify(Request=result), 201 else: return jsonify(Error="Unexpected attributes in post request"), 400