Guest User

FreeStyler

a guest
Jun 14th, 2017
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.58 KB | None | 0 0
  1. package assignment;
  2. import java.util.ArrayList;
  3. import java.util.Scanner;
  4. public class core{
  5.     private static Scanner input;
  6.     private String account;
  7.     private ArrayList<String> username = new ArrayList<String>();
  8.     private ArrayList<String> password = new ArrayList<String>();
  9.     private ArrayList<String> userOrder = new ArrayList<String>();
  10.     private ArrayList<String> shipStatus = new ArrayList<String>();
  11.     private ArrayList<String> orderStatus = new ArrayList<String>();
  12.     private ArrayList<Integer> item1 = new ArrayList<Integer>();
  13.     private ArrayList<Integer> item2 = new ArrayList<Integer>();
  14.     private ArrayList<Integer> item3 = new ArrayList<Integer>();
  15.    
  16.     public static void main(String[] args) {
  17.         int x = 0;
  18.         boolean bool = true;
  19.         core run = new core();
  20.         //run.readDat();
  21.         input = new Scanner(System.in);
  22.         do{
  23.             switch (x) {
  24.            
  25.             case 0:
  26.                 x = mainMenu();
  27.                 break;
  28.             case 1:
  29.                 x = run.admin();
  30.                 break;
  31.             case 2:
  32.                 x = run.user();
  33.                 break;
  34.             case 3:
  35.                 x = run.userLogin();
  36.                 break;
  37.             case 4:
  38.                 x = run.userReg();
  39.                 break;
  40.             case 5:
  41.                 x = run.userMenu();
  42.                 break;
  43.             case 6:
  44.                 run.userShop();
  45.                 bool = false;
  46.                 break;
  47.             case 7:
  48.                 run.userStatus();
  49.                 bool = false;
  50.                 break;
  51.             default:
  52.                 bool = false;
  53.                 System.out.println(x);
  54.                 break;
  55.             }
  56.         } while (bool);
  57.     }
  58.    
  59.     private static int mainMenu(){
  60.         System.out.println("Welcome to FreeStyler Online Apparels");
  61.         System.out.println("Login As:\n(1)Admin\n(2)User");
  62.         boolean bool = true;
  63.         String n;
  64.         do {
  65.             try{
  66.                 n = input.nextLine();
  67.             } catch (Exception e) {
  68.                 System.out.println("Invalid input, " + e);
  69.                 System.out.println("Login As:\n(1)Admin\n(2)User");
  70.                 continue;
  71.             }
  72.             if (n.equals("1")){
  73.                 bool = false;
  74.                 return 1;
  75.             }
  76.             else if (n.equals("2")){
  77.                 bool = false;
  78.                 return 2;
  79.             }
  80.             else {
  81.                 System.out.println("Invalid input, please try again");
  82.                 System.out.println("Login As:\n(1)Admin\n(2)User");
  83.                 continue;
  84.             }
  85.         }while(bool);
  86.         return 0;
  87.     }
  88.     private int admin(){
  89.         boolean bool = true;
  90.         String user, pass = null;
  91.         do {
  92.             System.out.println("-1 to back");
  93.             System.out.print("Username: ");
  94.             try {
  95.                 user = input.nextLine();
  96.             } catch (Exception e){
  97.                 System.out.println("Error: " + e);
  98.                 continue;
  99.             }
  100.             if (backtrack(user)){
  101.                 bool = false;
  102.                 return 0;
  103.             }
  104.             System.out.print("Password: ");
  105.             try{
  106.                 pass = input.nextLine();
  107.             } catch (Exception e){
  108.                 System.out.println("Error: " + e);
  109.             }
  110.            
  111.             if (backtrack(pass)){
  112.                 bool = false;
  113.                 return 0;
  114.             }
  115.             else if (user.equals("admin") && pass.equals("admin")){
  116.                 System.out.println("Login Successfully");
  117.                 bool = false;
  118.                 return 10;
  119.             }
  120.             else {
  121.                 System.out.println("Invalid username or password");
  122.             }
  123.         }while (bool);
  124.         return 0;
  125.     }
  126.    
  127.     private int user(){
  128.         String x;
  129.         System.out.println("-1 to back");
  130.         System.out.println("(1)Login\n(2)Register");
  131.         try{
  132.             x = input.nextLine();
  133.         }
  134.         catch (Exception e){
  135.             System.out.println("Invalid input, " + e);
  136.             return 2;
  137.         }
  138.        
  139.         if (x.equals("1")){
  140.             return 3;
  141.         }
  142.         else if (x.equals("2")){
  143.             return 4;
  144.         }
  145.         else if (x.equals("-1")){
  146.             return 0;
  147.         }
  148.         else {
  149.             System.out.println("Invalid input, please try again");
  150.             return 0;
  151.         }
  152.     }
  153.    
  154.     private int userLogin(){
  155.         boolean bool = true;
  156.         String user, pass = null;
  157.         loadDat();
  158.         do{
  159.             System.out.println("-1 to back");
  160.             System.out.print("Username: ");
  161.             try {
  162.                 user = input.nextLine();
  163.             } catch (Exception e){
  164.                 System.out.println("Error: " + e);
  165.                 continue;
  166.             }
  167.             if (user.equals("-1")){
  168.                 bool = false;
  169.                 return 2;
  170.             }
  171.             System.out.print("Password: ");
  172.             try{
  173.                 pass = input.nextLine();
  174.             } catch (Exception e){
  175.                 System.out.println("Error: " + e);
  176.             }
  177.             if (pass.equals("-1")){
  178.                 bool = false;
  179.                 return 2;
  180.             }
  181.             else {
  182.                 for (int i = 0; i < this.username.size(); i++) {
  183.                     if (user.equals(this.username.get(i)) && pass.equals(this.password.get(i))){
  184.                         System.out.println("Login Successfully");
  185.                         bool = false;
  186.                         account = this.username.get(i);
  187.                         return 5;
  188.                     }
  189.                 }
  190.                 System.out.println("Invalid username or password");
  191.             }  
  192.         }while(bool);
  193.         return 0;
  194.     }
  195.    
  196.     private int userReg(){
  197.         String user, pass;
  198.         boolean bool = true;
  199.         boolean bool2 = false;
  200.         boolean taken;
  201.         loadDat();
  202.         System.out.println("Register as");
  203.        
  204.         do{
  205.             taken = false;
  206.             System.out.print("Username: ");
  207.             user = input.nextLine();
  208.            
  209.             for (int i = 0; i < this.username.size(); i++) {
  210.                 if (user.equals(this.username.get(i))){
  211.                     System.out.println("Username taken, please take different username");
  212.                     taken = true;
  213.                     continue;
  214.                 }
  215.             }
  216.            
  217.             if (taken){
  218.                 continue;
  219.             }
  220.            
  221.             else if(user.contains(" ")){
  222.                 System.out.println("Username or password cannot contain space");
  223.                 continue;
  224.             }
  225.            
  226.             else {
  227.                 do {
  228.                     bool2 = false;
  229.                     System.out.print("Password: ");
  230.                     pass = input.nextLine();
  231.                     if (pass.contains(" ")){
  232.                         System.out.println("Username or password cannot contain space");
  233.                         bool2 = true;
  234.                         continue;
  235.                     }
  236.                     else {
  237.                         addDat(user, pass);
  238.                         System.out.println("Account created successfully");
  239.                         bool = false;
  240.                         return 2;
  241.                     }
  242.                 }while(bool2);
  243.             }
  244.         }while(bool);
  245.         return 0;
  246.     }
  247.    
  248.     private int userMenu(){
  249.         boolean bool = true;
  250.         String x = null;
  251.         System.out.println("Welcome back, " + account);
  252.         do{
  253.            
  254.             System.out.println("(1)Shop\n(2)Status\n(3)Log Out");
  255.             try {
  256.                 x = input.nextLine();
  257.             } catch (Exception e) {
  258.                 System.out.println("Invalid input, " + e);
  259.             }
  260.             if (x.equals("1")){
  261.                 bool = false;
  262.                 return 6;
  263.             }
  264.             else if (x.equals("2")){
  265.                 bool = false;
  266.                 return 7;
  267.             }
  268.             else if (x.equals("3")){
  269.                 bool = false;
  270.                 return 0;
  271.             }
  272.             else {
  273.                 System.out.println("Invalid input, please try again");
  274.             }
  275.         }while(bool);
  276.         return 0;
  277.     }
  278.    
  279.     private int userShop(){
  280.         int x = 0;
  281.         int n = 0;
  282.         int item[] = {
  283.             0,
  284.             0,
  285.             0,
  286.         };
  287.         boolean bool, bool2, checkOut;
  288.         do {
  289.             checkOut = true;
  290.             do {
  291.                 bool = false;
  292.                 System.out.println("Item on sale");
  293.                 System.out.println("-1 to back (Clear cart)");
  294.                 System.out.println("(1)item1\n(2)item2\n(3)item3\n(4)View item in cart\n(5)Check Out");
  295.                 System.out.print("Select an item to purchase: ");
  296.                 try {
  297.                     x = Integer.parseInt(input.nextLine());
  298.                 }
  299.                 catch (Exception e){
  300.                     System.out.println("Invalid input, " + e);
  301.                     bool = true;
  302.                     continue;
  303.                 }
  304.                 if (backtrack(x)){
  305.                     bool = false;
  306.                     return 5;
  307.                 }
  308.                
  309.                 else if (x <= 0 || x >= 6){
  310.                     System.out.println("Invalid input, please try again");
  311.                     bool = true;
  312.                 }
  313.                 else {
  314.                     break;
  315.                 }
  316.             }while(bool);
  317.             if (x > 0 && x < 4){
  318.                 do{
  319.                     bool2 = false;
  320.                     System.out.println("-1 to cancel");
  321.                     System.out.print("Quantity: ");
  322.                     try {
  323.                         n = Integer.parseInt(input.nextLine());
  324.                     }
  325.                     catch (Exception e){
  326.                         System.out.println("Invalid input, " + e);
  327.                         bool2 = true;
  328.                         continue;
  329.                     }
  330.                     if(backtrack(x)){
  331.                         bool = false;
  332.                         checkOut = false;
  333.                         return 5;
  334.                     }
  335.                     if(n < 1){
  336.                         System.out.println("Quantity cannot less than 0");
  337.                         bool2 = true;
  338.                         continue;
  339.                     }
  340.                     else {
  341.                         System.out.println("item" + x + " (Amount: " + n + ") added to cart" );
  342.                     }
  343.                 }while(bool2);
  344.                 item[x] = n;
  345.             }
  346.             else if (x == 4){
  347.                 for (int i = 0; i <= 3; i++) {
  348.                     System.out.println("item" + (i + 1) + " (Amount: " + item[i]);
  349.                 }
  350.                 continue;
  351.             }
  352.             else if (x == 5){
  353.                 checkOut = false;
  354.             }
  355.         }while(checkOut);
  356.         return 0;
  357.     }
  358.    
  359.     private int userStatus(){
  360.         loadOrder();
  361.         for (int i = 0; i < this.userOrder.size(); i++) {
  362.             if (this.userOrder.get(i).equals(account)){
  363.                 System.out.println("Order #" + i);
  364.                 System.out.println("item1 x " + item1.get(i));
  365.                 System.out.println("item2 x " + item2.get(i));
  366.                 System.out.println("item3 x " + item2.get(i));
  367.                 System.out.println("Order confirm: " + orderStatus.get(i));
  368.                 System.out.println("Shipping confirm: " + shipStatus.get(i));
  369.                 System.out.println();
  370.             }
  371.         }
  372.         return 0;
  373.     }
  374.    
  375.     private void loadDat(){
  376.         readWrite read = new readWrite();
  377.         read.openRead("login.txt");
  378.         read.readDat();
  379.         username.clear();
  380.         password.clear();
  381.         for (int i = 0; i < read.user.size(); i++) {
  382.             this.username.add(read.user.get(i));
  383.             this.password.add(read.pass.get(i));
  384.         }
  385.         read.closeRead();
  386.     }
  387.    
  388.    
  389.     private void addDat(String user, String pass){
  390.         readWrite write = new readWrite();
  391.         write.openRead("login.txt");
  392.         write.readDat();
  393.         write.closeRead();
  394.         write.user.add(user);
  395.         write.pass.add(pass);
  396.         write.openWrite("login.txt");
  397.         write.writeDat();
  398.         write.closeWrite();
  399.     }
  400.    
  401.     private void loadOrder(){
  402.         readWrite readOrder = new readWrite();
  403.         readOrder.openRead("order.txt");
  404.         readOrder.readStatus();
  405.         userOrder.clear();
  406.         orderStatus.clear();
  407.         shipStatus.clear();
  408.         item1.clear();
  409.         item2.clear();
  410.         item3.clear();
  411.         for (int i = 0; i < readOrder.userOrder.size(); i++) {
  412.             this.userOrder.add(readOrder.userOrder.get(i));
  413.             this.orderStatus.add(readOrder.orderStatus.get(i));
  414.             this.shipStatus.add(readOrder.shipStatus.get(i));
  415.             this.item1.add(readOrder.item1.get(i));
  416.             this.item2.add(readOrder.item2.get(i));
  417.             this.item3.add(readOrder.item3.get(i));
  418.         }
  419.     }
  420.    
  421.     private boolean backtrack(String back){
  422.         if (back.equals("-1")){
  423.             return true;
  424.         }
  425.         else {
  426.             return false;
  427.         }
  428.     }
  429.    
  430.     private boolean backtrack(int back){
  431.         if (back == -1){
  432.             return true;
  433.         }
  434.         else {
  435.             return false;
  436.         }
  437.     }
  438. }
Add Comment
Please, Sign In to add comment