コード例 #1
0
ファイル: main.py プロジェクト: LeShadow/Quetzal
class Interface:

	command = ""

	def __init__(self):
		self.clear()
		self.stores = Store()

		self.today_date = self.datetime()

		self.welcome()


	def clear(self):
		subprocess.call("clear")

	def datetime(self):
		now_temp = datetime.datetime.today()
		return Date(int(now_temp.strftime("%S")), int(now_temp.strftime("%M")), int(now_temp.strftime("%H")), int(now_temp.strftime("%d")), int(now_temp.strftime("%m")),int(now_temp.strftime("%Y")))	

	def welcome(self):
		'''Dit is ons bootscherm'''
		self.printLogo()
		print("#################### WELCOME BIJ QUETZAL ####################")
		print("Loading systems...")
		print("Putting the whip on the codemonkeys...")
		print("Showing their bananas as a reward...")
		print("Booting Quetzal v0.1...")
		print("#############################################################")	
		time.sleep(3)
		self.clear()
		self.menu()

	def printLogo(self):
		'''Deze functie zal het logo naar het scherm printen'''
		print('''                              :                     
                           +,`+++: '+                
                          +  . +  ; ,, :             
                       ,'+   . +  . ;  +,            
                      ,` +   ; :  ; ; `  .+          
                      '  ,   + .  + ' +  +           
                          +++++++++'+ , +'           
                         ;          +' '  +          
                     .  +   +` ,+    ;+   ++         
                   :+++++  ;     +   , .+.,          
                 ,'  `,;+ + .; + `   ;,   '          
                ;  +.   + + ++ ,, ,  ;  ,++'         
               .`  .++  + + ++:`` ,  ,    +          
               +   ,';  + ;  +;+ ,   ,     .         
               ,   :+'  +  +     ;   +++',,          
               .       .+   +':+,    ,    '          
               ;   `++,  '`          ;  ,++'         
               +  +        :++;.     +  ,            
               , ++;,;+++;.     `:++,:   '           
                +          .'+;      ++  ,           
                               .'+  ;  +  +          
                             ,. + .+;   ;` ,         
                             +'    +     :+          
                             +,:+ ;                  
          '+`                :`  ,,                  
         ++++                 `++                 ++:
       ;+++++`                                    ++:
      '+++++++                                    ++:
     :++++ +++                                    ++:
     ++++  +++                ..                  ++:
    ++++   +++:               ++.                 ++:
   '+++`   +++'               ++.                 ++:
   ++++    ++++';,  ;' ,      ++.                 ++:
  '+++     ++++++:  ++ +++    +++++ ++++++ ++     ++:
  ++++     +++'++:  ++ ++++`  +++## ##++++ ++++   ++:
 `+++      +++:++:  ++ ++`++  ++.      ++:   +++  ++:
 ++++      +++`++:  ++ ++ ,++ ++.      ++     ++: ++:
 ++++     `+++ ++:  ++ ++  ++ ++.     ;++      ++ ++:
 +++`     ++++ ++:  ++ ++  ++.++.     ++'  ++++++ ++:
 +++      ++++ ++:  ++ ++  ++:++.     ++   ++..++ ++:
.+++     .+++  ++:  ++ ++  ++:++.    .++   ++  ++ ++:
:+++     ++++  ++:  ++ ++++++:++.    +++   ++  ++ ++:
;+++    `+++,  ++:  ++ ++':::.++.    ++.   ++  ++ ++:
:+++    ++++   ++:  ++ `++    +++    ++    ++' ++ ++:
.+++   ;+++`   ++:  ++  +++   `++   '++     ++`++ ++:
 +++   ++++    +++++++   ++++. +++. +++;;'  `++++ ++:
 +++  ++++     `+++++:    `++:  :+. ++++++    +++ ++:
 +++.++++                    `    `             ; ##:
 ,++++++                                             
  +++++++++++ 
  :++++++++++''')

	def menu(self):
		'''Deze functie gebruiken we om ons menu op het scherm te tonen.'''
		self.clear()		
		self.today_date = self.datetime()
		self.printLogo()
		choice_list = []
		choice_list.extend(['1337','exit'])
		choice_list.extend(['1', 'new order', 'neworder'])
		choice_list.extend(['2', 'new employee', 'newemployee'])
		choice_list.extend(['3', 'new user', 'newuser'])
		choice_list.extend(['4', 'list users', 'listusers'])		
		choice_list.extend(['5', 'list employees', 'listemployees'])		
		choice_list.extend(['6', 'new stock item', 'newstockitem'])		
		choice_list.extend(['7', 'list stock', 'liststock'])		
		choice_list.extend(['8', 'check stock', 'checkstock'])		
		choice_list.extend(['9', 'list orders', 'listorders'])	
		choice_list.extend(['10', 'delete user', 'deleteuser'])	
		choice_list.extend(['11', 'delete employee', 'deleteemployee'])										
		choice_list.extend(['12', 'time cycle', 'timecycle'])		
		print("################### MENU ####################")
		print("# " + str(self.today_date))
		print("# 1. New Order.")
		print("# 2. New Employee")
		print("# 3. New User")
		print("# 4. List Users")
		print("# 5. List Employees")
		print("# 6. New stock item")
		print("# 7. List stock")
		print("# 8. Check stock spoil dates")
		print("# 9. List orders")
		print("# 10. Delete User")
		print("# 11. Delete Employee")		
		print("# 12. Timecycle")		
		print("# 1337. Exit")
		print("#############################################")
		command = input("Wat is uw keuze?: ")
		if command.lower() in choice_list:
			if command.lower() == '1337' or command.lower() == 'exit':
				self.exitI()
			elif command.lower() == '1' or (command.lower() == 'new order' or command.lower() == 'neworder'):
				self.newOrder()
			elif command.lower() == '2' or (command.lower() == 'new employee' or command.lower() == 'newemployee'):
				self.newEmployee()
			elif command.lower() == "3" or (command.lower() == 'new user' or command.lower() == 'newuser'):
				self.newUser()
			elif command.lower() == '4' or (command.lower() == 'list users' or command.lower() == 'listusers'):
				self.listUsers()
			elif command.lower() == '9' or (command.lower() == 'list orders' or command.lower() == 'listorders'):
				self.listOrders()				
			elif command.lower() == '5' or (command.lower() == 'list employees' or command.lower() == 'listemployees'):
				self.listEmployees()
			elif command.lower() == '6' or (command.lower() == 'new stock item' or command.lower() == 'newstockitem'):
				self.newStockItem()
			elif command.lower() == '7' or (command.lower() == 'list stock' or command.lower() == 'liststock'):
				self.listStock()
			elif command.lower() == '8' or (command.lower() == 'check stock' or command.lower() == 'checkstock'):
				self.spoilCheck()
			elif command.lower() == '10' or (command.lower() == 'delete user' or command.lower() == 'deleteuser'):
				self.deleteUser()
			elif command.lower() == '11' or (command.lower() == 'delete employee' or command.lower() == 'deleteemployee'):
				self.deleteEmployee()
			elif command.lower() == '12' or (command.lower() == 'time cycle' or command.lower() == 'timecycle'):
				self.processQueue()
			else:
				print(command)
				exit(0)
		else:
			self.clear()
			print("[ERROR] Verkeerde keuze!")
			self.menu()


	def newOrder(self):
		self.clear()
		temp_list = ['1', 'chocoladeshot', '2', 'marshmallow', '3', 'honing', '4', 'chillipeper']
		temp_color = ['1', 'zwart', '2', 'bruin', '3', 'wit']
		print("################### Nieuw order ####################")
		print("#")
		temp = self.stores.getUsers()
		if len(temp) == 0:		
			print("# U moet eerst een gebruiker aanmaken. ")
			print("###################################################")
			print("Please press a key to go back to the menu...")
			command = input()
			self.clear()
			self.menu()		

		print("# Voor welke gebruiker wilt u een order plaatsen? ")
		print("#")

		for i in range(len(self.stores.getUsers())):
			print("# [" + str(temp[i].getKey()) + "] " + temp[i].getFirstName() + " " + temp[i].getLastName() + ", " + temp[i].getEmail())		

		while True:
			temp_user = input("# Keuze: ")

			try:
				temp_user = int(temp_user)
			except:
				pass

			if type(temp_user) == int and temp_user > 0:
				if self.stores.getUser(temp_user) != False:
					break
				else:
					print("# Deze gebruiker bestaat niet!")
			else:
				print("# U moet een getal als ID ingeven.")


		if self.stores.stock.getCountChocolademelk() > 0:
			while True:
				temp_amount = input("# Hoeveel wilt u er bestellen?: ")
				try:
					int(temp_amount)
					break
				except:
					pass
					
			print("#")

			additives = []
			while True:
				if_add = input("# Wilt u nog additive toevoegen? (Ja/Nee): ")
				if if_add.lower() == "nee" or if_add.lower() == "n" or if_add.lower() == "ne":
					break
				else:
					print("#")
					print("# 1. Chocoladeshot")
					print("# 2. Marshmallow")
					print("# 3. Honing")
					print("# 4. Chillipeper")
																
					temp_add = input("# Wat wilt u nog toevoegen?: ")

					if temp_add.lower() == "1" or temp_add.lower == "chocoladeshot":
						if self.stores.stock.getCountChocoladeshot() > 0:
							temp_color_input = ""
							while True:
								print("#")
								print("# Zwart, Bruin of Wit?")
								temp_color_input = input("# Welke kleur wilt u voor uw chocoladeshot?: ")
								if temp_color_input.lower() in temp_color:
									if self.stores.stock.getCountChocoladeshot(temp_color_input.lower()) > 0:
										break
									else:
										print("# Deze chocoladeshots zijn out of stock!")

							temp_item = self.stores.stock.getChocoladeShot(temp_color_input.lower())
							additives.append(temp_item)
						else:
							print("# Chocoladeshots are out of stock!")

					elif temp_add.lower() == "2" or temp_add.lower() == "marshmallow":
						if self.stores.stock.getCountMarshmallow() > 0:
							temp_item = self.stores.stock.getMarhsmallow()
							additives.append(temp_item)
						else:
							print("# Marshmallows are out of stock!")

					elif temp_add.lower() == "3" or temp_add.lower() == "honing":
						if self.stores.stock.getCountHoney() > 0:
							temp_item = self.stores.stock.getHoney()
							additives.append(temp_item)
						else:
							print("# Honing is out of stock!")

					elif temp_add.lower() == "4" or temp_add.lower() == "chillipeper":									
						if self.stores.stock.getCountPepper() > 0:
							temp_item = self.stores.stock.getPepper()
							additives.append(temp_item)
						else:
							print("# Chillipeper is out of stock!")


					
			new_order = Bestelling(self.datetime())

			total_price = 0
			#loop for price calculations
			for i in range(len(additives)):
				total_price = total_price + additives[i][0].price


			total_wl = 0
			#loop for workload calculations
			total_wl = len(additives) * 1 + (int(temp_amount) * 5)

			new_order.setWorkloadT(total_wl)
			new_order.setPrice(total_price + (2*int(temp_amount)))
			new_order.setAantal(temp_amount)
			new_order.setAdditive(additives)
			new_order.setUserId(temp_user)

			if self.stores.workers.isEmpty() == True:
				self.stores.orders.enqueue(new_order)
			else:
				if self.stores.orders.isEmpty() == True:

					get_worker = self.stores.workers.retrievePop()
					new_order.setEmployeeId(get_worker[0])
					new_order.setWorkloadEmp(get_worker[1])
					self.stores.orders_busy.insert(new_order)
				else:
					self.stores.orders.enqueue(new_order)
					process_order = self.stores.orders.getFront(True)
					get_worker = self.stores.workers.retrievePop()

					while True:
						if self.stores.getWorker(get_worker[0]) == False:
							get_worker = self.stores.workers.retrievePop()
						else:
							break

					process_order.setEmployeeId(get_worker[0])
					process_order.setWorkloadEmp(get_worker[1])
					self.stores.orders_busy.insert(process_order)		


			print("# Order is geplaatst!")			

		else:
			print("# Everything is out of stock!")



		print("###################################################")
		print("Please press a key to go back to the menu...")
		command = input()
		self.clear()
		self.menu()	

	def newEmployee(self):
		temp_id = (len(self.stores.getWorkers())+1)
		self.clear()
		print("################### Nieuwe Werknemer ####################")
		print("# Wat is de voornaam van de werknemer?: ")
		temp_fname = input("# ")
		print("# Wat is de achternaam van de werknemer?: ")
		temp_lname = input("# ")
		print("# Wat is de workload die de werknemer aankan?: ")
		temp_load = input("# ")
		while self.getInt(temp_load) != True:
			print("# De workload moet een positief getal zijn.")
			print("# Wat is de workload die de werknemer aankan?: ")
			temp_load = input("# ")			

		try:
			temp_employee = Werknemer(temp_id, temp_fname, temp_lname, temp_load)
			self.stores.addWorker(temp_employee)
			print("# Nieuwe werknemer succesvol toegevoegd!")
			time.sleep(2)
		except (TypeError, ValueError) as e:
			print("# Er is iets foutgegaan met het ingeven van de gebruiker.")
			print("# [" + str(e) + "]")
			print("# Redirecting to new employee...")
			time.sleep(3)
			self.newEmployee()
		except Exception as e:
			print("# Er is iets foutgegaan...")
			print("# [" + str(e) + "]")
			print("# Redirecting to new employee...")
			time.sleep(2)
			self.newEmployee()

		self.menu()

	def newUser(self):
		temp_id = (len(self.stores.getUsers())+1)
		self.clear()
		print("################### Nieuwe Gebruiker ####################")
		print("# Wat is de voornaam van de gebruiker?: ")
		temp_fname = input("# ")
		print("# Wat is de achternaam van de gebruiker?: ")
		temp_lname = input("# ")
		print("# Wat is het emailadres van de gebruiker?: ")
		temp_email = input("# ")
		try:
			temp_user = User(temp_id, temp_fname, temp_lname, temp_email)
			self.stores.addUser(temp_user)
			print("# Nieuwe gebruiker succesvol toegevoegd!")
			time.sleep(2)
		except (TypeError, ValueError) as e:
			print("# Er is iets foutgegaan met het ingeven van de gebruiker.")
			print("# [" + str(e) + "]")
			print("# Redirecting to new user...")
			time.sleep(3)
			self.newUser()
		except Exception as e:
			print("# Er is iets foutgegaan...")
			print("# [" + str(e) + "]")
			print("# Redirecting to new user...")
			time.sleep(2)
			self.newUser()

		self.menu()

	def newStockItem(self):
		type_list = ['1', 'chocoladeshot', '2', 'honing', '3', 'marshallow', '4', 'chillipeper', '5', 'chocolademelk']
		self.clear()
		print("################### Nieuw stockitem ####################")		
		print("# Hoeveel items wilt u toevoegen aan de stock?")
		temp_amount = input("# ")
		while self.getInt(temp_amount) != True:
			print("# Uw aantal moet een positief getal zijn.")
			print("# Hoeveel items wilt u toevoegen aan de stock?")
			temp_amount = input("# ")

		print("# Welk type? (1: ChocoladeShot, 2: Honing, 3: Marshmallow, 4: Chillipeper, 5: Chocolademelk)")
		temp_type = input("# ")
		while temp_type.lower() not in type_list:
			print("# U hebt een verkeerd type opgegeven.")
			print("# Welk type? (1: ChocoladeShot, 2: Honing, 3: Marshmallow, 4: Chillipeper, 5: Chocolademelk)")			
			temp_type = input("# ")

		if temp_type in (type_list[0],type_list[1]):
			color_list = ['1', 'wit', '2', 'bruin', '3', 'zwart']
			print("# Welke kleur? (1: Wit 2: Bruin, 3: Zwart)")
			temp_kleur = input("# ")
			while temp_kleur.lower() not in color_list:
				print("# U hebt een verkeerde kleur opgegeven.")
				print("# Welke kleur? (1: Wit, 2: Bruin, 3: Zwart)")			
				temp_kleur = input("# ")

		print("# Binnen hoeveel dagen vervalt dit item?")
		temp_spoil = input("# ")
		while self.getInt(temp_spoil) !=True:
			print("# Uw aantal dagen moet een positief getal zijn.")
			print("# Binnen hoeveel dagen vervalt dit item?")
			temp_spoil = input("# ")

		created_date = self.datetime()
		final_temp_date = self.datetime()
		final_temp_date.add(int(temp_spoil))


		#try:
		for i in range(int(temp_amount)):

			final_item = None

			if int(temp_type) == 1:
				final_item = Chocoladeshot(created_date, final_temp_date, temp_kleur)
			elif int(temp_type) == 2:
				final_item = Honing(created_date, final_temp_date)
			elif int(temp_type) == 3:
				final_item = Marshmallow(created_date, final_temp_date)
			elif int(temp_type) == 4:
				final_item = Chilipeper(created_date, final_temp_date)	
			elif int(temp_type) == 5:
				final_item = ChocoladeMelk(created_date, final_temp_date)
							
			self.stores.stock.newItem(final_item)

		print("# Nieuw(e) item(s) zijn succesvol aan de stock toegevoegd.")
		time.sleep(2)
		#except Exception as e:
		#	print("# Er is iets foutgegaan...")
		#	print("# [" + str(e) + "]") 
		#	print(e)                       
		#	time.sleep(2)
		#	self.newStockItem()

		self.menu()					

	def listUsers(self):
		self.clear()
		if len(self.stores.getUsers()) != 0:
			temp = self.stores.getUsers()
			print("################### Gebruikers ####################")
			for i in range(len(self.stores.getUsers())):
				print("# [" + str(temp[i].getKey()) + "] " + temp[i].getFirstName() + " " + temp[i].getLastName() + ", " + temp[i].getEmail())

			print("###################################################")
			print("Please press a key to go back to the menu...")
			command = input()
			self.clear()
			self.menu()			
		else:
			print("################### Gebruikers ####################")
			print("# Er zijn nog geen gebruikers")
			print("###################################################")
			time.sleep(1)
			self.clear()
			self.menu()

	def listEmployees(self):
		self.clear()
		if len(self.stores.getWorkers()) != 0:
			temp = self.stores.getWorkers()
			print("################### Werknemers ####################")
			for i in range(len(self.stores.getWorkers())):
				print("# [" + str(temp[i].getKey()) + "] " + temp[i].getFirstName() + " " + temp[i].getLastName() + ", " + temp[i].getWorkLoad())

			print("###################################################")
			print("Please press a key to go back to the menu...")
			command = input()
			self.clear()
			self.menu()			
		else:
			print("################### Werknemers ####################")
			print("# Er zijn nog geen werknemers")
			print("###################################################")
			time.sleep(1)
			self.clear()
			self.menu()

	def listOrders(self):
		self.clear()
		if len(self.stores.getOrdersList()) != 0 or len(self.stores.getOrders()) != 0:
			print("################### Orders in process/Orders finished ####################")
			if len(self.stores.getOrdersList()) > 0:
				temp_orders = self.stores.getOrdersList()
				for i in temp_orders:

					print("# [" + str(i.getKey()) + "] - Afgewerkt: " + str(i.getAfgehaald()) + " - GebruikersID: [" + str(i.getUserId()) + "] - EmployeeID: [" + str(i.getEmpId()) + "] - Prijs: € " + str(i.getPrice()) + " - Total Workload: " + str(i.getWorkloadT()) + " - Workload left: " + str(i.getWorkloadL()) + " |")

			else:
				print("# Er zijn geen orders in werking of afgewerkt!")

			if len(self.stores.getOrders()) > 0:
				temp_orders = self.stores.getOrders()
				for i in temp_orders:

					print("# [" + str(i.getKey()) + "] - GebruikersID: [" + str(i.getUserId()) + "] - Prijs: € " + str(i.getPrice()) + " - Total Workload: " + str(i.getWorkloadT()) + " |")				
			else:
				print("# Er zijn geen orders in afwachting!")
		else:
			print("################### Bestellingen ####################")
			print("# Er zijn nog geen bestellingen")

		
		print("###################################################")
		print("Please press a key to go back to the menu...")
		command = input()
		self.clear()
		self.menu()	

	def listStock(self):	
		self.clear()
		temp_stock = self.stores.getStock()
		if len(temp_stock) != 0:
			print("################### Stock ####################")
			for i in range(len(temp_stock)):
				if i == 0:
					print("# ### Chillipeppers ###")
					if len(temp_stock[i]) ==0:
						print("# Er zijn geen chillipepers in voorraad")
					else:
						for k in range(len(temp_stock[i])):
							if temp_stock[i][k][0].spoil_date < self.today_date:
								temp_stock[i][k][0].spoiled = True

							print("# [" + str(temp_stock[i][k][0].getKey()) + "] - Vervaldatum: " + str(temp_stock[i][k][0].spoil_date) + " - Vervallen: " + str(temp_stock[i][k][0].getSpoiled()))

					print("# ######################")
				elif i == 1:
					print("# ### Marshmallows ###")
					if len(temp_stock[i]) ==0:
						print("# Er zijn geen marshmallows in voorraad")
					else:
						for k in range(len(temp_stock[i])):
							if temp_stock[i][k][0].spoil_date < self.today_date:
								temp_stock[i][k][0].spoiled = True

							print("# [" + str(temp_stock[i][k][0].getKey()) + "] - Vervaldatum: " + str(temp_stock[i][k][0].spoil_date) + " - Vervallen: " + str(temp_stock[i][k][0].getSpoiled()))		

						print("# ######################")
				elif i == 2:
					print("# ### Honing ###")
					if len(temp_stock[i]) ==0:
						print("# Er zijn geen honing in voorraad")
					else:
						for k in range(len(temp_stock[i])):
							if temp_stock[i][k][0].spoil_date < self.today_date:
								temp_stock[i][k][0].spoiled = True

							print("# [" + str(temp_stock[i][k][0].getKey()) + "] - Vervaldatum: " + str(temp_stock[i][k][0].spoil_date) + " - Vervallen: " + str(temp_stock[i][k][0].getSpoiled()))	

						print("# ######################")	
				elif i == 3:
					print("# ### Chocoladeshots ###")
					if len(temp_stock[i]) ==0:
						print("# Er zijn geen chocoladeshots in voorraad")
					else:
						for k in range(len(temp_stock[i])):
							if temp_stock[i][k][0].spoil_date < self.today_date:
								temp_stock[i][k][0].spoiled = True

							print("# [" + str(temp_stock[i][k][0].getKey()) + "] - Kleur: " + temp_stock[i][k][0].getColor() + " - Vervaldatum: " + str(temp_stock[i][k][0].spoil_date) + " - Vervallen: " + str(temp_stock[i][k][0].getSpoiled()))	

						print("# ######################")	
				elif i == 4:
					print("# ### Chocolademelk ###")
					if len(temp_stock[i]) ==0:
						print("# Er is geen Chocolademelk in voorraad")
					else:
						for k in range(len(temp_stock[i])):
							if temp_stock[i][k][0].spoil_date < self.today_date:
								temp_stock[i][k][0].spoiled = True

							print("# [" + str(temp_stock[i][k][0].getKey()) + "] - Vervaldatum: " + str(temp_stock[i][k][0].spoil_date) + " - Vervallen: " + str(temp_stock[i][k][0].getSpoiled()))	

						print("# ######################")	

			print("###################################################")
			print("Please press a key to go back to the menu...")
			command = input()
			self.clear()
			self.menu()																

		else:

			print("################### Stock ####################")
			print("# Er is nog geen stock")
			print("##############################################")
			print("Please press a key to go back to the menu...")
			command = input()
			self.clear()
			self.menu()								

	def exitI(self):
		self.clear()
		print("################### SHUTDOWN ####################")
		print("# Releasing all monkeys...")
		print("#################################################")
		exit(0)

	def deleteUser(self):
		ans_list = ['Ja', 'ja', 'Nee', 'nee', 'J', 'j', 'N', 'n']
		self.clear()
		print("################### Gebruiker verwijderen ####################")
		if len(self.stores.getUsers()) == 0:
			print("# Er zijn nog geen gebruikers ingeschreven.")
			print("# Redirecting to the menu...")
			time.sleep(2)
			self.menu()			

		print("# Gelieve de ID van de gebruiker op te geven:")
		temp_id = input("# ")

		while True:
			try:
				temp_id = int(temp_id)
				break
			except:
				print("# Gelieve de ID van de gebruiker op te geven:")
				temp_id = input("# ")				

		while self.stores.getUser(temp_id) == False:
			print("# Gelieve de ID van een bestaande gebruiker op te geven:")
			temp_id = input("# ")			
			while True:
				try:
					temp_id = int(temp_id)
					break
				except:
					print("# Gelieve de ID van een bestaande gebruiker op te geven:")
					temp_id = input("# ")	

		#if isinstance(temp_id, int):
		print("# Bent u zeker dat u deze gebruiker wilt verwijderen?")
		command = input("# (Ja/Nee): ")

		while str(command) not in ans_list:
			command = input("# (Ja/Nee): ")				

		if command.lower() == "ja" or command.lower() == "j":
			print("# Verwijderen van gebruiker met ID [" + str(temp_id) + "]...")
			self.stores.removeUser(int(temp_id))
			print("# Gebruiker succesvol verwijderd.")
			print("# Wilt u nog een gebruiker verwijderen?")
			command = input("# (Ja/Nee): ")
			while command not in ans_list:
				print(" Verkeerde keuze.")
				command = input("# (Ja/Nee): ")

			if command.lower == "ja" or command.lower() == "j":
				print("# Redirecting...")
				time.sleep(1)
				self.deleteUser()
			else:
				print("# Redirecting to the menu...")
				time.sleep(2)
				self.menu()
		else:
			print("# Redirecting to the menu...")
			time.sleep(2)
			self.menu()			


	def deleteEmployee(self):
		ans_list = ['Ja', 'ja', 'Nee', 'nee', 'J', 'j', 'N', 'n']
		self.clear()
		print("################### Werknemer verwijderen ####################")
		if len(self.stores.getWorkers()) == 0:
			print("# Er zijn nog geen werknemers ingeschreven.")
			print("# Redirecting to the menu...")
			time.sleep(2)
			self.menu()			

		print("# Gelieve de ID van de werknemer op te geven:")
		temp_id = input("# ")

		while True:
			try:
				temp_id = int(temp_id)
				break
			except:
				print("# Gelieve de ID van de werknemer op te geven:")
				temp_id = input("# ")				

		while self.stores.getWorker(temp_id) == False:
			print("# Gelieve de ID van een bestaande werknemer op te geven:")
			temp_id = input("# ")			
			while True:
				try:
					temp_id = int(temp_id)
					break
				except:
					print("# Gelieve de ID van een bestaande werknemer op te geven:")
					temp_id = input("# ")	

		#if isinstance(temp_id, int):
		print("# Bent u zeker dat u deze gebruiker wilt verwijderen?")
		command = input("# (Ja/Nee): ")

		while str(command) not in ans_list:
			print("lol")
			command = input("# (Ja/Nee): ")				

		if command.lower() == "ja" or command.lower() == "j":
			print("# Verwijderen van werknemer met ID [" + str(temp_id) + "]...")
			self.stores.removeWorker(int(temp_id))
			print("# Werknemer succesvol verwijderd.")
			print("# Wilt u nog een Werknemer verwijderen?")
			command = input("# (Ja/Nee): ")
			while command not in ans_list:
				print(" Verkeerde keuze.")
				command = input("# (Ja/Nee): ")

			if command.lower == "ja" or command.lower() == "j":
				print("# Redirecting...")
				time.sleep(1)
				self.deleteEmployee()
			else:
				print("# Redirecting to the menu...")
				time.sleep(2)
				self.menu()
		else:
			print("# Redirecting to the menu...")
			time.sleep(2)
			self.menu()	

	def processQueue(self):
		self.clear()		
		proc_orders = self.stores.getOrdersList()
		new_orders = self.stores.getOrders()

		print("################### Timecycle processing... ####################")
		print("#")
		print("# Processing orders and re-arranging...")

		for i in range(len(proc_orders)):
			emp_wl = proc_orders[i].getWorkloadEmp()
			t_wl = proc_orders[i].getWorkloadT()
			l_wl = proc_orders[i].getWorkloadL()

			if emp_wl >= l_wl:
				proc_orders[i].updateWorkload(0)
				proc_orders[i].setIsAfgehaald()
				employee = self.stores.getWorker(proc_orders[i].getEmpId())
				self.stores.workers.push((employee.getKey(), employee.getWorkLoad()))

			else:
				proc_orders[i].updateWorkload(t_wl - emp_wl)
				


		for i in range(len(new_orders)):
			order = new_orders[i]
			if self.stores.workers.isEmpty() == True:
				break
			else:
				get_worker = self.stores.workers.retrievePop()
				order.setEmployeeId(get_worker[0])
				order.setWorkloadEmp(get_worker[1])
				self.stores.orders_busy.insert(order)
				self.stores.orders.dequeue()



		print("###################################################")
		print("Please press a key to go back to the menu...")
		command = input()
		self.clear()
		self.menu()	


	def spoilCheck(self):
		self.clear()
		print("################### Spoil check processing... ####################")		
		print("#")
		print("# Checking if any ingredients in the stock are spoiled.")
		temp_stock = self.stores.getStock()
		if len(temp_stock) != 0:
			for i in range(len(temp_stock)):
					for k in range(len(temp_stock[i])):
						if temp_stock[i][k][0].spoil_date < self.today_date:
							temp_stock[i][k][0].spoiled = True

		print("###################################################")
		print("Please press a key to go back to the menu...")
		command = input()
		self.clear()
		self.menu()	



	def showError(self):
		e = sys.exc_info()[0]
		print(e)

	def getInt(self, data):
		try:
			int(data)

			if int(data) > 0:
				return True
			else:
				return False
		except:
			return False