-
Notifications
You must be signed in to change notification settings - Fork 0
/
orderManager.py~
146 lines (107 loc) · 3.14 KB
/
orderManager.py~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
import sqlite3
import SQLExceptions
#retorna id da nova ordem
def insertOrder(table_no,status):
table_no = int(table_no)
conn = sqlite3.connect('exemple.db')
c = conn.cursor()
sql_string = """INSERT INTO restaurantOrder VALUES
(NULL,%d,'%s')"""%(table_no,status)
try:
row = c.execute(sql_string)
conn.commit()
conn.close()
return c.lastrowid
except:
conn.close()
raise SQLExceptions.SQLTableInserionError
conn.close()
pass
def changeOrderStatus(order_id,status):
order_id = int(order_id)
print order_id
conn = sqlite3.connect('exemple.db')
c = conn.cursor()
found = False
for a_id in c.execute("""SELECT order_id FROM restaurantOrder
WHERE %d==order_id"""%(order_id)):
if order_id in a_id:
found = True
if found == True:
# raise SQLExceptions.SQLTableAlterationError("id not found")
c.execute("""UPDATE restaurantOrder SET status = '%s' WHERE
order_id = order_id """)
conn.commit()
else:
conn.close()
raise SQLExceptions.SQLTableAlterationError("INVALID ID")
conn.close()
def addDishToOrder(order_id,dish,quantity,half_portion):
order_id = int(order_id)
quantity = int(quantity)
half_portion = int(half_portion)
print order_id
print dish
print quantity
print half_portion
conn = sqlite3.connect('exemple.db')
c = conn.cursor()
if type(half_portion) == type(True):
half_portion = int(half_portion)
try:
c.execute("""INSERT INTO orderedDishes VALUES(%d,'%s',%d,%d)"""
%(order_id,dish,quantity,half_portion))
conn.commit()
except:
conn.close()
raise SQLExceptions.SQLTableInserionError
conn.close()
pass
def deleteAllDishesFromOrder(order_id):
order_id = int(order_id)
conn = sqlite3.connect('exemple.db')
c = conn.cursor()
c.execute("""DELETE FROM orderedDishes WHERE %d==order_id"""%(order_id))
##Se requisitado no futuro eu do raise em algo
conn.commit()
conn.close()
pass
def getOrder(order_id):
order_id = int(order_id)
conn = sqlite3.connect('exemple.db')
c = conn.cursor()
rows = c.execute ("""SELECT dish_name,quantity,halfportion FROM orderedDishes
WHERE order_id == %d"""%(order_id))
return_string = "{"
for row in rows:
return_string = return_string + str(row) + ","
return_string = return_string[:-1] + '}'
if '{' not in return_string:
return_string = '{' + return_string
conn.commit()
conn.close()
return return_string
def getOrderPrice(order_id):
order_id = int(order_id)
conn = sqlite3.connect('exemple.db')
c = conn.cursor()
rows = c.execute ("""SELECT sum(quantity*price) FROM orderedDishes,menu
WHERE order_id == %d and orderedDishes.dish_name == menu.dish_name"""%(order_id))
return_string = ""
for row in rows:
return_string = return_string + str(row)
conn.commit()
conn.close()
return "["+return_string[1:-2]+"]"
def getOrderInfo(order_id):
order_id = int(order_id)
conn = sqlite3.connect('exemple.db')
c = conn.cursor()
rows = c.execute("""SELECT * FROM restaurantOrder
WHERE %d==order_id"""%(order_id))
return_string = ""
for row in rows:
return_string+= str(row)
conn.commit()
conn.close()
return ('['+ return_string[1:-1] + ']')