Advertisement
Guest User

Untitled

a guest
Jul 20th, 2016
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.96 KB | None | 0 0
  1. //INITIALIZES THE NPM PACKAGES USED//
  2. var mysql = require('mysql');
  3. var inquirer = require('inquirer');
  4.  
  5. //INITIALIZES THE CONNECTION VARIABLE TO SYNC WITH A MYSQL DATABASE//
  6. var connection = mysql.createConnection({
  7. host: "localhost",
  8. port: 3306,
  9. user: "root", //Your username//
  10. password: "", //Your password//
  11. database: "Bamazon"
  12. })
  13.  
  14. //CREATES THE CONNECTION WITH THE SERVER AND MAKES THE TABLE UPON SUCCESSFUL CONNECTION//
  15. connection.connect(function(err) {
  16. if (err) {
  17. console.error("error connecting: " + err.stack);
  18. }
  19. makeTable();
  20. })
  21.  
  22. //FUNCTION TO GRAB THE PRODUCTS TABLE FROM THE DATABASE AND PRINT RESULTS TO CONSOLE//
  23. var makeTable = function() {
  24. //SELECTS ALL OF THE DATA FROM THE MYSQL PRODUCTS TABLE - SELECT COMMAND!
  25. connection.query('SELECT * FROM products', function(err, res) {
  26. if (err) throw err;
  27. //PRINTS THE TABLE TO THE CONSOLE WITH MINIMAL STYLING//
  28. var tab = "\t";
  29. console.log("ItemID\tProduct Name\tDepartment Name\tPrice\t# In Stock");
  30. console.log("--------------------------------------------------------");
  31. //FOR LOOP GOES THROUGH THE MYSQL TABLE AND PRINTS EACH INDIVIDUAL ROW ON A NEW LINE//
  32. for (var i = 0; i < res.length; i++) {
  33. console.log(res[i].ItemID + tab + res[i].ProductName + tab + res[i].DepartmentName + tab + res[i].Price + tab + res[i].StockQuantity);
  34. }
  35. console.log("--------------------------------------------------------");
  36. //RUNS THE CUSTOMER'S PROMPTS AFTER CREATING THE TABLE. SENDS res SO THE promptCustomer FUNCTION IS ABLE TO SEARCH THROUGH THE DATA//
  37. promptCustomer(res);
  38. });
  39. };
  40.  
  41. //FUNCTION CONTAINING ALL CUSTOMER PROMPTS//
  42. var promptCustomer = function(res) {
  43. //PROMPTS USER FOR WHAT THEY WOULD LIKE TO PURCHASE//
  44. inquirer.prompt([{
  45. type: 'input',
  46. name: 'choice',
  47. message: 'What would you like to purchase?'
  48. }]).then(function(val) {
  49.  
  50. //SET THE VAR correct TO FALSE SO AS TO MAKE SURE THE USER INPUTS A VALID PRODUCT NAME//
  51. var correct = false;
  52. //LOOPS THROUGH THE MYSQL TABLE TO CHECK THAT THE PRODUCT THEY WANTED EXISTS//
  53. for (var i = 0; i < res.length; i++) {
  54. //1. TODO: IF THE PRODUCT EXISTS, SET correct = true and ASK THE USER TO SEE HOW MANY OF THE PRODUCT THEY WOULD LIKE TO BUY//
  55. //2. TODO: CHECK TO SEE IF THE AMOUNT REQUESTED IS LESS THAN THE AMOUNT THAT IS AVAILABLE//
  56. //3. TODO: UPDATE THE MYSQL TO REDUCE THE StockQuanaity by the THE AMOUNT REQUESTED - UPDATE COMMAND!
  57. //4. TODO: SHOW THE TABLE again by calling the function that makes the table
  58. }
  59.  
  60. //IF THE PRODUCT REQUESTED DOES NOT EXIST, RESTARTS PROMPT//
  61. if (i == res.length && correct == false) {
  62. promptCustomer(res);
  63. }
  64. });
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement