From af93c7336ddb0598e6d083677a1476ca51a1d403 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Thu, 7 Jun 2018 20:48:02 -0300 Subject: [PATCH 1/6] First step has the functionality but lacks the format --- .gitattributes | 2 + pom.xml | 16 + .../java/com/bootcamp2018/DAO/Connection.java | 12 + src/main/java/com/bootcamp2018/Main.java | 357 ++++++++++++++++++ .../java/com/bootcamp2018/Model/Client.java | 101 +++++ .../java/com/bootcamp2018/Model/Item.java | 53 +++ .../java/com/bootcamp2018/Model/Order.java | 58 +++ .../java/com/bootcamp2018/Model/Payment.java | 64 ++++ 8 files changed, 663 insertions(+) create mode 100644 .gitattributes create mode 100644 pom.xml create mode 100644 src/main/java/com/bootcamp2018/DAO/Connection.java create mode 100644 src/main/java/com/bootcamp2018/Main.java create mode 100644 src/main/java/com/bootcamp2018/Model/Client.java create mode 100644 src/main/java/com/bootcamp2018/Model/Item.java create mode 100644 src/main/java/com/bootcamp2018/Model/Order.java create mode 100644 src/main/java/com/bootcamp2018/Model/Payment.java diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..dd232f6 --- /dev/null +++ b/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + BootCamp2018 + Juan + 1.0-SNAPSHOT + + + 1.8 + 1.8 + + + \ No newline at end of file diff --git a/src/main/java/com/bootcamp2018/DAO/Connection.java b/src/main/java/com/bootcamp2018/DAO/Connection.java new file mode 100644 index 0000000..302185e --- /dev/null +++ b/src/main/java/com/bootcamp2018/DAO/Connection.java @@ -0,0 +1,12 @@ +package com.bootcamp2018.DAO; + +public class Connection { + private static Connection ourInstance = new Connection(); + + public static Connection getInstance() { + return ourInstance; + } + + private Connection() { + } +} diff --git a/src/main/java/com/bootcamp2018/Main.java b/src/main/java/com/bootcamp2018/Main.java new file mode 100644 index 0000000..7f5d0f7 --- /dev/null +++ b/src/main/java/com/bootcamp2018/Main.java @@ -0,0 +1,357 @@ +package com.bootcamp2018; + +import com.bootcamp2018.Model.*; +import java.util.Scanner; +import java.util.ArrayList; + +public class Main { + static ArrayList listOfItems = new ArrayList(); + static ArrayList listOfOrders = new ArrayList(); + static ArrayList listOfClients = new ArrayList(); + static ArrayList listOfPayments = new ArrayList(); + public static void main(String[] Arg) { + int op; + boolean ban; + addEntities(); + + do { + + System.out.println("Menu"); + System.out.println("1.Register Item"); + System.out.println("2.List Items"); + System.out.println("3.Register Order"); + System.out.println("4.List Orders"); + System.out.println("5.Register Client"); + System.out.println("6.List Clients"); + System.out.println("7.Register Payment"); + System.out.println("8.List Payments"); + System.out.println("9.Exit"); + System.out.println("Select: "); + Scanner scanner = new Scanner(System.in); + ban = false; + + op = Integer.parseInt(scanner.next()); + switch (op) { + + case 1: + while (!ban) { + System.out.println("Enter item Id: "); + String id = scanner.next(); + if (isInt(id)) { + Item newItem = new Item(Integer.parseInt(id), ""); + if (!(listOfItems.contains(newItem))) { + while (!ban) { + System.out.println("Enter item Name: "); + String name = scanner.next(); + if (name != null) { + newItem.setName(name); + listOfItems.add(newItem); + ban = true; + } else { + System.out.println("Please enter a Name"); + } + } + } else { + System.out.println("Item Id Already in use"); + + } + + } else { + System.out.println("Please Input A Valid Number"); + } + + + } + + break; + case 2: + if (listOfItems.size() > 0) { + System.out.println("Existing Items: "); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + } else { + System.out.println("There are no items."); + } + break; + case 3: + if (listOfItems.size() > 0) { + while (!ban){ + System.out.println("Enter Order Id: "); + String id = scanner.next(); + if (isInt(id)) { + Order newOrder = new Order(Integer.parseInt(id)); + if (!(listOfOrders.contains(newOrder))) { + ArrayList orderItems = new ArrayList(); + while (!ban){ + System.out.println("Order Menu"); + System.out.println("1.Add Item"); + System.out.println("2.List Items"); + System.out.println("3.Confirm Order"); + System.out.println("4.Cancel Order"); + op = Integer.parseInt(scanner.next()); + switch (op) { + case 1: + System.out.println("Write item Id: "); + String idItem = scanner.next(); + if (isInt(idItem)) { + Item it = new Item(Integer.parseInt(idItem), ""); + if (listOfItems.contains(it)) { + if (!orderItems.contains(it)) { + orderItems.add(listOfItems.get(listOfItems.indexOf(it))); + } else { + System.out.println("The Item is already part of the order."); + } + } else { + System.out.println("Item does not exists."); + } + } else { + System.out.println("Please enter a number."); + } + break; + case 2: + System.out.println("Items in the order: "); + for (Item i : orderItems + ) { + System.out.println(i.toString()); + } + break; + case 3: + if (orderItems.size() > 0) { + newOrder.setItems(orderItems); + listOfOrders.add(newOrder); + } + ban = true; + break; + case 4: + ban = true; + break; + } + + } + } else { + System.out.println("Order Id: " + id + " already exists."); + + } + + } else { + System.out.println("Please input a valid number."); + } + + + } + } else { + System.out.println("No Items available"); + } + break; + case 4: + if (listOfOrders.size() > 0 ) { + System.out.println("Existing Orders: "); + for (Order i : listOfOrders + ) { + System.out.println(i.toString()); + } + } else { + System.out.println("There are no orders."); + } + + break; + case 5: + while (!ban){ + System.out.println("Enter Client Id: "); + String id = scanner.next(); + if (isInt(id)) { + Client newClient = new Client(Integer.parseInt(id)); + if (!(listOfClients.contains(newClient))) { + while (!ban) { + System.out.println("Enter Client Name: "); + String name = scanner.next(); + if (name != null) { + while (!ban) { + System.out.println("Enter Client last name: "); + String lastName = scanner.next(); + if (lastName != null) { + while (!ban) { + System.out.println("Enter description: "); + String description = scanner.next(); + if (description != null) { + newClient = new Client (Integer.parseInt(id),name,lastName,description); + listOfClients.add(newClient); + ban = true; + } else { + System.out.println("Please enter a description."); + } + } + } else { + System.out.println("Please enter a last name."); + } + } + } else { + System.out.println("Please enter a Name."); + } + } + } else { + System.out.println("Client Id already in use."); + } + } else { + System.out.println("Please Input A Valid Number."); + } + } + break; + case 6: + if (listOfClients.size() > 0) { + System.out.println("Existing Clients: "); + for (Client i : listOfClients + ) { + System.out.println(i.toString()); + } + } else { + System.out.println("There are no Clients."); + } + break; + case 7: + if (listOfOrders.size() >0 && listOfClients.size() > 0 ) { + while (!ban){ + System.out.println("Enter Payment Id: "); + String id = scanner.next(); + if (isInt(id)) { + Payment newPayment = new Payment(Integer.parseInt(id)); + if (!(listOfPayments.contains(newPayment))) { + while (!ban) { + System.out.println("Enter Order Id: "); + String orderId = scanner.next(); + if (isInt(orderId)) { + Order payOrder = new Order(Integer.parseInt(orderId)); + if (listOfOrders.contains(payOrder) && !payedOrder(payOrder)) { + payOrder = listOfOrders.get(listOfOrders.indexOf(payOrder)); + while (!ban) { + System.out.println("Enter payment amount: "); + String amount = scanner.next(); + if (isDouble(amount) && Double.parseDouble(amount) > 0) { + while (!ban) { + System.out.println("Enter client id: "); + String clientId = scanner.next(); + if (isInt(clientId)) { + Client c = new Client(Integer.parseInt(clientId)); + if (listOfClients.contains(c)) { + + newPayment = new Payment(Integer.parseInt(id), payOrder, Double.parseDouble(amount)); + listOfPayments.add(newPayment); + listOfClients.get(listOfClients.indexOf(c)).getPayments().add(newPayment); + ban = true; + } + } else { + System.out.println("Please enter a valid client."); + } + } + + } else { + System.out.println("Please enter a valid amount."); + } + } + } else { + System.out.println("That order doesn't exists or is already payed."); + } + } else { + System.out.println("Please enter a number."); + } + } + } else { + System.out.println("Payment Id already in use."); + } + } else { + System.out.println("Please Input A Valid Number."); + } + } + } else { + System.out.println("Please register an order first."); + } + break; + case 8: + if (listOfPayments.size() > 0) { + System.out.println("Existing Payments: "); + for (Payment i : listOfPayments + ) { + System.out.println(i.toString()); + } + } else { + System.out.println("There are no Payments."); + } + break; + case 9: + break; + + + } + } while (op != 9); + } + + private static void addEntities() { + listOfItems.add(new Item(1,"Agua")); + listOfItems.add(new Item(2,"Pan")); + listOfItems.add(new Item(3,"Salsa")); + listOfItems.add(new Item(4,"Carne")); + listOfItems.add(new Item(5,"Pollo")); + Order pepe = new Order(1); + pepe.getItems().add(listOfItems.get(0)); + pepe.getItems().add(listOfItems.get(1)); + pepe.getItems().add(listOfItems.get(2)); + listOfOrders.add(pepe); + pepe = new Order(2); + pepe.getItems().add(listOfItems.get(3)); + pepe.getItems().add(listOfItems.get(4)); + listOfOrders.add(pepe); + pepe = new Order(3); + pepe.getItems().add(listOfItems.get(0)); + pepe.getItems().add(listOfItems.get(2)); + pepe.getItems().add(listOfItems.get(4)); + listOfOrders.add(pepe); + + Client ramon = new Client (1,"Ramon","Baldez","Don Ramon"); + listOfClients.add(ramon); + } + + + + private static boolean payedOrder(Order payOrder) { + boolean ban = false; + if (listOfPayments.size() > 0) { + for (Payment p : listOfPayments + ) { + if (p.getOrder().equals(payOrder)) { + ban = true; + break; + } + } + } + return ban; + } + + + private static boolean isInt(String s) { + try { + Integer.parseInt(s); + } catch (NumberFormatException e) { + return false; + } catch (NullPointerException e) { + return false; + } + return true; + + + } + private static boolean isDouble(String s) { + try { + Double.parseDouble(s); + } catch (NumberFormatException e) { + return false; + } catch (NullPointerException e) { + return false; + } + return true; + + + } + +} diff --git a/src/main/java/com/bootcamp2018/Model/Client.java b/src/main/java/com/bootcamp2018/Model/Client.java new file mode 100644 index 0000000..bcf8c43 --- /dev/null +++ b/src/main/java/com/bootcamp2018/Model/Client.java @@ -0,0 +1,101 @@ +package com.bootcamp2018.Model; + +import java.util.ArrayList; + +public class Client { + private int id; + private String name; + private String lastName; + private String description; + private ArrayList Payments; + + public Client(int id) { + this.id = id; + this.name = ""; + this.lastName = ""; + this.description = ""; + this.Payments = new ArrayList(); + } + + public Client(int id, String name, String lastName, String description) { + this.id = id; + this.name = name; + this.lastName = lastName; + this.description = description; + Payments = new ArrayList(); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getLastName() { + return lastName; + } + + public void setLastName(String lastName) { + this.lastName = lastName; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public ArrayList getPayments() { + return Payments; + } + + public void setPayments(ArrayList payments) { + Payments = payments; + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + if (!Client.class.isAssignableFrom(obj.getClass())) { + return false; + } + final Client other = (Client) obj; + + if (this.getId() != other.getId()) { + return false; + } + return true; + } + + @Override + public String toString() { + String str; + str = "Name: "+ getName()+ ". Last name: "+ getLastName(); + str += "\nDescription: "+getDescription(); + if (getPayments().size() >0) { + for (Payment p : getPayments() + ) { + str +="\n" +p.toString(); + } + } else { + str +="\nNo payments"; + } + return str; + + + } +} diff --git a/src/main/java/com/bootcamp2018/Model/Item.java b/src/main/java/com/bootcamp2018/Model/Item.java new file mode 100644 index 0000000..cacbca0 --- /dev/null +++ b/src/main/java/com/bootcamp2018/Model/Item.java @@ -0,0 +1,53 @@ +package com.bootcamp2018.Model; + +public class Item implements Comparable{ + private int Id; + private String name; + + + public int getId() { + return Id; + } + + public void setId(int id) { + Id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Item(int id, String name) { + Id = id; + this.name = name; + } + + public int compareTo(Item o) { + return this.getId() - o.getId(); + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + if (!Item.class.isAssignableFrom(obj.getClass())) { + return false; + } + final Item other = (Item) obj; + + if (this.getId() != other.getId()) { + return false; + } + return true; + } + + @Override + public String toString() { + return "Id: "+getId()+ ", Name: "+getName(); + } +} diff --git a/src/main/java/com/bootcamp2018/Model/Order.java b/src/main/java/com/bootcamp2018/Model/Order.java new file mode 100644 index 0000000..8a2b6d2 --- /dev/null +++ b/src/main/java/com/bootcamp2018/Model/Order.java @@ -0,0 +1,58 @@ +package com.bootcamp2018.Model; + +import java.util.ArrayList; + +public class Order implements Comparable{ + private int Id; + private ArrayList Items; + + public int getId() { + return Id; + } + + public Order(int id) { + this.Id = id; + this.Items = new ArrayList() ; + } + + public void setId(int id) { + this.Id = id; + } + + public ArrayList getItems() { + return Items; + } + + public void setItems(ArrayList items) { + Items = items; + } + + public int compareTo(Order o) { + return this.getId() - o.getId(); + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + if (!Order.class.isAssignableFrom(obj.getClass())) { + return false; + } + final Order other = (Order) obj; + + return this.getId() == other.getId(); + } + + @Override + public String toString() { + String str = "Order Id: "+ getId(); + str += "\nItems:"; + for (Item i : getItems() + ) { + str += "\n" + i.toString(); + } + return str; + + } +} diff --git a/src/main/java/com/bootcamp2018/Model/Payment.java b/src/main/java/com/bootcamp2018/Model/Payment.java new file mode 100644 index 0000000..d1454b7 --- /dev/null +++ b/src/main/java/com/bootcamp2018/Model/Payment.java @@ -0,0 +1,64 @@ +package com.bootcamp2018.Model; + +public class Payment { + private int Id; + private Order order; + private double amount; + + public int getId() { + return Id; + } + + public void setId(int id) { + Id = id; + } + + public Order getOrder() { + return order; + } + + public void setOrder(Order order) { + this.order = order; + } + + public double getAmount() { + return amount; + } + + public void setAmount(double amount) { + this.amount = amount; + } + + public Payment(int id) { + Id = id; + } + + + public Payment(int id, Order order, double amount) { + Id = id; + this.order = order; + this.amount = amount; + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + if (!Payment.class.isAssignableFrom(obj.getClass())) { + return false; + } + final Payment other = (Payment) obj; + + if (this.getId() != other.getId()) { + return false; + } + return true; + } + + @Override + public String toString() { + return "Payment Id: "+ getId()+ ", \n"+ getOrder().toString() + "\nAmount: $"+getAmount(); + } + +} From 3853aa5eea58acdfc4fc1c1b33b684fc1799142b Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Wed, 13 Jun 2018 11:25:31 -0300 Subject: [PATCH 2/6] Item Crud working --- pom.xml | 12 +- .../java/com/bootcamp2018/DAO/Connection.java | 12 - src/main/java/com/bootcamp2018/Main.java | 448 ++++++------------ .../java/com/bootcamp2018/Model/Item.java | 53 --- .../java/com/bootcamp2018/Model/Order.java | 58 --- .../java/com/bootcamp2018/dao/ItemDAO.java | 88 ++++ .../bootcamp2018/{Model => model}/Client.java | 2 +- .../java/com/bootcamp2018/model/Discount.java | 55 +++ .../java/com/bootcamp2018/model/Item.java | 66 +++ .../java/com/bootcamp2018/model/Order.java | 78 +++ .../com/bootcamp2018/model/OrderDetail.java | 65 +++ .../{Model => model}/Payment.java | 2 +- .../bootcamp2018/service/ClientService.java | 33 ++ .../com/bootcamp2018/service/ItemService.java | 26 + .../com/bootcamp2018/service/Service.java | 11 + 15 files changed, 584 insertions(+), 425 deletions(-) delete mode 100644 src/main/java/com/bootcamp2018/DAO/Connection.java delete mode 100644 src/main/java/com/bootcamp2018/Model/Item.java delete mode 100644 src/main/java/com/bootcamp2018/Model/Order.java create mode 100644 src/main/java/com/bootcamp2018/dao/ItemDAO.java rename src/main/java/com/bootcamp2018/{Model => model}/Client.java (98%) create mode 100644 src/main/java/com/bootcamp2018/model/Discount.java create mode 100644 src/main/java/com/bootcamp2018/model/Item.java create mode 100644 src/main/java/com/bootcamp2018/model/Order.java create mode 100644 src/main/java/com/bootcamp2018/model/OrderDetail.java rename src/main/java/com/bootcamp2018/{Model => model}/Payment.java (97%) create mode 100644 src/main/java/com/bootcamp2018/service/ClientService.java create mode 100644 src/main/java/com/bootcamp2018/service/ItemService.java create mode 100644 src/main/java/com/bootcamp2018/service/Service.java diff --git a/pom.xml b/pom.xml index dd232f6..c9aef9d 100644 --- a/pom.xml +++ b/pom.xml @@ -7,10 +7,20 @@ BootCamp2018 Juan 1.0-SNAPSHOT + + + + mysql + mysql-connector-java + 8.0.11 + + + + 1.8 1.8 - \ No newline at end of file + \ No newline at end of file diff --git a/src/main/java/com/bootcamp2018/DAO/Connection.java b/src/main/java/com/bootcamp2018/DAO/Connection.java deleted file mode 100644 index 302185e..0000000 --- a/src/main/java/com/bootcamp2018/DAO/Connection.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.bootcamp2018.DAO; - -public class Connection { - private static Connection ourInstance = new Connection(); - - public static Connection getInstance() { - return ourInstance; - } - - private Connection() { - } -} diff --git a/src/main/java/com/bootcamp2018/Main.java b/src/main/java/com/bootcamp2018/Main.java index 7f5d0f7..3a69d9d 100644 --- a/src/main/java/com/bootcamp2018/Main.java +++ b/src/main/java/com/bootcamp2018/Main.java @@ -1,334 +1,186 @@ package com.bootcamp2018; -import com.bootcamp2018.Model.*; -import java.util.Scanner; -import java.util.ArrayList; - -public class Main { - static ArrayList listOfItems = new ArrayList(); - static ArrayList listOfOrders = new ArrayList(); - static ArrayList listOfClients = new ArrayList(); - static ArrayList listOfPayments = new ArrayList(); - public static void main(String[] Arg) { - int op; - boolean ban; - addEntities(); +import com.bootcamp2018.dao.*; - do { +import com.bootcamp2018.model.*; - System.out.println("Menu"); - System.out.println("1.Register Item"); - System.out.println("2.List Items"); - System.out.println("3.Register Order"); - System.out.println("4.List Orders"); - System.out.println("5.Register Client"); - System.out.println("6.List Clients"); - System.out.println("7.Register Payment"); - System.out.println("8.List Payments"); - System.out.println("9.Exit"); - System.out.println("Select: "); - Scanner scanner = new Scanner(System.in); - ban = false; - op = Integer.parseInt(scanner.next()); - switch (op) { - case 1: - while (!ban) { - System.out.println("Enter item Id: "); - String id = scanner.next(); - if (isInt(id)) { - Item newItem = new Item(Integer.parseInt(id), ""); - if (!(listOfItems.contains(newItem))) { - while (!ban) { - System.out.println("Enter item Name: "); - String name = scanner.next(); - if (name != null) { - newItem.setName(name); - listOfItems.add(newItem); - ban = true; - } else { - System.out.println("Please enter a Name"); - } - } - } else { - System.out.println("Item Id Already in use"); - - } +import java.util.ArrayList; +import java.util.Scanner; - } else { - System.out.println("Please Input A Valid Number"); - } +public class Main { - } + public static void main(String[] Arg) { + int op = 0; + boolean ban = false; + String menu; + ItemDAO itemDAO = new ItemDAO(); + Scanner scanner = new Scanner(System.in); + ArrayList listOfItems; - break; - case 2: - if (listOfItems.size() > 0) { - System.out.println("Existing Items: "); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); - } - } else { - System.out.println("There are no items."); - } - break; - case 3: - if (listOfItems.size() > 0) { - while (!ban){ - System.out.println("Enter Order Id: "); - String id = scanner.next(); - if (isInt(id)) { - Order newOrder = new Order(Integer.parseInt(id)); - if (!(listOfOrders.contains(newOrder))) { - ArrayList orderItems = new ArrayList(); - while (!ban){ - System.out.println("Order Menu"); - System.out.println("1.Add Item"); - System.out.println("2.List Items"); - System.out.println("3.Confirm Order"); - System.out.println("4.Cancel Order"); - op = Integer.parseInt(scanner.next()); - switch (op) { + try { + while (op != 3){ + System.out.println("Menu"); + System.out.println("1.Enter as Admin"); + System.out.println("2.Enter as Client"); + System.out.println("3.Exit"); + ban = false; + menu = scanner.next(); + if(isInt(menu)){ + op = Integer.parseInt(menu); + switch (op){ + case 1: + op = 0; + while (op != 5){ + System.out.println("Admin Menu"); + System.out.println("1.Item Menu"); + System.out.println("2.Discount Menu"); + System.out.println("3.Payment Menu"); + System.out.println("4.Clients Menu"); + System.out.println("5.Exit"); + menu= scanner.next(); + if(isInt(menu)){ + op = Integer.parseInt(menu); + switch (op){ case 1: - System.out.println("Write item Id: "); - String idItem = scanner.next(); - if (isInt(idItem)) { - Item it = new Item(Integer.parseInt(idItem), ""); - if (listOfItems.contains(it)) { - if (!orderItems.contains(it)) { - orderItems.add(listOfItems.get(listOfItems.indexOf(it))); - } else { - System.out.println("The Item is already part of the order."); + op = 0; + while (op != 5) { + System.out.println("Item Menu"); + System.out.println("1.Create Item"); + System.out.println("2.Retrieve Items"); + System.out.println("3.Update Item"); + System.out.println("4.Delete Item"); + System.out.println("5.Exit"); + menu = scanner.next(); + if (isInt(menu)) { + op = Integer.parseInt(menu); + switch (op){ + case 1: + while (!ban){ + System.out.println("Enter item name: "); + String name = scanner.next(); + if (name != null){ + while (!ban){ + System.out.println("Enter item price: "); + String prices = scanner.next(); + if (isDouble(prices)){ + double price = Double.parseDouble(prices); + ban = itemDAO.createItem(new Item(name,price)); + if (!ban) { + System.out.println("Error"); + ban= true; + } + }else{ + System.out.println("Please enter a valid value."); + } + } + }else{ + System.out.println("Please enter a valid value."); + } + } + break; + case 2: + System.out.println("List of Items: "); + listOfItems = itemDAO.retriveItems(); + for (Item i: listOfItems + ) { + System.out.println(i.toString()); + } + scanner.next(); + break; + case 3: + ban = false; + while (!ban) { + System.out.println("List of Items: "); + listOfItems = itemDAO.retriveItems(); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + System.out.println("Enter Item Code to modify: "); + String code = scanner.next(); + if (isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code),"",0))) { + while (!ban){ + Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code),"",0))); + System.out.println("Item current name is: "+updateItem.getName()+", enter new name: "); + String name = scanner.next(); + if (name != null){ + updateItem.setName(name); + while (!ban){ + System.out.println("Enter item price: "); + String prices = scanner.next(); + if (isDouble(prices)){ + + updateItem.setPrice(Double.parseDouble(prices)); + + ban = itemDAO.updateItem(updateItem); + if (!ban) { + System.out.println("Error"); + ban= true; + } + }else{ + System.out.println("Please enter a valid value."); + } + } + }else{ + System.out.println("Please enter a valid value."); + } + + } + } + } + break; + case 4: + break; + case 5: + break; + default: + System.out.println("Number must be between 1 and 5"); + break; + } - } else { - System.out.println("Item does not exists."); } - } else { - System.out.println("Please enter a number."); } break; case 2: - System.out.println("Items in the order: "); - for (Item i : orderItems - ) { - System.out.println(i.toString()); - } break; case 3: - if (orderItems.size() > 0) { - newOrder.setItems(orderItems); - listOfOrders.add(newOrder); - } - ban = true; break; case 4: - ban = true; + break; + case 5: + break; + default: + System.out.println("Number must be between 1 and 5"); break; } - - } - } else { - System.out.println("Order Id: " + id + " already exists."); - - } - - } else { - System.out.println("Please input a valid number."); - } - - - } - } else { - System.out.println("No Items available"); - } - break; - case 4: - if (listOfOrders.size() > 0 ) { - System.out.println("Existing Orders: "); - for (Order i : listOfOrders - ) { - System.out.println(i.toString()); - } - } else { - System.out.println("There are no orders."); - } - - break; - case 5: - while (!ban){ - System.out.println("Enter Client Id: "); - String id = scanner.next(); - if (isInt(id)) { - Client newClient = new Client(Integer.parseInt(id)); - if (!(listOfClients.contains(newClient))) { - while (!ban) { - System.out.println("Enter Client Name: "); - String name = scanner.next(); - if (name != null) { - while (!ban) { - System.out.println("Enter Client last name: "); - String lastName = scanner.next(); - if (lastName != null) { - while (!ban) { - System.out.println("Enter description: "); - String description = scanner.next(); - if (description != null) { - newClient = new Client (Integer.parseInt(id),name,lastName,description); - listOfClients.add(newClient); - ban = true; - } else { - System.out.println("Please enter a description."); - } - } - } else { - System.out.println("Please enter a last name."); - } - } - } else { - System.out.println("Please enter a Name."); } - } - } else { - System.out.println("Client Id already in use."); } - } else { - System.out.println("Please Input A Valid Number."); - } - } - break; - case 6: - if (listOfClients.size() > 0) { - System.out.println("Existing Clients: "); - for (Client i : listOfClients - ) { - System.out.println(i.toString()); + break; + case 2: + + break; + case 3: + break; + default: + System.out.println("Number must be between 1 and 3 "); + break; } - } else { - System.out.println("There are no Clients."); - } - break; - case 7: - if (listOfOrders.size() >0 && listOfClients.size() > 0 ) { - while (!ban){ - System.out.println("Enter Payment Id: "); - String id = scanner.next(); - if (isInt(id)) { - Payment newPayment = new Payment(Integer.parseInt(id)); - if (!(listOfPayments.contains(newPayment))) { - while (!ban) { - System.out.println("Enter Order Id: "); - String orderId = scanner.next(); - if (isInt(orderId)) { - Order payOrder = new Order(Integer.parseInt(orderId)); - if (listOfOrders.contains(payOrder) && !payedOrder(payOrder)) { - payOrder = listOfOrders.get(listOfOrders.indexOf(payOrder)); - while (!ban) { - System.out.println("Enter payment amount: "); - String amount = scanner.next(); - if (isDouble(amount) && Double.parseDouble(amount) > 0) { - while (!ban) { - System.out.println("Enter client id: "); - String clientId = scanner.next(); - if (isInt(clientId)) { - Client c = new Client(Integer.parseInt(clientId)); - if (listOfClients.contains(c)) { - newPayment = new Payment(Integer.parseInt(id), payOrder, Double.parseDouble(amount)); - listOfPayments.add(newPayment); - listOfClients.get(listOfClients.indexOf(c)).getPayments().add(newPayment); - ban = true; - } - } else { - System.out.println("Please enter a valid client."); - } - } - - } else { - System.out.println("Please enter a valid amount."); - } - } - } else { - System.out.println("That order doesn't exists or is already payed."); - } - } else { - System.out.println("Please enter a number."); - } - } - } else { - System.out.println("Payment Id already in use."); - } - } else { - System.out.println("Please Input A Valid Number."); - } - } - } else { - System.out.println("Please register an order first."); - } - break; - case 8: - if (listOfPayments.size() > 0) { - System.out.println("Existing Payments: "); - for (Payment i : listOfPayments - ) { - System.out.println(i.toString()); - } - } else { - System.out.println("There are no Payments."); } - break; - case 9: - break; - - } - } while (op != 9); - } - private static void addEntities() { - listOfItems.add(new Item(1,"Agua")); - listOfItems.add(new Item(2,"Pan")); - listOfItems.add(new Item(3,"Salsa")); - listOfItems.add(new Item(4,"Carne")); - listOfItems.add(new Item(5,"Pollo")); - Order pepe = new Order(1); - pepe.getItems().add(listOfItems.get(0)); - pepe.getItems().add(listOfItems.get(1)); - pepe.getItems().add(listOfItems.get(2)); - listOfOrders.add(pepe); - pepe = new Order(2); - pepe.getItems().add(listOfItems.get(3)); - pepe.getItems().add(listOfItems.get(4)); - listOfOrders.add(pepe); - pepe = new Order(3); - pepe.getItems().add(listOfItems.get(0)); - pepe.getItems().add(listOfItems.get(2)); - pepe.getItems().add(listOfItems.get(4)); - listOfOrders.add(pepe); + } - Client ramon = new Client (1,"Ramon","Baldez","Don Ramon"); - listOfClients.add(ramon); - } + }catch (Exception e){ + } - private static boolean payedOrder(Order payOrder) { - boolean ban = false; - if (listOfPayments.size() > 0) { - for (Payment p : listOfPayments - ) { - if (p.getOrder().equals(payOrder)) { - ban = true; - break; - } - } - } - return ban; } - private static boolean isInt(String s) { try { Integer.parseInt(s); @@ -338,8 +190,6 @@ private static boolean isInt(String s) { return false; } return true; - - } private static boolean isDouble(String s) { try { @@ -350,8 +200,8 @@ private static boolean isDouble(String s) { return false; } return true; + } - } } diff --git a/src/main/java/com/bootcamp2018/Model/Item.java b/src/main/java/com/bootcamp2018/Model/Item.java deleted file mode 100644 index cacbca0..0000000 --- a/src/main/java/com/bootcamp2018/Model/Item.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.bootcamp2018.Model; - -public class Item implements Comparable{ - private int Id; - private String name; - - - public int getId() { - return Id; - } - - public void setId(int id) { - Id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Item(int id, String name) { - Id = id; - this.name = name; - } - - public int compareTo(Item o) { - return this.getId() - o.getId(); - } - - @Override - public boolean equals(Object obj) { - if (obj == null) { - return false; - } - if (!Item.class.isAssignableFrom(obj.getClass())) { - return false; - } - final Item other = (Item) obj; - - if (this.getId() != other.getId()) { - return false; - } - return true; - } - - @Override - public String toString() { - return "Id: "+getId()+ ", Name: "+getName(); - } -} diff --git a/src/main/java/com/bootcamp2018/Model/Order.java b/src/main/java/com/bootcamp2018/Model/Order.java deleted file mode 100644 index 8a2b6d2..0000000 --- a/src/main/java/com/bootcamp2018/Model/Order.java +++ /dev/null @@ -1,58 +0,0 @@ -package com.bootcamp2018.Model; - -import java.util.ArrayList; - -public class Order implements Comparable{ - private int Id; - private ArrayList Items; - - public int getId() { - return Id; - } - - public Order(int id) { - this.Id = id; - this.Items = new ArrayList() ; - } - - public void setId(int id) { - this.Id = id; - } - - public ArrayList getItems() { - return Items; - } - - public void setItems(ArrayList items) { - Items = items; - } - - public int compareTo(Order o) { - return this.getId() - o.getId(); - } - - @Override - public boolean equals(Object obj) { - if (obj == null) { - return false; - } - if (!Order.class.isAssignableFrom(obj.getClass())) { - return false; - } - final Order other = (Order) obj; - - return this.getId() == other.getId(); - } - - @Override - public String toString() { - String str = "Order Id: "+ getId(); - str += "\nItems:"; - for (Item i : getItems() - ) { - str += "\n" + i.toString(); - } - return str; - - } -} diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java new file mode 100644 index 0000000..46acc8f --- /dev/null +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -0,0 +1,88 @@ +package com.bootcamp2018.dao; + +import com.bootcamp2018.db.DBConnection; +import com.bootcamp2018.model.Item; + +import java.sql.*; +import java.util.ArrayList; + + +public class ItemDAO { + + + + public boolean createItem(Item item) { + + + boolean ban = true; + try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("INSERT INTO item (Name,Price) VALUES (?,?)",Statement.RETURN_GENERATED_KEYS); + pstmt.setString(1, item.getName()); + pstmt.setDouble(2, item.getPrice()); + pstmt.executeUpdate(); + ResultSet rs = pstmt.getGeneratedKeys(); + if (rs.next()) { + item.setId(rs.getInt(1)); + } else { + ban = false; + } + pstmt.close(); + } catch (Exception e){ + ban = false; + } + + return ban; + } + public ArrayList retriveItems() throws SQLException { + ArrayList list = new ArrayList<>(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idItem, name, price FROM item"); + + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + list.add(new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3))); + } + + + } catch (Exception e) { + + } + + return list; + + } + public boolean deleteItem(Item item) throws SQLException { + boolean ban = true; + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("DELETE FROM item WHERE idItem = ?"); + pstmt.setInt(1, item.getId()); + int resp = pstmt.executeUpdate(); + if (resp == 0) ban = false; + + } catch (Exception e) { + ban = false; + } + return ban; + } + public boolean updateItem(Item item) throws SQLException { + boolean ban = true; + try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("UPDATE item SET name = ?, price= ? WHERE idItem= ?"); + pstmt.setString(1, item.getName()); + pstmt.setDouble(2, item.getPrice()); + pstmt.setInt(3, item.getId()); + + int resp = pstmt.executeUpdate(); + if (resp == 0) ban = false; + + } catch (Exception e) { + ban = false; + } + return ban; + } +// CRear clase que con ReturnSet me de el objeto que yo toque o la lista de objetos que yo toque; +} diff --git a/src/main/java/com/bootcamp2018/Model/Client.java b/src/main/java/com/bootcamp2018/model/Client.java similarity index 98% rename from src/main/java/com/bootcamp2018/Model/Client.java rename to src/main/java/com/bootcamp2018/model/Client.java index bcf8c43..69dedea 100644 --- a/src/main/java/com/bootcamp2018/Model/Client.java +++ b/src/main/java/com/bootcamp2018/model/Client.java @@ -1,4 +1,4 @@ -package com.bootcamp2018.Model; +package com.bootcamp2018.model; import java.util.ArrayList; diff --git a/src/main/java/com/bootcamp2018/model/Discount.java b/src/main/java/com/bootcamp2018/model/Discount.java new file mode 100644 index 0000000..e2840e6 --- /dev/null +++ b/src/main/java/com/bootcamp2018/model/Discount.java @@ -0,0 +1,55 @@ +package com.bootcamp2018.model; + +public class Discount { + private Item item; + private int quantity; + private double price; + + public Discount() { + this.item = new Item(); + this.quantity = 0; + this.price = 0; + } + + public Discount(Item item, int quantity) { + this.item = item; + this.quantity = quantity; + this.price = 0; + } + + public Item getItem() { + return item; + } + + public void setItem(Item item) { + this.item = item; + } + + public int getQuantity() { + return quantity; + } + + public void setQuantity(int quantity) { + this.quantity = quantity; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + @Override + public boolean equals(Object obj) { + boolean ban = false; + if (obj != null) { + if (Discount.class.isAssignableFrom(obj.getClass())) { + final Discount other = (Discount) obj; + ban = this.item.equals(other) && this.quantity == other.quantity; + } + } + return ban; + } +} diff --git a/src/main/java/com/bootcamp2018/model/Item.java b/src/main/java/com/bootcamp2018/model/Item.java new file mode 100644 index 0000000..cf279ec --- /dev/null +++ b/src/main/java/com/bootcamp2018/model/Item.java @@ -0,0 +1,66 @@ +package com.bootcamp2018.model; + +public class Item { + private int Id; + private String name; + private double price; + + public Item() { + Id = 0; + this.name = ""; + this.price = 0; + } + + public Item(String name, double price) { + Id = 0; + this.name = name; + this.price = price; + } + + public Item(int id, String name, double price) { + Id = id; + this.name = name; + this.price = price; + } + + public int getId() { + return Id; + } + + public void setId(int id) { + Id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + @Override + public boolean equals(Object obj) { + boolean ban = false; + if (obj != null) { + if (Item.class.isAssignableFrom(obj.getClass())) { + final Item other = (Item) obj; + ban = this.getId() == other.getId(); + } + } + return ban; + } + + @Override + public String toString() { + return "Code: "+getId()+ ", Name: "+getName() +", Price: $"+ getPrice(); + } +} diff --git a/src/main/java/com/bootcamp2018/model/Order.java b/src/main/java/com/bootcamp2018/model/Order.java new file mode 100644 index 0000000..a387a95 --- /dev/null +++ b/src/main/java/com/bootcamp2018/model/Order.java @@ -0,0 +1,78 @@ +package com.bootcamp2018.model; + +import java.util.ArrayList; + +public class Order { + private int Id; + private ArrayList orderDetails; + + public Order() { + } + + public Order(int id) { + Id = id; + } + + public Order(int id, ArrayList orderDetails) { + Id = id; + this.orderDetails = orderDetails; + } + + public int getId() { + return Id; + } + + public void setId(int id) { + Id = id; + } + + public ArrayList getOrderDetails() { + return orderDetails; + } + + public void setOrderDetails(ArrayList orderDetails) { + this.orderDetails = orderDetails; + } + + @Override + public boolean equals(Object obj) { + boolean ban = false; + if (obj != null) { + if (Order.class.isAssignableFrom(obj.getClass())) { + final Order other = (Order) obj; + ban = this.getId() == other.getId(); + } + } + return ban; + } + + @Override + public String toString() { + String str = "No Items in the order."; + if (orderDetails.size() >0){ + str = "Order details: " ; + for (int i = 0; i < orderDetails.size(); i++) { + str += "\n"+i+" "+orderDetails.get(i).toString(); + } + } + return str; + } + public void addOrderDetail(OrderDetail orderDetail) { + if(orderDetails.size()>0) { + boolean ban = false; + for (OrderDetail od: orderDetails + ) { + if (od.equals(orderDetail)) { + od.setQuantity(od.getQuantity()+orderDetail.getQuantity()); + ban =true ; + } + + } + if (!ban){ + orderDetails.add(orderDetail); + } + } + } + + +} diff --git a/src/main/java/com/bootcamp2018/model/OrderDetail.java b/src/main/java/com/bootcamp2018/model/OrderDetail.java new file mode 100644 index 0000000..0ad7554 --- /dev/null +++ b/src/main/java/com/bootcamp2018/model/OrderDetail.java @@ -0,0 +1,65 @@ +package com.bootcamp2018.model; + +public class OrderDetail { + private Item item; + private int quantity; + private double price; + + public OrderDetail() { + this.item = new Item(); + this.quantity = 0; + this.price = 0; + } + + public OrderDetail(Item item, int quantity) { + this.item = item; + this.quantity = quantity; + this.price = item.getPrice(); + } + + public Item getItem() { + return item; + } + + public void setItem(Item item) { + this.item = item; + } + + public int getQuantity() { + return quantity; + } + + public void setQuantity(int quantity) { + this.quantity = quantity; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + @Override + public boolean equals(Object obj) { + boolean ban = false; + if (obj != null) { + if (OrderDetail.class.isAssignableFrom(obj.getClass())) { + final OrderDetail other = (OrderDetail) obj; + if (this.getItem().equals( other.getItem())) { + ban=true; + } + } + } + return ban; + } + + @Override + public String toString() { + return "Item: "+this.item.getName() + ", quantity: "+this.quantity+", unit price: $"+this.price ; + } + public double getSubTotal() { + return this.price*this.quantity; + } +} diff --git a/src/main/java/com/bootcamp2018/Model/Payment.java b/src/main/java/com/bootcamp2018/model/Payment.java similarity index 97% rename from src/main/java/com/bootcamp2018/Model/Payment.java rename to src/main/java/com/bootcamp2018/model/Payment.java index d1454b7..01c5290 100644 --- a/src/main/java/com/bootcamp2018/Model/Payment.java +++ b/src/main/java/com/bootcamp2018/model/Payment.java @@ -1,4 +1,4 @@ -package com.bootcamp2018.Model; +package com.bootcamp2018.model; public class Payment { private int Id; diff --git a/src/main/java/com/bootcamp2018/service/ClientService.java b/src/main/java/com/bootcamp2018/service/ClientService.java new file mode 100644 index 0000000..9683ead --- /dev/null +++ b/src/main/java/com/bootcamp2018/service/ClientService.java @@ -0,0 +1,33 @@ +package com.bootcamp2018.service; + +import com.bootcamp2018.model.Client; + +import java.util.ArrayList; + +public class ClientService implements Service { + @Override + public Client create(Client Object) { + return null; + } + + @Override + public Client get(Client Object) { + return null; + } + + @Override + public ArrayList getList(Client Objact) { + return null; + } + + @Override + public Client update(Client Object) { + return null; + } + + @Override + public Client delete(Client Object) { + return null; + } + //DTO class ver patron +} diff --git a/src/main/java/com/bootcamp2018/service/ItemService.java b/src/main/java/com/bootcamp2018/service/ItemService.java new file mode 100644 index 0000000..868fdf0 --- /dev/null +++ b/src/main/java/com/bootcamp2018/service/ItemService.java @@ -0,0 +1,26 @@ +package com.bootcamp2018.service; + +import com.bootcamp2018.model.Item; + +public class ItemService implements Service { + + @Override + public Item create(Item Object) { + return null; + } + + @Override + public Item get(Item Object) { + return null; + } + + @Override + public Item update(Item Object) { + return null; + } + + @Override + public Item delete(Item Object) { + return null; + } +} diff --git a/src/main/java/com/bootcamp2018/service/Service.java b/src/main/java/com/bootcamp2018/service/Service.java new file mode 100644 index 0000000..edd3029 --- /dev/null +++ b/src/main/java/com/bootcamp2018/service/Service.java @@ -0,0 +1,11 @@ +package com.bootcamp2018.service; + +import java.util.ArrayList; + +public interface Service { + T create(T Object); + T get(T Object); + ArrayList getList(T Objact); + T update(T Object); + T delete(T Object); +} From a5d1d499481caa5ef73f072bb965d783a2451344 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Sat, 16 Jun 2018 17:00:31 -0300 Subject: [PATCH 3/6] Dao Create Finnished --- .../java/com/bootcamp2018/dao/ClientDAO.java | 103 ++++++++++++++++++ .../java/com/bootcamp2018/dao/ItemDAO.java | 51 ++++++--- .../java/com/bootcamp2018/dao/OrderDAO.java | 41 +++++++ .../com/bootcamp2018/dao/OrderDetailDAO.java | 37 +++++++ .../java/com/bootcamp2018/dao/PaymentDAO.java | 35 ++++++ .../com/bootcamp2018/db/DBConnection.java | 34 ++++++ .../java/com/bootcamp2018/dto/OrderDTO.java | 30 +++++ .../com/bootcamp2018/dto/OrderDetailDTO.java | 29 +++++ .../java/com/bootcamp2018/dto/PaymentDTO.java | 34 ++++++ .../java/com/bootcamp2018/model/Client.java | 12 +- .../java/com/bootcamp2018/model/Payment.java | 8 +- .../bootcamp2018/service/ClientService.java | 4 +- .../com/bootcamp2018/service/ItemService.java | 14 ++- .../service/OrderDetailService.java | 32 ++++++ .../bootcamp2018/service/OrderService.java | 32 ++++++ .../bootcamp2018/service/PaymentService.java | 33 ++++++ .../com/bootcamp2018/service/Service.java | 4 +- 17 files changed, 505 insertions(+), 28 deletions(-) create mode 100644 src/main/java/com/bootcamp2018/dao/ClientDAO.java create mode 100644 src/main/java/com/bootcamp2018/dao/OrderDAO.java create mode 100644 src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java create mode 100644 src/main/java/com/bootcamp2018/dao/PaymentDAO.java create mode 100644 src/main/java/com/bootcamp2018/db/DBConnection.java create mode 100644 src/main/java/com/bootcamp2018/dto/OrderDTO.java create mode 100644 src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java create mode 100644 src/main/java/com/bootcamp2018/dto/PaymentDTO.java create mode 100644 src/main/java/com/bootcamp2018/service/OrderDetailService.java create mode 100644 src/main/java/com/bootcamp2018/service/OrderService.java create mode 100644 src/main/java/com/bootcamp2018/service/PaymentService.java diff --git a/src/main/java/com/bootcamp2018/dao/ClientDAO.java b/src/main/java/com/bootcamp2018/dao/ClientDAO.java new file mode 100644 index 0000000..40d8a96 --- /dev/null +++ b/src/main/java/com/bootcamp2018/dao/ClientDAO.java @@ -0,0 +1,103 @@ +package com.bootcamp2018.dao; + +import com.bootcamp2018.db.DBConnection; +import com.bootcamp2018.model.*; + +import java.sql.*; +import java.util.ArrayList; + +public class ClientDAO { + + public Client createClient(Client client ) { + try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("INSERT INTO client (name,lastName, description) VALUES (?,?,?)",Statement.RETURN_GENERATED_KEYS); + pstmt.setString(1, client.getName()); + pstmt.setString(2, client.getLastName()); + pstmt.setString(3, client.getDescription()); + pstmt.executeUpdate(); + ResultSet rs = pstmt.getGeneratedKeys(); + if (rs.next()) { + client.setId(rs.getInt(1)); + } else { + client.setId(-1); + } + pstmt.close(); + } catch (Exception e){ + } + return new Client(); + } + public ArrayList getClients() throws SQLException { + ArrayList list = new ArrayList<>(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idClient, name, lastName, description FROM client"); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()){ + list.add(ClientCreator.mapClient(rs)); + } + } catch (Exception e) { + } + return list; + } + public Client getClient(Client cli) throws SQLException { + Client client = new Client(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idClient, name, lastName, description FROM client WHERE idClient=?"); + pstmt.setString(1, cli.getName()); + ResultSet rs = pstmt.executeQuery(); + while (rs.next()){ + client = ClientCreator.mapClient(rs); + } + } catch (Exception e) { + } + return client; + } + + + + public Client deleteItem(Client client) { + + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("DELETE FROM client WHERE idClient = ?"); + pstmt.setInt(1, client.getId()); + int resp = pstmt.executeUpdate(); + if (resp == 0) client = new Client(); + + } catch (Exception e) { + client = new Client(); + } + return client; + } + public Client updateItem(Client client) throws SQLException { + + try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("UPDATE client SET name = ?, lastName = ?, description = ? WHERE idClient= ?"); + pstmt.setString(1, client.getName()); + pstmt.setString(2, client.getLastName()); + pstmt.setString(3, client.getDescription()); + pstmt.setInt(4, client.getId()); + + int resp = pstmt.executeUpdate(); + if (resp == 0)client = new Client(); + + } catch (Exception e) { + client = new Client(); + } + return client; + } + + + static class ClientCreator{ + + private static Client mapClient(ResultSet resultSet) throws SQLException { + Client client; + client = new Client(resultSet.getInt(1),resultSet.getString(2),resultSet.getNString(3),resultSet.getNString(4)); + return client; + } + + } +} diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index 46acc8f..ef66d8d 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -11,10 +11,7 @@ public class ItemDAO { - public boolean createItem(Item item) { - - - boolean ban = true; + public Item createItem(Item item) { try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("INSERT INTO item (Name,Price) VALUES (?,?)",Statement.RETURN_GENERATED_KEYS); @@ -25,14 +22,14 @@ public boolean createItem(Item item) { if (rs.next()) { item.setId(rs.getInt(1)); } else { - ban = false; + item = new Item(); } pstmt.close(); } catch (Exception e){ - ban = false; + } - return ban; + return item; } public ArrayList retriveItems() throws SQLException { ArrayList list = new ArrayList<>(); @@ -53,22 +50,40 @@ public ArrayList retriveItems() throws SQLException { return list; } - public boolean deleteItem(Item item) throws SQLException { - boolean ban = true; + public Item retriveItem(int id) throws SQLException { + Item list = new Item(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ + PreparedStatement pstmt; + pstmt = con.prepareStatement("SELECT idItem, name, price FROM item"); + + ResultSet rs = pstmt.executeQuery(); + while (rs.next()) { + list= new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3)); + } + } catch (Exception e) { + } + return list; + + } + + + + public void deleteItem(Item item) throws SQLException { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("DELETE FROM item WHERE idItem = ?"); pstmt.setInt(1, item.getId()); - int resp = pstmt.executeUpdate(); - if (resp == 0) ban = false; + pstmt.executeUpdate(); + } catch (Exception e) { - ban = false; + } - return ban; + } - public boolean updateItem(Item item) throws SQLException { - boolean ban = true; + public Item updateItem(Item item) throws SQLException { + try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("UPDATE item SET name = ?, price= ? WHERE idItem= ?"); @@ -77,12 +92,12 @@ public boolean updateItem(Item item) throws SQLException { pstmt.setInt(3, item.getId()); int resp = pstmt.executeUpdate(); - if (resp == 0) ban = false; + if (resp == 0) item = new Item(); } catch (Exception e) { - ban = false; + item = new Item(); } - return ban; + return item; } // CRear clase que con ReturnSet me de el objeto que yo toque o la lista de objetos que yo toque; } diff --git a/src/main/java/com/bootcamp2018/dao/OrderDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDAO.java new file mode 100644 index 0000000..39a0ced --- /dev/null +++ b/src/main/java/com/bootcamp2018/dao/OrderDAO.java @@ -0,0 +1,41 @@ +package com.bootcamp2018.dao; + +import com.bootcamp2018.db.DBConnection; +import com.bootcamp2018.dto.OrderDTO; + +import com.bootcamp2018.dto.OrderDetailDTO; +import com.bootcamp2018.model.Order; +import com.bootcamp2018.model.OrderDetail; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; + +public class OrderDAO { + public Order createOrder(OrderDTO order){ + try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + + PreparedStatement pstmt; + + pstmt = con.prepareStatement("INSERT INTO Order (idPayment) VALUES (?)",Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, order.getIdPayment()); + pstmt.executeUpdate(); + ResultSet rs = pstmt.getGeneratedKeys(); + if (rs.next()) { + order.getOrder().setId(rs.getInt(1)); + for (OrderDetail od: order.getOrder().getOrderDetails() + ) { + OrderDetailDAO odd = new OrderDetailDAO(); + od = odd.createOrderDetail(new OrderDetailDTO(order.getOrder().getId(),od)); + } + } else { + order.setOrder( new Order()) ; + } + pstmt.close(); + } catch (Exception e){ + order.setOrder( new Order()) ; + } + return order.getOrder(); + } +} diff --git a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java new file mode 100644 index 0000000..129b62f --- /dev/null +++ b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java @@ -0,0 +1,37 @@ +package com.bootcamp2018.dao; + +import com.bootcamp2018.db.DBConnection; +import com.bootcamp2018.dto.OrderDetailDTO; +import com.bootcamp2018.dto.PaymentDTO; +import com.bootcamp2018.model.OrderDetail; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; + +public class OrderDetailDAO { + + public OrderDetail createOrderDetail(OrderDetailDTO orderDetail){ + try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + + PreparedStatement pstmt; + + pstmt = con.prepareStatement("INSERT INTO OrderDetail (idItem,idOrder,quantity, price) VALUES (?,?,?,?)",Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, orderDetail.getOrderDetail().getItem().getId()); + pstmt.setInt(2, orderDetail.getIdOrder()); + pstmt.setInt(2, orderDetail.getOrderDetail().getQuantity()); + pstmt.setDouble(2, orderDetail.getOrderDetail().getPrice()); + pstmt.executeUpdate(); + ResultSet rs = pstmt.getGeneratedKeys(); + if (!rs.next()) { + orderDetail.setOrderDetail( new OrderDetail()) ; + } + pstmt.close(); + } catch (Exception e){ + orderDetail.setOrderDetail( new OrderDetail()) ; + } + return orderDetail.getOrderDetail(); + } + +} diff --git a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java new file mode 100644 index 0000000..738a789 --- /dev/null +++ b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java @@ -0,0 +1,35 @@ +package com.bootcamp2018.dao; + +import com.bootcamp2018.db.DBConnection; +import com.bootcamp2018.dto.OrderDTO; +import com.bootcamp2018.dto.PaymentDTO; + +import com.bootcamp2018.model.Payment; + +import java.sql.*; + + +public class PaymentDAO { + + public Payment createPayment(PaymentDTO payment) { + try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("INSERT INTO payment (idClient, amount) VALUES (?,?)",Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, payment.getIdClient()); + pstmt.setDouble(2, payment.getPayment().getAmount()); + pstmt.executeUpdate(); + ResultSet rs = pstmt.getGeneratedKeys(); + if (rs.next()) { + payment.getPayment().setId(rs.getInt(1)); + OrderDAO od = new OrderDAO(); + od.createOrder(new OrderDTO(payment.getPayment().getId(),payment.getPayment().getOrder())); + } else { + payment = new PaymentDTO(); + } + pstmt.close(); + } catch (Exception e){ + payment = new PaymentDTO(); + } + return payment.getPayment(); + } +} diff --git a/src/main/java/com/bootcamp2018/db/DBConnection.java b/src/main/java/com/bootcamp2018/db/DBConnection.java new file mode 100644 index 0000000..4a7f19c --- /dev/null +++ b/src/main/java/com/bootcamp2018/db/DBConnection.java @@ -0,0 +1,34 @@ +package com.bootcamp2018.db; + +import com.mysql.cj.jdbc.MysqlDataSource; +public class DBConnection { + + private static DBConnection ourInstance = null; + private static MysqlDataSource ds = new MysqlDataSource(); + + public static DBConnection getInstance() { + if(ourInstance == null) { + ourInstance = new DBConnection(); + } + return ourInstance; + } + + private DBConnection() { + try { + ds = new MysqlDataSource() ; + ds.setServerName("localhost"); + ds.setDatabaseName("boot2018"); + ds.setPortNumber(3306); + ds.setUser("root"); + ds.setPassword("Meteora218!"); + + } catch (Exception e){ + System.out.println("fail"); + } + } + + + public static MysqlDataSource getDataSource() { + return ds; + } +} diff --git a/src/main/java/com/bootcamp2018/dto/OrderDTO.java b/src/main/java/com/bootcamp2018/dto/OrderDTO.java new file mode 100644 index 0000000..98d7777 --- /dev/null +++ b/src/main/java/com/bootcamp2018/dto/OrderDTO.java @@ -0,0 +1,30 @@ +package com.bootcamp2018.dto; + + +import com.bootcamp2018.model.Order; + +public class OrderDTO { + private int idPayment; + private Order order; + + public OrderDTO(int idPayment, Order order) { + this.idPayment = idPayment; + this.order = order; + } + + public int getIdPayment() { + return idPayment; + } + + public void setIdPayment(int idPayment) { + this.idPayment = idPayment; + } + + public Order getOrder() { + return order; + } + + public void setOrder(Order order) { + this.order = order; + } +} diff --git a/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java b/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java new file mode 100644 index 0000000..4f3f675 --- /dev/null +++ b/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java @@ -0,0 +1,29 @@ +package com.bootcamp2018.dto; + +import com.bootcamp2018.model.OrderDetail; + +public class OrderDetailDTO { + private int idOrder; + private OrderDetail orderDetail; + + public OrderDetailDTO(int idOrder, OrderDetail orderDetail) { + this.idOrder = idOrder; + this.orderDetail = orderDetail; + } + + public int getIdOrder() { + return idOrder; + } + + public void setIdOrder(int idOrder) { + this.idOrder = idOrder; + } + + public OrderDetail getOrderDetail() { + return orderDetail; + } + + public void setOrderDetail(OrderDetail orderDetail) { + this.orderDetail = orderDetail; + } +} diff --git a/src/main/java/com/bootcamp2018/dto/PaymentDTO.java b/src/main/java/com/bootcamp2018/dto/PaymentDTO.java new file mode 100644 index 0000000..91336dc --- /dev/null +++ b/src/main/java/com/bootcamp2018/dto/PaymentDTO.java @@ -0,0 +1,34 @@ +package com.bootcamp2018.dto; + +import com.bootcamp2018.model.Payment; + +public class PaymentDTO { + private Payment payment; + private int idClient; + + public PaymentDTO() { + payment =new Payment(); + + } + + public PaymentDTO(Payment payment, int idClient) { + this.payment = payment; + this.idClient = idClient; + } + + public Payment getPayment() { + return payment; + } + + public void setPayment(Payment payment) { + this.payment = payment; + } + + public int getIdClient() { + return idClient; + } + + public void setIdClient(int idClient) { + this.idClient = idClient; + } +} diff --git a/src/main/java/com/bootcamp2018/model/Client.java b/src/main/java/com/bootcamp2018/model/Client.java index 69dedea..9c8f1f5 100644 --- a/src/main/java/com/bootcamp2018/model/Client.java +++ b/src/main/java/com/bootcamp2018/model/Client.java @@ -14,7 +14,15 @@ public Client(int id) { this.name = ""; this.lastName = ""; this.description = ""; - this.Payments = new ArrayList(); + this.Payments = new ArrayList<>(); + } + + public Client() { + this.id = 0; + this.name = ""; + this.lastName = ""; + this.description = ""; + this.Payments = new ArrayList<>(); } public Client(int id, String name, String lastName, String description) { @@ -22,7 +30,7 @@ public Client(int id, String name, String lastName, String description) { this.name = name; this.lastName = lastName; this.description = description; - Payments = new ArrayList(); + Payments = new ArrayList<>(); } public int getId() { diff --git a/src/main/java/com/bootcamp2018/model/Payment.java b/src/main/java/com/bootcamp2018/model/Payment.java index 01c5290..96d1cce 100644 --- a/src/main/java/com/bootcamp2018/model/Payment.java +++ b/src/main/java/com/bootcamp2018/model/Payment.java @@ -35,11 +35,17 @@ public Payment(int id) { public Payment(int id, Order order, double amount) { - Id = id; + this.Id = id; this.order = order; this.amount = amount; } + public Payment() { + this.Id = 0; + this.order = new Order(); + this.amount = 0; + } + @Override public boolean equals(Object obj) { if (obj == null) { diff --git a/src/main/java/com/bootcamp2018/service/ClientService.java b/src/main/java/com/bootcamp2018/service/ClientService.java index 9683ead..0ac711b 100644 --- a/src/main/java/com/bootcamp2018/service/ClientService.java +++ b/src/main/java/com/bootcamp2018/service/ClientService.java @@ -26,8 +26,8 @@ public Client update(Client Object) { } @Override - public Client delete(Client Object) { - return null; + public void delete(Client Object) { + } //DTO class ver patron } diff --git a/src/main/java/com/bootcamp2018/service/ItemService.java b/src/main/java/com/bootcamp2018/service/ItemService.java index 868fdf0..6528896 100644 --- a/src/main/java/com/bootcamp2018/service/ItemService.java +++ b/src/main/java/com/bootcamp2018/service/ItemService.java @@ -1,12 +1,15 @@ package com.bootcamp2018.service; +import com.bootcamp2018.dao.ItemDAO; import com.bootcamp2018.model.Item; +import java.util.ArrayList; public class ItemService implements Service { @Override public Item create(Item Object) { - return null; + ItemDAO itemDAO = new ItemDAO(); + return itemDAO.createItem(Object); } @Override @@ -15,12 +18,17 @@ public Item get(Item Object) { } @Override - public Item update(Item Object) { + public ArrayList getList(Item Object) { return null; } @Override - public Item delete(Item Object) { + public Item update(Item Object) { return null; } + + @Override + public void delete(Item Object) { + + } } diff --git a/src/main/java/com/bootcamp2018/service/OrderDetailService.java b/src/main/java/com/bootcamp2018/service/OrderDetailService.java new file mode 100644 index 0000000..de65d49 --- /dev/null +++ b/src/main/java/com/bootcamp2018/service/OrderDetailService.java @@ -0,0 +1,32 @@ +package com.bootcamp2018.service; + +import com.bootcamp2018.dto.OrderDetailDTO; + +import java.util.ArrayList; + +public class OrderDetailService implements Service { + @Override + public OrderDetailDTO create(OrderDetailDTO Object) { + + return Object; + } + + @Override + public OrderDetailDTO get(OrderDetailDTO Object) { + return null; + } + + @Override + public ArrayList getList(OrderDetailDTO Object) { + return null; + } + + @Override + public OrderDetailDTO update(OrderDetailDTO Object) { + return null; + } + + @Override + public void delete(OrderDetailDTO Object) { + } +} diff --git a/src/main/java/com/bootcamp2018/service/OrderService.java b/src/main/java/com/bootcamp2018/service/OrderService.java new file mode 100644 index 0000000..46737bd --- /dev/null +++ b/src/main/java/com/bootcamp2018/service/OrderService.java @@ -0,0 +1,32 @@ +package com.bootcamp2018.service; + +import com.bootcamp2018.dto.OrderDTO; + +import java.util.ArrayList; + +public class OrderService implements Service { + @Override + public OrderDTO create(OrderDTO Object) { + return null; + } + + @Override + public OrderDTO get(OrderDTO Object) { + return null; + } + + @Override + public ArrayList getList(OrderDTO Object) { + return null; + } + + @Override + public OrderDTO update(OrderDTO Object) { + return null; + } + + @Override + public void delete(OrderDTO Object) { + + } +} diff --git a/src/main/java/com/bootcamp2018/service/PaymentService.java b/src/main/java/com/bootcamp2018/service/PaymentService.java new file mode 100644 index 0000000..1ea10fc --- /dev/null +++ b/src/main/java/com/bootcamp2018/service/PaymentService.java @@ -0,0 +1,33 @@ +package com.bootcamp2018.service; + +import com.bootcamp2018.dto.PaymentDTO; + +import java.util.ArrayList; + +public class PaymentService implements Service { + @Override + public PaymentDTO create(PaymentDTO Object) { + + return Object; + } + + @Override + public PaymentDTO get(PaymentDTO Object) { + return null; + } + + @Override + public ArrayList getList(PaymentDTO Object) { + return null; + } + + @Override + public PaymentDTO update(PaymentDTO Object) { + return null; + } + + @Override + public void delete(PaymentDTO Object) { + + } +} diff --git a/src/main/java/com/bootcamp2018/service/Service.java b/src/main/java/com/bootcamp2018/service/Service.java index edd3029..35c96df 100644 --- a/src/main/java/com/bootcamp2018/service/Service.java +++ b/src/main/java/com/bootcamp2018/service/Service.java @@ -5,7 +5,7 @@ public interface Service { T create(T Object); T get(T Object); - ArrayList getList(T Objact); + ArrayList getList(T Object); T update(T Object); - T delete(T Object); + void delete(T Object); } From ff2a0afd9d28ff992a44138d20ae2305497c7f99 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Sat, 16 Jun 2018 17:26:16 -0300 Subject: [PATCH 4/6] Item Working --- src/main/java/com/bootcamp2018/Main.java | 20 +++++++++++-------- .../java/com/bootcamp2018/dao/ItemDAO.java | 13 +++--------- .../com/bootcamp2018/service/ItemService.java | 15 ++++++++------ 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/bootcamp2018/Main.java b/src/main/java/com/bootcamp2018/Main.java index 3a69d9d..8699e68 100644 --- a/src/main/java/com/bootcamp2018/Main.java +++ b/src/main/java/com/bootcamp2018/Main.java @@ -3,7 +3,7 @@ import com.bootcamp2018.dao.*; import com.bootcamp2018.model.*; - +import com.bootcamp2018.service.ItemService; import java.util.ArrayList; @@ -19,7 +19,7 @@ public static void main(String[] Arg) { ItemDAO itemDAO = new ItemDAO(); Scanner scanner = new Scanner(System.in); ArrayList listOfItems; - + ItemService is; try { while (op != 3){ System.out.println("Menu"); @@ -67,11 +67,13 @@ public static void main(String[] Arg) { String prices = scanner.next(); if (isDouble(prices)){ double price = Double.parseDouble(prices); - ban = itemDAO.createItem(new Item(name,price)); - if (!ban) { + is = new ItemService(); + Item created = is.create(new Item(name,price)); + if (created == null) { System.out.println("Error"); - ban= true; } + ban= true; + }else{ System.out.println("Please enter a valid value."); } @@ -83,7 +85,8 @@ public static void main(String[] Arg) { break; case 2: System.out.println("List of Items: "); - listOfItems = itemDAO.retriveItems(); + is = new ItemService(); + listOfItems = is.getList(new Item()); for (Item i: listOfItems ) { System.out.println(i.toString()); @@ -94,7 +97,7 @@ public static void main(String[] Arg) { ban = false; while (!ban) { System.out.println("List of Items: "); - listOfItems = itemDAO.retriveItems(); + listOfItems = itemDAO.retriveItems(new Item()); for (Item i : listOfItems ) { System.out.println(i.toString()); @@ -114,8 +117,9 @@ public static void main(String[] Arg) { if (isDouble(prices)){ updateItem.setPrice(Double.parseDouble(prices)); + is = new ItemService(); + is.update(updateItem); - ban = itemDAO.updateItem(updateItem); if (!ban) { System.out.println("Error"); ban= true; diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index ef66d8d..21a3a97 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -31,21 +31,16 @@ public Item createItem(Item item) { return item; } - public ArrayList retriveItems() throws SQLException { + public ArrayList retriveItems(Item objects) { ArrayList list = new ArrayList<>(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT idItem, name, price FROM item"); - ResultSet rs = pstmt.executeQuery(); while (rs.next()) { list.add(new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3))); } - - - } catch (Exception e) { - - } + } catch (Exception e) {} return list; @@ -60,10 +55,8 @@ public Item retriveItem(int id) throws SQLException { while (rs.next()) { list= new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3)); } - } catch (Exception e) { - } + } catch (Exception e) {} return list; - } diff --git a/src/main/java/com/bootcamp2018/service/ItemService.java b/src/main/java/com/bootcamp2018/service/ItemService.java index 6528896..37acc9d 100644 --- a/src/main/java/com/bootcamp2018/service/ItemService.java +++ b/src/main/java/com/bootcamp2018/service/ItemService.java @@ -2,14 +2,16 @@ import com.bootcamp2018.dao.ItemDAO; import com.bootcamp2018.model.Item; + +import java.sql.SQLException; import java.util.ArrayList; public class ItemService implements Service { @Override - public Item create(Item Object) { + public Item create(Item object) { ItemDAO itemDAO = new ItemDAO(); - return itemDAO.createItem(Object); + return itemDAO.createItem(object); } @Override @@ -18,17 +20,18 @@ public Item get(Item Object) { } @Override - public ArrayList getList(Item Object) { - return null; + public ArrayList getList(Item object) { + ItemDAO itemDAO = new ItemDAO(); + return itemDAO.retriveItems(object); } @Override - public Item update(Item Object) { + public Item update(Item object) { return null; } @Override - public void delete(Item Object) { + public void delete(Item object) { } } From 66e2ddc1e6afbd451c66cc7a0107e5a857f81a62 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Mon, 25 Jun 2018 10:36:38 -0300 Subject: [PATCH 5/6] Item Working --- pom.xml | 41 +- src/main/java/com/bootcamp2018/Main.java | 420 ++++++++++++------ .../bootcamp2018/control/ClientControl.java | 36 ++ .../com/bootcamp2018/control/Control.java | 15 + .../bootcamp2018/control/DiscountControl.java | 34 ++ .../com/bootcamp2018/control/ItemControl.java | 43 ++ .../bootcamp2018/control/OrderControl.java | 33 ++ .../control/OrderDetailControl.java | 32 ++ .../bootcamp2018/control/PaymentControl.java | 39 ++ .../java/com/bootcamp2018/dao/ClientDAO.java | 28 +- .../com/bootcamp2018/dao/DiscountDAO.java | 38 ++ .../java/com/bootcamp2018/dao/ItemDAO.java | 38 +- .../java/com/bootcamp2018/dao/OrderDAO.java | 18 +- .../com/bootcamp2018/dao/OrderDetailDAO.java | 14 +- .../java/com/bootcamp2018/dao/PaymentDAO.java | 8 +- .../com/bootcamp2018/db/DBConnection.java | 16 +- .../java/com/bootcamp2018/dto/PaymentDTO.java | 2 +- .../java/com/bootcamp2018/model/Client.java | 18 +- .../java/com/bootcamp2018/model/Discount.java | 18 +- .../java/com/bootcamp2018/model/Item.java | 5 +- .../java/com/bootcamp2018/model/Order.java | 25 +- .../com/bootcamp2018/model/OrderDetail.java | 14 +- .../java/com/bootcamp2018/model/Payment.java | 8 +- .../bootcamp2018/service/DiscountService.java | 34 ++ .../com/bootcamp2018/service/ItemService.java | 5 +- .../com/bootcamp2018/service/Service.java | 14 +- .../java/com/bootcamp2018/util/Utility.java | 25 ++ src/main/webapp/META-INF/context.xml | 2 + src/main/webapp/WEB-INF/beans.xml | 24 + src/main/webapp/WEB-INF/web.xml | 22 + 30 files changed, 841 insertions(+), 228 deletions(-) create mode 100644 src/main/java/com/bootcamp2018/control/ClientControl.java create mode 100644 src/main/java/com/bootcamp2018/control/Control.java create mode 100644 src/main/java/com/bootcamp2018/control/DiscountControl.java create mode 100644 src/main/java/com/bootcamp2018/control/ItemControl.java create mode 100644 src/main/java/com/bootcamp2018/control/OrderControl.java create mode 100644 src/main/java/com/bootcamp2018/control/OrderDetailControl.java create mode 100644 src/main/java/com/bootcamp2018/control/PaymentControl.java create mode 100644 src/main/java/com/bootcamp2018/dao/DiscountDAO.java create mode 100644 src/main/java/com/bootcamp2018/service/DiscountService.java create mode 100644 src/main/java/com/bootcamp2018/util/Utility.java create mode 100644 src/main/webapp/META-INF/context.xml create mode 100644 src/main/webapp/WEB-INF/beans.xml create mode 100644 src/main/webapp/WEB-INF/web.xml diff --git a/pom.xml b/pom.xml index c9aef9d..0fbaac7 100644 --- a/pom.xml +++ b/pom.xml @@ -14,13 +14,50 @@ mysql-connector-java 8.0.11 + + javax.servlet + javax.servlet-api + 3.1.0 + - + + javax.servlet.jsp + javax.servlet.jsp-api + 2.3.1 + + + javax.servlet + jstl + 1.2 + + + commons-logging + commons-logging + 1.2 + + + + org.springframework + spring-webmvc + 5.0.6.RELEASE + + + org.springframework + spring-tx + 5.0.6.RELEASE + + + org.springframework + spring-orm + 5.0.6.RELEASE + + + 1.8 1.8 - \ No newline at end of file + \ No newline at end of file diff --git a/src/main/java/com/bootcamp2018/Main.java b/src/main/java/com/bootcamp2018/Main.java index 8699e68..895eda0 100644 --- a/src/main/java/com/bootcamp2018/Main.java +++ b/src/main/java/com/bootcamp2018/Main.java @@ -3,7 +3,9 @@ import com.bootcamp2018.dao.*; import com.bootcamp2018.model.*; +import com.bootcamp2018.service.DiscountService; import com.bootcamp2018.service.ItemService; +import com.bootcamp2018.util.Utility; import java.util.ArrayList; @@ -21,164 +23,308 @@ public static void main(String[] Arg) { ArrayList listOfItems; ItemService is; try { - while (op != 3){ - System.out.println("Menu"); - System.out.println("1.Enter as Admin"); - System.out.println("2.Enter as Client"); - System.out.println("3.Exit"); - ban = false; - menu = scanner.next(); - if(isInt(menu)){ - op = Integer.parseInt(menu); - switch (op){ - case 1: - op = 0; - while (op != 5){ - System.out.println("Admin Menu"); - System.out.println("1.Item Menu"); - System.out.println("2.Discount Menu"); - System.out.println("3.Payment Menu"); - System.out.println("4.Clients Menu"); - System.out.println("5.Exit"); - menu= scanner.next(); - if(isInt(menu)){ - op = Integer.parseInt(menu); - switch (op){ - case 1: - op = 0; - while (op != 5) { - System.out.println("Item Menu"); - System.out.println("1.Create Item"); - System.out.println("2.Retrieve Items"); - System.out.println("3.Update Item"); - System.out.println("4.Delete Item"); - System.out.println("5.Exit"); - menu = scanner.next(); - if (isInt(menu)) { - op = Integer.parseInt(menu); - switch (op){ - case 1: - while (!ban){ - System.out.println("Enter item name: "); - String name = scanner.next(); - if (name != null){ - while (!ban){ - System.out.println("Enter item price: "); - String prices = scanner.next(); - if (isDouble(prices)){ - double price = Double.parseDouble(prices); - is = new ItemService(); - Item created = is.create(new Item(name,price)); - if (created == null) { - System.out.println("Error"); - } - ban= true; - - }else{ - System.out.println("Please enter a valid value."); + while (op != 3) { + System.out.println("Menu"); + System.out.println("1.Enter as Admin"); + System.out.println("2.Enter as Client"); + System.out.println("3.Exit"); + ban = false; + menu = scanner.next(); + if (Utility.isInt(menu)) { + op = Integer.parseInt(menu); + switch (op) { + case 1: + op = 0; + while (op != 5) { + System.out.println("Admin Menu"); + System.out.println("1.Item Menu"); + System.out.println("2.Discount Menu"); + System.out.println("3.Payment Menu"); + System.out.println("4.Clients Menu"); + System.out.println("5.Exit"); + menu = scanner.next(); + if (Utility.isInt(menu)) { + op = Integer.parseInt(menu); + switch (op) { + case 1: + op = 0; + while (op != 5) { + System.out.println("Item Menu"); + System.out.println("1.Create Item"); + System.out.println("2.Retrieve Items"); + System.out.println("3.Update Item"); + System.out.println("4.Delete Item"); + System.out.println("5.Exit"); + menu = scanner.next(); + if (Utility.isInt(menu)) { + op = Integer.parseInt(menu); + switch (op) { + case 1: + while (!ban) { + System.out.println("Enter item name: "); + String name = scanner.next(); + if (name != null) { + while (!ban) { + System.out.println("Enter item price: "); + String prices = scanner.next(); + if (Utility.isDouble(prices)) { + double price = Double.parseDouble(prices); + is = new ItemService(); + Item created = is.create(new Item(name, price)); + if (created == null) { + System.out.println("Error"); } + ban = true; + + } else { + System.out.println("Please enter a valid value."); } - }else{ - System.out.println("Please enter a valid value."); } + } else { + System.out.println("Please enter a valid value."); } - break; - case 2: - System.out.println("List of Items: "); - is = new ItemService(); - listOfItems = is.getList(new Item()); - for (Item i: listOfItems - ) { - System.out.println(i.toString()); - } - scanner.next(); - break; - case 3: - ban = false; - while (!ban) { - System.out.println("List of Items: "); - listOfItems = itemDAO.retriveItems(new Item()); - for (Item i : listOfItems - ) { - System.out.println(i.toString()); + } + break; + case 2: + System.out.println("List of Items: "); + is = new ItemService(); + listOfItems = is.getList(new Item()); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + scanner.next(); + break; + case 3: + ban = false; + while (!ban) { + System.out.println("List of Items: "); + listOfItems = itemDAO.retriveItems(new Item()); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + System.out.println("Enter Item Code to modify: "); + String code = scanner.next(); + if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { + while (!ban) { + Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); + System.out.println("Item current name is: " + updateItem.getName() + ", enter new name: "); + String name = scanner.next(); + if (name != null) { + updateItem.setName(name); + while (!ban) { + System.out.println("Enter item price: "); + String prices = scanner.next(); + if (Utility.isDouble(prices)) { + + updateItem.setPrice(Double.parseDouble(prices)); + is = new ItemService(); + is.update(updateItem); + + if (!ban) { + System.out.println("Error"); + ban = true; + } + } else { + System.out.println("Please enter a valid value."); + } + } + } else { + System.out.println("Please enter a valid value."); + } + } - System.out.println("Enter Item Code to modify: "); - String code = scanner.next(); - if (isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code),"",0))) { - while (!ban){ - Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code),"",0))); - System.out.println("Item current name is: "+updateItem.getName()+", enter new name: "); - String name = scanner.next(); - if (name != null){ - updateItem.setName(name); - while (!ban){ - System.out.println("Enter item price: "); - String prices = scanner.next(); - if (isDouble(prices)){ - - updateItem.setPrice(Double.parseDouble(prices)); - is = new ItemService(); - is.update(updateItem); - - if (!ban) { - System.out.println("Error"); - ban= true; - } - }else{ - System.out.println("Please enter a valid value."); + } + } + break; + case 4: + System.out.println("List of Items: "); + is = new ItemService(); + listOfItems = is.getList(new Item()); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + System.out.println("Enter the code of the item you want to delete: "); + String code = scanner.next(); + if (Utility.isInt(code)) { + is = new ItemService(); + is.delete(new Item(Integer.parseInt(code), "", 0)); + } + break; + case 5: + break; + default: + System.out.println("Number must be between 1 and 5"); + break; + } + } + } + break; + case 2: + op = 0; + while (op != 5) { + System.out.println("Discount Menu"); + System.out.println("1.Create Discount"); + System.out.println("2.Retrieve Discount"); + System.out.println("3.Update Discount"); + System.out.println("4.Delete Discount"); + System.out.println("5.Exit"); + menu = scanner.next(); + if (Utility.isInt(menu)) { + op = Integer.parseInt(menu); + switch (op) { + case 1: + while (!ban) { + System.out.println("List of Items: "); + is = new ItemService(); + listOfItems = is.getList(new Item()); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + System.out.println("Enter code of the item for the discount: "); + String code = scanner.next(); + if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { + Item discountItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); + while (!ban) { + System.out.println("Enter the price for each " + discountItem.getName() + ": "); + String prices = scanner.next(); + if (Utility.isDouble(prices)) { + double price = Double.parseDouble(prices); + while (!ban) { + System.out.println("Enter the quantity of " + discountItem.getName() + ": "); + String quantities = scanner.next(); + if (Utility.isInt(quantities)) { + int quantity = Integer.parseInt(quantities); + DiscountService ds = new DiscountService(); + Discount discount = ds.create(new Discount(discountItem, quantity, price)); + if (discount.getId() == 0) { + System.out.println("error"); + } + ban = true; + } else { + System.out.println("Please enter a valid value."); } - }else{ - System.out.println("Please enter a valid value."); } + } else { + System.out.println("Please enter a valid value."); + } + } + } else { + System.out.println("Please enter a valid value."); + } + } + break; + case 2: + System.out.println("List of Items: "); + is = new ItemService(); + listOfItems = is.getList(new Item()); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + scanner.next(); + break; + case 3: + ban = false; + while (!ban) { + System.out.println("List of Items: "); + listOfItems = itemDAO.retriveItems(new Item()); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + System.out.println("Enter Item Code to modify: "); + String code = scanner.next(); + if (Utility.isInt(code) && listOfItems.contains(new Item(Integer.parseInt(code), "", 0))) { + while (!ban) { + Item updateItem = listOfItems.get(listOfItems.indexOf(new Item(Integer.parseInt(code), "", 0))); + System.out.println("Item current name is: " + updateItem.getName() + ", enter new name: "); + String name = scanner.next(); + if (name != null) { + updateItem.setName(name); + while (!ban) { + System.out.println("Enter item price: "); + String prices = scanner.next(); + if (Utility.isDouble(prices)) { + + updateItem.setPrice(Double.parseDouble(prices)); + is = new ItemService(); + is.update(updateItem); + + if (!ban) { + System.out.println("Error"); + ban = true; + } + } else { + System.out.println("Please enter a valid value."); + } + } + } else { + System.out.println("Please enter a valid value."); } + } } - break; - case 4: - break; - case 5: - break; - default: - System.out.println("Number must be between 1 and 5"); - break; - - } + } + break; + case 4: + System.out.println("List of Items: "); + is = new ItemService(); + listOfItems = is.getList(new Item()); + for (Item i : listOfItems + ) { + System.out.println(i.toString()); + } + System.out.println("Enter the code of the item you want to delete: "); + String code = scanner.next(); + if (Utility.isInt(code)) { + is = new ItemService(); + is.delete(new Item(Integer.parseInt(code), "", 0)); + } + break; + case 5: + break; + default: + System.out.println("Number must be between 1 and 5"); + break; } } - break; - case 2: - break; - case 3: - break; - case 4: - break; - case 5: - break; - default: - System.out.println("Number must be between 1 and 5"); - break; - } + } + break; + case 3: + break; + case 4: + break; + case 5: + break; + default: + System.out.println("Number must be between 1 and 5"); + break; } + } } break; - case 2: - - break; - case 3: - break; - default: - System.out.println("Number must be between 1 and 3 "); - break; - } + case 2: + break; + case 3: + break; + default: + System.out.println("Number must be between 1 and 3 "); + break; } - } - }catch (Exception e){ + + } + + } catch (Exception e) { } @@ -195,6 +341,7 @@ private static boolean isInt(String s) { } return true; } + private static boolean isDouble(String s) { try { Double.parseDouble(s); @@ -207,5 +354,4 @@ private static boolean isDouble(String s) { } - } diff --git a/src/main/java/com/bootcamp2018/control/ClientControl.java b/src/main/java/com/bootcamp2018/control/ClientControl.java new file mode 100644 index 0000000..8cd6a6e --- /dev/null +++ b/src/main/java/com/bootcamp2018/control/ClientControl.java @@ -0,0 +1,36 @@ +package com.bootcamp2018.control; + +import com.bootcamp2018.model.Client; + +import java.util.ArrayList; + + + +public class ClientControl { + + + + public Client create(Client Object) { + return null; + } + + + public Client get(Client Object) { + return null; + } + + + public ArrayList getList(Client Objact) { + return null; + } + + public Client update(Client Object) { + return null; + } + + + public void delete(Client Object) { + + } + //DTO class ver patron +} diff --git a/src/main/java/com/bootcamp2018/control/Control.java b/src/main/java/com/bootcamp2018/control/Control.java new file mode 100644 index 0000000..6f39e34 --- /dev/null +++ b/src/main/java/com/bootcamp2018/control/Control.java @@ -0,0 +1,15 @@ +package com.bootcamp2018.control; + +import java.util.ArrayList; + +public interface Control { + T create(T object); + + T get(T object); + + ArrayList getList(T object); + + T update(T object); + + void delete(T object); +} diff --git a/src/main/java/com/bootcamp2018/control/DiscountControl.java b/src/main/java/com/bootcamp2018/control/DiscountControl.java new file mode 100644 index 0000000..0ecaf2c --- /dev/null +++ b/src/main/java/com/bootcamp2018/control/DiscountControl.java @@ -0,0 +1,34 @@ +package com.bootcamp2018.control; + +import com.bootcamp2018.dao.DiscountDAO; +import com.bootcamp2018.model.Discount; + +import java.util.ArrayList; + +public class DiscountControl { + + public Discount create(Discount object) { + DiscountDAO dDAO = new DiscountDAO(); + return dDAO.createDiscount(object); + } + + + public Discount get(Discount object) { + return null; + } + + + public ArrayList getList(Discount object) { + return null; + } + + + public Discount update(Discount object) { + return null; + } + + + public void delete(Discount object) { + + } +} diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java new file mode 100644 index 0000000..977e59a --- /dev/null +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -0,0 +1,43 @@ +package com.bootcamp2018.control; + +import com.bootcamp2018.dao.ItemDAO; +import com.bootcamp2018.model.Item; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.PostConstruct; +import java.util.ArrayList; + +@RestController +public class ItemControl { + + + + public Item create(Item object) { + ItemDAO itemDAO = new ItemDAO(); + return itemDAO.createItem(object); + } + + + public Item get(Item Object) { + return null; + } + + public ArrayList getList(Item object) { + ItemDAO itemDAO = new ItemDAO(); + return itemDAO.retriveItems(object); + } + + + public Item update(Item object) { + ItemDAO itemDAO = new ItemDAO(); + return itemDAO.updateItem(object); + } + + + public void delete(Item object) { + ItemDAO itemDAO = new ItemDAO(); + itemDAO.deleteItem(object); + + } +} diff --git a/src/main/java/com/bootcamp2018/control/OrderControl.java b/src/main/java/com/bootcamp2018/control/OrderControl.java new file mode 100644 index 0000000..fe923f2 --- /dev/null +++ b/src/main/java/com/bootcamp2018/control/OrderControl.java @@ -0,0 +1,33 @@ +package com.bootcamp2018.control; + +import com.bootcamp2018.dto.OrderDTO; + +import java.util.ArrayList; + + +public class OrderControl { + @Override + public OrderDTO create(OrderDTO Object) { + return null; + } + + @Override + public OrderDTO get(OrderDTO Object) { + return null; + } + + @Override + public ArrayList getList(OrderDTO Object) { + return null; + } + + @Override + public OrderDTO update(OrderDTO Object) { + return null; + } + + @Override + public void delete(OrderDTO Object) { + + } +} diff --git a/src/main/java/com/bootcamp2018/control/OrderDetailControl.java b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java new file mode 100644 index 0000000..8e245c6 --- /dev/null +++ b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java @@ -0,0 +1,32 @@ +package com.bootcamp2018.control; + +import com.bootcamp2018.dto.OrderDetailDTO; + +import java.util.ArrayList; + +public class OrderDetailControl { + @Override + public OrderDetailDTO create(OrderDetailDTO Object) { + + return Object; + } + + @Override + public OrderDetailDTO get(OrderDetailDTO Object) { + return null; + } + + @Override + public ArrayList getList(OrderDetailDTO Object) { + return null; + } + + @Override + public OrderDetailDTO update(OrderDetailDTO Object) { + return null; + } + + @Override + public void delete(OrderDetailDTO Object) { + } +} diff --git a/src/main/java/com/bootcamp2018/control/PaymentControl.java b/src/main/java/com/bootcamp2018/control/PaymentControl.java new file mode 100644 index 0000000..0a61918 --- /dev/null +++ b/src/main/java/com/bootcamp2018/control/PaymentControl.java @@ -0,0 +1,39 @@ +package com.bootcamp2018.control; + +import com.bootcamp2018.dto.PaymentDTO; +import org.graalvm.compiler.serviceprovider.ServiceProvider; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + + +import java.util.ArrayList; +@Controller +@RequestMapping("/") +public class PaymentControl implements Control { + + @RequestMapping(value = "/", method = RequestMethod.GET) + @Override + public PaymentDTO create(PaymentDTO Object) { + return Object; + } + + @Override + public PaymentDTO get(PaymentDTO Object) { + return null; + } + + @Override + public ArrayList getList(PaymentDTO Object) { + return null; + } + + @Override + public PaymentDTO update(PaymentDTO Object) { + return null; + } + + @Override + public void delete(PaymentDTO Object) { + + } +} diff --git a/src/main/java/com/bootcamp2018/dao/ClientDAO.java b/src/main/java/com/bootcamp2018/dao/ClientDAO.java index 40d8a96..bc03155 100644 --- a/src/main/java/com/bootcamp2018/dao/ClientDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ClientDAO.java @@ -8,10 +8,10 @@ public class ClientDAO { - public Client createClient(Client client ) { - try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + public Client createClient(Client client) { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("INSERT INTO client (name,lastName, description) VALUES (?,?,?)",Statement.RETURN_GENERATED_KEYS); + pstmt = con.prepareStatement("INSERT INTO client (name,lastName, description) VALUES (?,?,?)", Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, client.getName()); pstmt.setString(2, client.getLastName()); pstmt.setString(3, client.getDescription()); @@ -23,31 +23,33 @@ public Client createClient(Client client ) { client.setId(-1); } pstmt.close(); - } catch (Exception e){ + } catch (Exception e) { } return new Client(); } + public ArrayList getClients() throws SQLException { ArrayList list = new ArrayList<>(); - try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT idClient, name, lastName, description FROM client"); ResultSet rs = pstmt.executeQuery(); - while (rs.next()){ + while (rs.next()) { list.add(ClientCreator.mapClient(rs)); } } catch (Exception e) { } return list; } + public Client getClient(Client cli) throws SQLException { Client client = new Client(); - try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT idClient, name, lastName, description FROM client WHERE idClient=?"); pstmt.setString(1, cli.getName()); ResultSet rs = pstmt.executeQuery(); - while (rs.next()){ + while (rs.next()) { client = ClientCreator.mapClient(rs); } } catch (Exception e) { @@ -56,7 +58,6 @@ public Client getClient(Client cli) throws SQLException { } - public Client deleteItem(Client client) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { @@ -71,9 +72,10 @@ public Client deleteItem(Client client) { } return client; } + public Client updateItem(Client client) throws SQLException { - try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("UPDATE client SET name = ?, lastName = ?, description = ? WHERE idClient= ?"); pstmt.setString(1, client.getName()); @@ -82,7 +84,7 @@ public Client updateItem(Client client) throws SQLException { pstmt.setInt(4, client.getId()); int resp = pstmt.executeUpdate(); - if (resp == 0)client = new Client(); + if (resp == 0) client = new Client(); } catch (Exception e) { client = new Client(); @@ -91,11 +93,11 @@ public Client updateItem(Client client) throws SQLException { } - static class ClientCreator{ + static class ClientCreator { private static Client mapClient(ResultSet resultSet) throws SQLException { Client client; - client = new Client(resultSet.getInt(1),resultSet.getString(2),resultSet.getNString(3),resultSet.getNString(4)); + client = new Client(resultSet.getInt(1), resultSet.getString(2), resultSet.getNString(3), resultSet.getNString(4)); return client; } diff --git a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java new file mode 100644 index 0000000..f677e28 --- /dev/null +++ b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java @@ -0,0 +1,38 @@ +package com.bootcamp2018.dao; + +import com.bootcamp2018.db.DBConnection; +import com.bootcamp2018.model.Discount; +import com.bootcamp2018.model.Item; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.Statement; + +public class DiscountDAO { + + + public Discount createDiscount(Discount discount) { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + PreparedStatement pstmt; + pstmt = con.prepareStatement("INSERT INTO discount (idItem, quantity, price) VALUES (?,?,?)", Statement.RETURN_GENERATED_KEYS); + pstmt.setInt(1, discount.getItem().getId()); + pstmt.setInt(2, discount.getQuantity()); + pstmt.setDouble(3, discount.getPrice()); + + pstmt.executeUpdate(); + ResultSet rs = pstmt.getGeneratedKeys(); + if (rs.next()) { + discount.setId(rs.getInt(1)); + } else { + discount = new Discount(); + } + pstmt.close(); + } catch (Exception e) { + + } + + return discount; + } + +} diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index 21a3a97..0abc61f 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -10,11 +10,10 @@ public class ItemDAO { - public Item createItem(Item item) { - try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("INSERT INTO item (Name,Price) VALUES (?,?)",Statement.RETURN_GENERATED_KEYS); + pstmt = con.prepareStatement("INSERT INTO item (Name,Price) VALUES (?,?)", Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, item.getName()); pstmt.setDouble(2, item.getPrice()); pstmt.executeUpdate(); @@ -25,59 +24,60 @@ public Item createItem(Item item) { item = new Item(); } pstmt.close(); - } catch (Exception e){ + } catch (Exception e) { } return item; } - public ArrayList retriveItems(Item objects) { + + public ArrayList retriveItems(Item objects) { ArrayList list = new ArrayList<>(); - try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT idItem, name, price FROM item"); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { list.add(new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3))); } - } catch (Exception e) {} + } catch (Exception e) { + } return list; } - public Item retriveItem(int id) throws SQLException { - Item list = new Item(); - try (Connection con = DBConnection.getInstance().getDataSource().getConnection()){ + + public Item retriveItem(int id) throws SQLException { + Item list = new Item(); + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("SELECT idItem, name, price FROM item"); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { - list= new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3)); + list = new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3)); } - } catch (Exception e) {} + } catch (Exception e) { + } return list; } - - public void deleteItem(Item item) throws SQLException { + public void deleteItem(Item item) { try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("DELETE FROM item WHERE idItem = ?"); pstmt.setInt(1, item.getId()); pstmt.executeUpdate(); - - } catch (Exception e) { } - } - public Item updateItem(Item item) throws SQLException { - try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + public Item updateItem(Item item) { + + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; pstmt = con.prepareStatement("UPDATE item SET name = ?, price= ? WHERE idItem= ?"); pstmt.setString(1, item.getName()); diff --git a/src/main/java/com/bootcamp2018/dao/OrderDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDAO.java index 39a0ced..f7a18ea 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDAO.java @@ -13,28 +13,28 @@ import java.sql.Statement; public class OrderDAO { - public Order createOrder(OrderDTO order){ - try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + public Order createOrder(OrderDTO order) { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("INSERT INTO Order (idPayment) VALUES (?)",Statement.RETURN_GENERATED_KEYS); + pstmt = con.prepareStatement("INSERT INTO Order (idPayment) VALUES (?)", Statement.RETURN_GENERATED_KEYS); pstmt.setInt(1, order.getIdPayment()); pstmt.executeUpdate(); ResultSet rs = pstmt.getGeneratedKeys(); if (rs.next()) { order.getOrder().setId(rs.getInt(1)); - for (OrderDetail od: order.getOrder().getOrderDetails() - ) { + for (OrderDetail od : order.getOrder().getOrderDetails() + ) { OrderDetailDAO odd = new OrderDetailDAO(); - od = odd.createOrderDetail(new OrderDetailDTO(order.getOrder().getId(),od)); + od = odd.createOrderDetail(new OrderDetailDTO(order.getOrder().getId(), od)); } } else { - order.setOrder( new Order()) ; + order.setOrder(new Order()); } pstmt.close(); - } catch (Exception e){ - order.setOrder( new Order()) ; + } catch (Exception e) { + order.setOrder(new Order()); } return order.getOrder(); } diff --git a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java index 129b62f..0179022 100644 --- a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java +++ b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java @@ -12,24 +12,24 @@ public class OrderDetailDAO { - public OrderDetail createOrderDetail(OrderDetailDTO orderDetail){ - try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + public OrderDetail createOrderDetail(OrderDetailDTO orderDetail) { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("INSERT INTO OrderDetail (idItem,idOrder,quantity, price) VALUES (?,?,?,?)",Statement.RETURN_GENERATED_KEYS); + pstmt = con.prepareStatement("INSERT INTO OrderDetail (idItem,idOrder,quantity, price) VALUES (?,?,?,?)", Statement.RETURN_GENERATED_KEYS); pstmt.setInt(1, orderDetail.getOrderDetail().getItem().getId()); pstmt.setInt(2, orderDetail.getIdOrder()); pstmt.setInt(2, orderDetail.getOrderDetail().getQuantity()); pstmt.setDouble(2, orderDetail.getOrderDetail().getPrice()); pstmt.executeUpdate(); ResultSet rs = pstmt.getGeneratedKeys(); - if (!rs.next()) { - orderDetail.setOrderDetail( new OrderDetail()) ; + if (!rs.next()) { + orderDetail.setOrderDetail(new OrderDetail()); } pstmt.close(); - } catch (Exception e){ - orderDetail.setOrderDetail( new OrderDetail()) ; + } catch (Exception e) { + orderDetail.setOrderDetail(new OrderDetail()); } return orderDetail.getOrderDetail(); } diff --git a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java index 738a789..18068e5 100644 --- a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java +++ b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java @@ -12,9 +12,9 @@ public class PaymentDAO { public Payment createPayment(PaymentDTO payment) { - try(Connection con = DBConnection.getInstance().getDataSource().getConnection()) { + try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt; - pstmt = con.prepareStatement("INSERT INTO payment (idClient, amount) VALUES (?,?)",Statement.RETURN_GENERATED_KEYS); + pstmt = con.prepareStatement("INSERT INTO payment (idClient, amount) VALUES (?,?)", Statement.RETURN_GENERATED_KEYS); pstmt.setInt(1, payment.getIdClient()); pstmt.setDouble(2, payment.getPayment().getAmount()); pstmt.executeUpdate(); @@ -22,12 +22,12 @@ public Payment createPayment(PaymentDTO payment) { if (rs.next()) { payment.getPayment().setId(rs.getInt(1)); OrderDAO od = new OrderDAO(); - od.createOrder(new OrderDTO(payment.getPayment().getId(),payment.getPayment().getOrder())); + od.createOrder(new OrderDTO(payment.getPayment().getId(), payment.getPayment().getOrder())); } else { payment = new PaymentDTO(); } pstmt.close(); - } catch (Exception e){ + } catch (Exception e) { payment = new PaymentDTO(); } return payment.getPayment(); diff --git a/src/main/java/com/bootcamp2018/db/DBConnection.java b/src/main/java/com/bootcamp2018/db/DBConnection.java index 4a7f19c..0f7078d 100644 --- a/src/main/java/com/bootcamp2018/db/DBConnection.java +++ b/src/main/java/com/bootcamp2018/db/DBConnection.java @@ -1,13 +1,19 @@ package com.bootcamp2018.db; import com.mysql.cj.jdbc.MysqlDataSource; -public class DBConnection { +import org.graalvm.compiler.serviceprovider.ServiceProvider; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +@Service +public class DBConnection { + @Autowired private static DBConnection ourInstance = null; - private static MysqlDataSource ds = new MysqlDataSource(); + @Autowired + private static MysqlDataSource ds = new MysqlDataSource(); public static DBConnection getInstance() { - if(ourInstance == null) { + if (ourInstance == null) { ourInstance = new DBConnection(); } return ourInstance; @@ -15,14 +21,14 @@ public static DBConnection getInstance() { private DBConnection() { try { - ds = new MysqlDataSource() ; + ds = new MysqlDataSource(); ds.setServerName("localhost"); ds.setDatabaseName("boot2018"); ds.setPortNumber(3306); ds.setUser("root"); ds.setPassword("Meteora218!"); - } catch (Exception e){ + } catch (Exception e) { System.out.println("fail"); } } diff --git a/src/main/java/com/bootcamp2018/dto/PaymentDTO.java b/src/main/java/com/bootcamp2018/dto/PaymentDTO.java index 91336dc..b590b80 100644 --- a/src/main/java/com/bootcamp2018/dto/PaymentDTO.java +++ b/src/main/java/com/bootcamp2018/dto/PaymentDTO.java @@ -7,7 +7,7 @@ public class PaymentDTO { private int idClient; public PaymentDTO() { - payment =new Payment(); + payment = new Payment(); } diff --git a/src/main/java/com/bootcamp2018/model/Client.java b/src/main/java/com/bootcamp2018/model/Client.java index 9c8f1f5..512006b 100644 --- a/src/main/java/com/bootcamp2018/model/Client.java +++ b/src/main/java/com/bootcamp2018/model/Client.java @@ -1,12 +1,16 @@ package com.bootcamp2018.model; -import java.util.ArrayList; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import java.util.ArrayList; +@Component public class Client { private int id; private String name; private String lastName; private String description; + @Autowired private ArrayList Payments; public Client(int id) { @@ -92,15 +96,15 @@ public boolean equals(Object obj) { @Override public String toString() { String str; - str = "Name: "+ getName()+ ". Last name: "+ getLastName(); - str += "\nDescription: "+getDescription(); - if (getPayments().size() >0) { + str = "Name: " + getName() + ". Last name: " + getLastName(); + str += "\nDescription: " + getDescription(); + if (getPayments().size() > 0) { for (Payment p : getPayments() - ) { - str +="\n" +p.toString(); + ) { + str += "\n" + p.toString(); } } else { - str +="\nNo payments"; + str += "\nNo payments"; } return str; diff --git a/src/main/java/com/bootcamp2018/model/Discount.java b/src/main/java/com/bootcamp2018/model/Discount.java index e2840e6..0ebb927 100644 --- a/src/main/java/com/bootcamp2018/model/Discount.java +++ b/src/main/java/com/bootcamp2018/model/Discount.java @@ -1,20 +1,34 @@ package com.bootcamp2018.model; +import org.springframework.stereotype.Component; + +@Component public class Discount { private Item item; private int quantity; private double price; + private int id; public Discount() { + this.item = new Item(); this.quantity = 0; this.price = 0; + this.id = 0; } - public Discount(Item item, int quantity) { + public Discount(Item item, int quantity, double price) { this.item = item; this.quantity = quantity; - this.price = 0; + this.price = price; + } + + public int getId() { + return id; + } + + public void setId(int idDiscount) { + this.id = idDiscount; } public Item getItem() { diff --git a/src/main/java/com/bootcamp2018/model/Item.java b/src/main/java/com/bootcamp2018/model/Item.java index cf279ec..529b2a7 100644 --- a/src/main/java/com/bootcamp2018/model/Item.java +++ b/src/main/java/com/bootcamp2018/model/Item.java @@ -1,5 +1,8 @@ package com.bootcamp2018.model; +import org.springframework.stereotype.Component; + +@Component public class Item { private int Id; private String name; @@ -61,6 +64,6 @@ public boolean equals(Object obj) { @Override public String toString() { - return "Code: "+getId()+ ", Name: "+getName() +", Price: $"+ getPrice(); + return "Code: " + getId() + ", Name: " + getName() + ", Price: $" + getPrice(); } } diff --git a/src/main/java/com/bootcamp2018/model/Order.java b/src/main/java/com/bootcamp2018/model/Order.java index a387a95..a8def4b 100644 --- a/src/main/java/com/bootcamp2018/model/Order.java +++ b/src/main/java/com/bootcamp2018/model/Order.java @@ -1,9 +1,13 @@ package com.bootcamp2018.model; -import java.util.ArrayList; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import java.util.ArrayList; +@Component public class Order { private int Id; + @Autowired private ArrayList orderDetails; public Order() { @@ -49,26 +53,27 @@ public boolean equals(Object obj) { @Override public String toString() { String str = "No Items in the order."; - if (orderDetails.size() >0){ - str = "Order details: " ; + if (orderDetails.size() > 0) { + str = "Order details: "; for (int i = 0; i < orderDetails.size(); i++) { - str += "\n"+i+" "+orderDetails.get(i).toString(); + str += "\n" + i + " " + orderDetails.get(i).toString(); } } return str; } + public void addOrderDetail(OrderDetail orderDetail) { - if(orderDetails.size()>0) { + if (orderDetails.size() > 0) { boolean ban = false; - for (OrderDetail od: orderDetails - ) { + for (OrderDetail od : orderDetails + ) { if (od.equals(orderDetail)) { - od.setQuantity(od.getQuantity()+orderDetail.getQuantity()); - ban =true ; + od.setQuantity(od.getQuantity() + orderDetail.getQuantity()); + ban = true; } } - if (!ban){ + if (!ban) { orderDetails.add(orderDetail); } } diff --git a/src/main/java/com/bootcamp2018/model/OrderDetail.java b/src/main/java/com/bootcamp2018/model/OrderDetail.java index 0ad7554..c919eb4 100644 --- a/src/main/java/com/bootcamp2018/model/OrderDetail.java +++ b/src/main/java/com/bootcamp2018/model/OrderDetail.java @@ -1,6 +1,11 @@ package com.bootcamp2018.model; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component public class OrderDetail { + @Autowired private Item item; private int quantity; private double price; @@ -47,8 +52,8 @@ public boolean equals(Object obj) { if (obj != null) { if (OrderDetail.class.isAssignableFrom(obj.getClass())) { final OrderDetail other = (OrderDetail) obj; - if (this.getItem().equals( other.getItem())) { - ban=true; + if (this.getItem().equals(other.getItem())) { + ban = true; } } } @@ -57,9 +62,10 @@ public boolean equals(Object obj) { @Override public String toString() { - return "Item: "+this.item.getName() + ", quantity: "+this.quantity+", unit price: $"+this.price ; + return "Item: " + this.item.getName() + ", quantity: " + this.quantity + ", unit price: $" + this.price; } + public double getSubTotal() { - return this.price*this.quantity; + return this.price * this.quantity; } } diff --git a/src/main/java/com/bootcamp2018/model/Payment.java b/src/main/java/com/bootcamp2018/model/Payment.java index 96d1cce..3c1afd6 100644 --- a/src/main/java/com/bootcamp2018/model/Payment.java +++ b/src/main/java/com/bootcamp2018/model/Payment.java @@ -1,7 +1,13 @@ package com.bootcamp2018.model; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + + +@Component public class Payment { private int Id; + @Autowired private Order order; private double amount; @@ -64,7 +70,7 @@ public boolean equals(Object obj) { @Override public String toString() { - return "Payment Id: "+ getId()+ ", \n"+ getOrder().toString() + "\nAmount: $"+getAmount(); + return "Payment Id: " + getId() + ", \n" + getOrder().toString() + "\nAmount: $" + getAmount(); } } diff --git a/src/main/java/com/bootcamp2018/service/DiscountService.java b/src/main/java/com/bootcamp2018/service/DiscountService.java new file mode 100644 index 0000000..f4d4608 --- /dev/null +++ b/src/main/java/com/bootcamp2018/service/DiscountService.java @@ -0,0 +1,34 @@ +package com.bootcamp2018.service; + +import com.bootcamp2018.dao.DiscountDAO; +import com.bootcamp2018.model.Discount; + +import java.util.ArrayList; + +public class DiscountService implements Service { + @Override + public Discount create(Discount object) { + DiscountDAO dDAO = new DiscountDAO(); + return dDAO.createDiscount(object); + } + + @Override + public Discount get(Discount object) { + return null; + } + + @Override + public ArrayList getList(Discount object) { + return null; + } + + @Override + public Discount update(Discount object) { + return null; + } + + @Override + public void delete(Discount object) { + + } +} diff --git a/src/main/java/com/bootcamp2018/service/ItemService.java b/src/main/java/com/bootcamp2018/service/ItemService.java index 37acc9d..aa80c6d 100644 --- a/src/main/java/com/bootcamp2018/service/ItemService.java +++ b/src/main/java/com/bootcamp2018/service/ItemService.java @@ -27,11 +27,14 @@ public ArrayList getList(Item object) { @Override public Item update(Item object) { - return null; + ItemDAO itemDAO = new ItemDAO(); + return itemDAO.updateItem(object); } @Override public void delete(Item object) { + ItemDAO itemDAO = new ItemDAO(); + itemDAO.deleteItem(object); } } diff --git a/src/main/java/com/bootcamp2018/service/Service.java b/src/main/java/com/bootcamp2018/service/Service.java index 35c96df..83a2fe4 100644 --- a/src/main/java/com/bootcamp2018/service/Service.java +++ b/src/main/java/com/bootcamp2018/service/Service.java @@ -3,9 +3,13 @@ import java.util.ArrayList; public interface Service { - T create(T Object); - T get(T Object); - ArrayList getList(T Object); - T update(T Object); - void delete(T Object); + T create(T object); + + T get(T object); + + ArrayList getList(T object); + + T update(T object); + + void delete(T object); } diff --git a/src/main/java/com/bootcamp2018/util/Utility.java b/src/main/java/com/bootcamp2018/util/Utility.java new file mode 100644 index 0000000..563be9b --- /dev/null +++ b/src/main/java/com/bootcamp2018/util/Utility.java @@ -0,0 +1,25 @@ +package com.bootcamp2018.util; + +public class Utility { + public static boolean isInt(String s) { + try { + Integer.parseInt(s); + } catch (NumberFormatException e) { + return false; + } catch (NullPointerException e) { + return false; + } + return true; + } + + public static boolean isDouble(String s) { + try { + Double.parseDouble(s); + } catch (NumberFormatException e) { + return false; + } catch (NullPointerException e) { + return false; + } + return true; + } +} diff --git a/src/main/webapp/META-INF/context.xml b/src/main/webapp/META-INF/context.xml new file mode 100644 index 0000000..d123dd3 --- /dev/null +++ b/src/main/webapp/META-INF/context.xml @@ -0,0 +1,2 @@ + + diff --git a/src/main/webapp/WEB-INF/beans.xml b/src/main/webapp/WEB-INF/beans.xml new file mode 100644 index 0000000..08160bf --- /dev/null +++ b/src/main/webapp/WEB-INF/beans.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..a0328fc --- /dev/null +++ b/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,22 @@ + + + + spring-mvc-demo + + + MyDispatcher + org.springframework.web.servlet.DispatcherServlet + + contextConfigLocation + /WEB-INF/spring-mvc-demo-servlet.xml + + 1 + + + MyDispatcher + / + + From 71ef32e0abe0dae6567d489ffba274ecbd61a988 Mon Sep 17 00:00:00 2001 From: juanbecaria Date: Mon, 25 Jun 2018 11:39:10 -0300 Subject: [PATCH 6/6] prueba --- pom.xml | 4 ++++ .../com/bootcamp2018/control/Control.java | 15 -------------- .../com/bootcamp2018/control/ItemControl.java | 20 ++++++++++++++----- .../bootcamp2018/control/OrderControl.java | 10 +++++----- .../control/OrderDetailControl.java | 10 +++++----- .../bootcamp2018/control/PaymentControl.java | 14 ++++++------- .../java/com/bootcamp2018/dao/ItemDAO.java | 2 +- 7 files changed, 37 insertions(+), 38 deletions(-) delete mode 100644 src/main/java/com/bootcamp2018/control/Control.java diff --git a/pom.xml b/pom.xml index 0fbaac7..c35a6bb 100644 --- a/pom.xml +++ b/pom.xml @@ -53,6 +53,10 @@ spring-orm 5.0.6.RELEASE + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + diff --git a/src/main/java/com/bootcamp2018/control/Control.java b/src/main/java/com/bootcamp2018/control/Control.java deleted file mode 100644 index 6f39e34..0000000 --- a/src/main/java/com/bootcamp2018/control/Control.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.bootcamp2018.control; - -import java.util.ArrayList; - -public interface Control { - T create(T object); - - T get(T object); - - ArrayList getList(T object); - - T update(T object); - - void delete(T object); -} diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java index 977e59a..7104a29 100644 --- a/src/main/java/com/bootcamp2018/control/ItemControl.java +++ b/src/main/java/com/bootcamp2018/control/ItemControl.java @@ -2,25 +2,35 @@ import com.bootcamp2018.dao.ItemDAO; import com.bootcamp2018.model.Item; +import com.sun.org.glassfish.gmbal.ParameterNames; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.PostConstruct; +import java.lang.reflect.Parameter; import java.util.ArrayList; -@RestController +@Controller +@RequestMapping("/item") public class ItemControl { - + @RequestMapping public Item create(Item object) { ItemDAO itemDAO = new ItemDAO(); return itemDAO.createItem(object); } - - public Item get(Item Object) { - return null; + @RequestMapping(value="/") + public ResponseEntity get(@RequestBody Item item) { + ItemDAO itemDAO = new ItemDAO(); + item = itemDAO.retriveItem(item.getId()); + return new ResponseEntity(item,HttpStatus.OK); } public ArrayList getList(Item object) { diff --git a/src/main/java/com/bootcamp2018/control/OrderControl.java b/src/main/java/com/bootcamp2018/control/OrderControl.java index fe923f2..9cc3888 100644 --- a/src/main/java/com/bootcamp2018/control/OrderControl.java +++ b/src/main/java/com/bootcamp2018/control/OrderControl.java @@ -6,27 +6,27 @@ public class OrderControl { - @Override + public OrderDTO create(OrderDTO Object) { return null; } - @Override + public OrderDTO get(OrderDTO Object) { return null; } - @Override + public ArrayList getList(OrderDTO Object) { return null; } - @Override + public OrderDTO update(OrderDTO Object) { return null; } - @Override + public void delete(OrderDTO Object) { } diff --git a/src/main/java/com/bootcamp2018/control/OrderDetailControl.java b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java index 8e245c6..14445c7 100644 --- a/src/main/java/com/bootcamp2018/control/OrderDetailControl.java +++ b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java @@ -5,28 +5,28 @@ import java.util.ArrayList; public class OrderDetailControl { - @Override + public OrderDetailDTO create(OrderDetailDTO Object) { return Object; } - @Override + public OrderDetailDTO get(OrderDetailDTO Object) { return null; } - @Override + public ArrayList getList(OrderDetailDTO Object) { return null; } - @Override + public OrderDetailDTO update(OrderDetailDTO Object) { return null; } - @Override + public void delete(OrderDetailDTO Object) { } } diff --git a/src/main/java/com/bootcamp2018/control/PaymentControl.java b/src/main/java/com/bootcamp2018/control/PaymentControl.java index 0a61918..eba41fa 100644 --- a/src/main/java/com/bootcamp2018/control/PaymentControl.java +++ b/src/main/java/com/bootcamp2018/control/PaymentControl.java @@ -1,38 +1,38 @@ package com.bootcamp2018.control; import com.bootcamp2018.dto.PaymentDTO; -import org.graalvm.compiler.serviceprovider.ServiceProvider; + import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import java.util.ArrayList; @Controller @RequestMapping("/") -public class PaymentControl implements Control { +public class PaymentControl { @RequestMapping(value = "/", method = RequestMethod.GET) - @Override public PaymentDTO create(PaymentDTO Object) { return Object; } - @Override + public PaymentDTO get(PaymentDTO Object) { return null; } - @Override + public ArrayList getList(PaymentDTO Object) { return null; } - @Override + public PaymentDTO update(PaymentDTO Object) { return null; } - @Override public void delete(PaymentDTO Object) { } diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java index 0abc61f..ecce0ed 100644 --- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java +++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java @@ -47,7 +47,7 @@ public ArrayList retriveItems(Item objects) { } - public Item retriveItem(int id) throws SQLException { + public Item retriveItem(int id) { Item list = new Item(); try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) { PreparedStatement pstmt;