Exemplo n.º 1
0
class User():
	def __init__ (self):
		self.view = View()
		self.model = Model()
		self.stock = Stock()

	def choice_login (self):
		self.view.welcome()
		choice = self.view.choice_login()
		if choice == "1":
			return self.signup()
		if choice == "2":
			return self.login()
		if choice == "3":
			return self.login_admin()
		else:
			self.choice_login() 

	def login_admin(self):
		return_adminlst = self.view.admin_login()
		result = self.model.check_login(return_adminlst[0], return_adminlst[1])
		if result != []:
			all_accounts = self.model.get_top_accounts()
			self.view.display_all_accounts(all_accounts)
		else:
			print("You do not have admin rights")
			self.view.choice_login()


	def signup (self):
		name = self.view.get_name()
		username = self.view.get_username()
		password = self.view.get_password()
		balance = 10000.00
		"send the values to the db"
		self.model.create_user(name, username, password, balance)
		self.view.restart()
		sys.exit()

	def login (self):
		# pu.db
		self.username = self.view.login_username()
		self.password = self.view.login_password()
		self.info_list = self.model.check_login (self.username, self.password)
		if self.info_list is not None:
			print ("")
			print ("Welcome back to the stock trading game!")
			balance = self.model.get_balance(self.username, self.password)
			print ("Your current balance is: ", balance, "dollars.")
			self.choose_option()
		else:
			self.view.try_again()
			sys.exit()

	def choose_option (self):
		choice = self.view.choose_option()
		if choice == "1":
			self.stock.get_company_info()	
			self.stock.get_stock_quote()
		elif choice == "2":
			self.stock.buy_stocks()
		elif choice == "3":
			self.stock.sell_stocks()
		elif choice == "4":
			self.get_portfolio()
		elif choice == "5":
			print ("Goodbye.")
			sys.exit()
		else:
			print ("Please enter a valid choice. (1, 2, 3 or 4) ")
			self.choose_option()

	def get_portfolio (self):
		portfolio = self.model.get_portfolio(self.username, self.password)
		self.view.print_portfolio(portfolio)
		self.choose_option()
Exemplo n.º 2
0
class controller():

	def __init__(self):
		self.view = View()
		self.user = UserDatabase()
		self.quit = ["quit", "q"]
		self.choice = ''
		self.market = Markit()

	def run (self):
		self.view.start()
		self.login_()
		self.stock_price()
		self.buy_stock()

		#self.menu()

	def login_(self):
		login = self.view.login()
		if self.user.check_account(login):
			self.user.load_accounts()
			if self.user.premission_level == 0:
				self.admin_menu()
			else:
				self.menu()

		else:
			self.view.invalid_accounts()
			self.login_()

	def admin_menu(self):
		self.view.admin_login()

	def menu(self):
		self.view.user_login()
		menu_choice = self.view.main_menu()
		if menu_choice == '1':

			company_name = self.view.search_term()
			results = self.search_stock(company_name)

			self.view.print_results(results)

			return results
			#print(results)s

			
	def stock_price(self):
		symbol = self.view.which_result()
		price_results = self.get_quote2(symbol)

		self.view.show_value(price_results)
		self.view.buy_main()
		#return price_results

	def search_stock(self,company_name):
		companies = self.market.company_search(company_name)
		return companies

	def get_quote2(self,symbol):
		quote = self.market.get_quote(symbol)
		return quote

	def search_t(self):
		self.view.search_term()
# 	buying stocks
	def buy_stock(self):
		option = self.view.buy_main()
		if option == '1':
			num_stocks = self.view.display_check()
			price = self.market.recent_quote['LastPrice']*(num_stocks)
			print("thats a total of ${}".format(price))
			self.view.display_option()
			return price

	
	def purchase(self, price):