diff --git a/Boot2018.sql b/Boot2018.sql
new file mode 100644
index 0000000..2737e0e
--- /dev/null
+++ b/Boot2018.sql
@@ -0,0 +1,190 @@
+CREATE DATABASE IF NOT EXISTS `boot2018` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */;
+USE `boot2018`;
+-- MySQL dump 10.13 Distrib 8.0.11, for Win64 (x86_64)
+--
+-- Host: localhost Database: boot2018
+-- ------------------------------------------------------
+-- Server version 8.0.11
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+ SET NAMES utf8 ;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `client`
+--
+
+DROP TABLE IF EXISTS `client`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+ SET character_set_client = utf8mb4 ;
+CREATE TABLE `client` (
+ `idClient` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(45) DEFAULT NULL,
+ `lastName` varchar(45) DEFAULT NULL,
+ `description` varchar(45) DEFAULT NULL,
+ PRIMARY KEY (`idClient`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `client`
+--
+
+LOCK TABLES `client` WRITE;
+/*!40000 ALTER TABLE `client` DISABLE KEYS */;
+/*!40000 ALTER TABLE `client` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `discount`
+--
+
+DROP TABLE IF EXISTS `discount`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+ SET character_set_client = utf8mb4 ;
+CREATE TABLE `discount` (
+ `idDiscount` int(11) NOT NULL AUTO_INCREMENT,
+ `idItem` int(11) DEFAULT NULL,
+ `quantity` int(11) DEFAULT NULL,
+ `price` decimal(10,2) DEFAULT NULL,
+ `description` varchar(45) DEFAULT NULL,
+ PRIMARY KEY (`idDiscount`),
+ KEY `Item_idx` (`idItem`),
+ CONSTRAINT `Item` FOREIGN KEY (`idItem`) REFERENCES `item` (`iditem`) ON DELETE CASCADE
+) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `discount`
+--
+
+LOCK TABLES `discount` WRITE;
+/*!40000 ALTER TABLE `discount` DISABLE KEYS */;
+INSERT INTO `discount` VALUES (1,4,5,5.00,NULL);
+/*!40000 ALTER TABLE `discount` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `item`
+--
+
+DROP TABLE IF EXISTS `item`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+ SET character_set_client = utf8mb4 ;
+CREATE TABLE `item` (
+ `idItem` int(11) NOT NULL AUTO_INCREMENT,
+ `name` varchar(45) DEFAULT NULL,
+ `price` decimal(10,2) DEFAULT NULL,
+ PRIMARY KEY (`idItem`)
+) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `item`
+--
+
+LOCK TABLES `item` WRITE;
+/*!40000 ALTER TABLE `item` DISABLE KEYS */;
+INSERT INTO `item` VALUES (2,'Sprite',46.00),(3,'Coke',45.50),(4,'Potato',2.00);
+/*!40000 ALTER TABLE `item` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `order`
+--
+
+DROP TABLE IF EXISTS `order`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+ SET character_set_client = utf8mb4 ;
+CREATE TABLE `order` (
+ `idOrder` int(11) NOT NULL AUTO_INCREMENT,
+ `idPayment` int(11) NOT NULL,
+ PRIMARY KEY (`idOrder`),
+ KEY `Payment_Order_idx` (`idPayment`),
+ CONSTRAINT `Payment_Order` FOREIGN KEY (`idPayment`) REFERENCES `payment` (`idpayment`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `order`
+--
+
+LOCK TABLES `order` WRITE;
+/*!40000 ALTER TABLE `order` DISABLE KEYS */;
+/*!40000 ALTER TABLE `order` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `orderdetail`
+--
+
+DROP TABLE IF EXISTS `orderdetail`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+ SET character_set_client = utf8mb4 ;
+CREATE TABLE `orderdetail` (
+ `idOrder` int(11) DEFAULT NULL,
+ `idItem` int(11) DEFAULT NULL,
+ `quantity` int(11) DEFAULT NULL,
+ `price` decimal(10,2) DEFAULT NULL,
+ `idOrderDetail` int(11) NOT NULL AUTO_INCREMENT,
+ PRIMARY KEY (`idOrderDetail`),
+ KEY `idItem_idx` (`idItem`),
+ KEY `OrderxDetail_idx` (`idOrder`),
+ CONSTRAINT `OrderxDetail` FOREIGN KEY (`idOrder`) REFERENCES `order` (`idorder`) ON DELETE CASCADE,
+ CONSTRAINT `idItem` FOREIGN KEY (`idItem`) REFERENCES `item` (`iditem`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `orderdetail`
+--
+
+LOCK TABLES `orderdetail` WRITE;
+/*!40000 ALTER TABLE `orderdetail` DISABLE KEYS */;
+/*!40000 ALTER TABLE `orderdetail` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `payment`
+--
+
+DROP TABLE IF EXISTS `payment`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+ SET character_set_client = utf8mb4 ;
+CREATE TABLE `payment` (
+ `idPayment` int(11) NOT NULL AUTO_INCREMENT,
+ `idOrder` int(11) DEFAULT NULL,
+ `idClient` int(11) DEFAULT NULL,
+ `amount` decimal(10,2) DEFAULT NULL,
+ PRIMARY KEY (`idPayment`),
+ KEY `idClient_idx` (`idClient`),
+ CONSTRAINT `Client_Payment` FOREIGN KEY (`idClient`) REFERENCES `client` (`idclient`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `payment`
+--
+
+LOCK TABLES `payment` WRITE;
+/*!40000 ALTER TABLE `payment` DISABLE KEYS */;
+/*!40000 ALTER TABLE `payment` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2018-06-29 12:55:41
diff --git a/pom.xml b/pom.xml
index c35a6bb..19cf55e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,6 +7,7 @@
BootCamp2018
Juan
1.0-SNAPSHOT
+ war
@@ -14,24 +15,6 @@
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
@@ -43,6 +26,7 @@
spring-webmvc
5.0.6.RELEASE
+
org.springframework
spring-tx
@@ -53,11 +37,36 @@
spring-orm
5.0.6.RELEASE
+
- com.fasterxml.jackson.dataformat
- jackson-dataformat-xml
+ com.fasterxml.jackson.core
+ jackson-databind
+ 2.9.6
+
+
+
+ com.mchange
+ c3p0
+ 0.9.2.1
+
+
+
+ javax.servlet
+ javax.servlet-api
+ 3.1.0
+
+
+ javax.servlet.jsp
+ javax.servlet.jsp-api
+ 2.3.1
+
+
+ javax.servlet
+ jstl
+ 1.2
+
1.8
diff --git a/src/main/java/com/bootcamp2018/Main.java b/src/main/java/com/bootcamp2018/Main.java
deleted file mode 100644
index 895eda0..0000000
--- a/src/main/java/com/bootcamp2018/Main.java
+++ /dev/null
@@ -1,357 +0,0 @@
-package com.bootcamp2018;
-
-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;
-import java.util.Scanner;
-
-
-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;
- 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 (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.");
- }
- }
- 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:
- 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.");
- }
- }
- 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:
- 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 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;
- }
-
- }
-
-
- }
-
- } catch (Exception e) {
-
- }
-
-
- }
-
- 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/control/ClientControl.java b/src/main/java/com/bootcamp2018/control/ClientControl.java
index 8cd6a6e..c93cecb 100644
--- a/src/main/java/com/bootcamp2018/control/ClientControl.java
+++ b/src/main/java/com/bootcamp2018/control/ClientControl.java
@@ -1,36 +1,58 @@
package com.bootcamp2018.control;
+import com.bootcamp2018.dto.*;
import com.bootcamp2018.model.Client;
+import com.bootcamp2018.model.Discount;
+import com.bootcamp2018.service.ClientService;
+import com.bootcamp2018.util.DTOUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
import java.util.ArrayList;
-
+@Controller
+@RequestMapping("/client")
public class ClientControl {
+ @Autowired
+ ClientService cs;
- public Client create(Client Object) {
- return null;
- }
-
+ @RequestMapping(value="/create",method = RequestMethod.PUT)
+ public ResponseEntity create(@RequestBody Client client) {
- public Client get(Client Object) {
- return null;
+ return new ResponseEntity<>(DTOUtils.toClientDTO(cs.create(client)),HttpStatus.OK);
}
-
- public ArrayList getList(Client Objact) {
- return null;
+ @RequestMapping(value="/get",method = RequestMethod.POST)
+ public ResponseEntity get(Client client) {
+ return new ResponseEntity<>(DTOUtils.toClientDTO(cs.get(client)),HttpStatus.OK);
}
- public Client update(Client Object) {
- return null;
+ @RequestMapping(value="/get",method = RequestMethod.GET)
+ public ResponseEntity> getList(@RequestBody Client client) {
+ ArrayList list = new ArrayList<>();
+ for (Client clients:cs.getList(client)
+ ) {
+ list.add(DTOUtils.toClientDTO(clients));
+ }
+ return new ResponseEntity<>(list,HttpStatus.OK);
}
+ @RequestMapping(value="/update",method = RequestMethod.POST)
+ public ResponseEntity update(@RequestBody Client client) {
+ return new ResponseEntity<>(DTOUtils.toClientDTO(cs.update(client)),HttpStatus.OK);
+ }
- public void delete(Client Object) {
-
+ @RequestMapping(value="/delete",method = RequestMethod.DELETE)
+ public void delete(@RequestBody Client client) {
+ cs.delete(client);
}
//DTO class ver patron
}
diff --git a/src/main/java/com/bootcamp2018/control/DiscountControl.java b/src/main/java/com/bootcamp2018/control/DiscountControl.java
index 0ecaf2c..271c4b3 100644
--- a/src/main/java/com/bootcamp2018/control/DiscountControl.java
+++ b/src/main/java/com/bootcamp2018/control/DiscountControl.java
@@ -1,34 +1,54 @@
package com.bootcamp2018.control;
-import com.bootcamp2018.dao.DiscountDAO;
+import com.bootcamp2018.dto.*;
import com.bootcamp2018.model.Discount;
+import com.bootcamp2018.service.DiscountService;
+import com.bootcamp2018.util.DTOUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+
import java.util.ArrayList;
+@Controller
+@RequestMapping("/discount")
public class DiscountControl {
+ @Autowired
+ private DiscountService ds;
- public Discount create(Discount object) {
- DiscountDAO dDAO = new DiscountDAO();
- return dDAO.createDiscount(object);
+ @RequestMapping(value="/create",method = RequestMethod.PUT)
+ public ResponseEntity create(@RequestBody Discount object) {
+ return new ResponseEntity<>(DTOUtils.toDiscountDTO(ds.create(object)),HttpStatus.OK);
}
-
- public Discount get(Discount object) {
- return null;
+ @RequestMapping(value="/get",method = RequestMethod.POST)
+ public ResponseEntity get(@RequestBody Discount object) {
+ return new ResponseEntity<>(DTOUtils.toDiscountDTO(ds.get(object)),HttpStatus.OK);
}
-
- public ArrayList getList(Discount object) {
- return null;
+ @RequestMapping(value="/list",method = RequestMethod.GET)
+ public ResponseEntity> getList() {
+ ArrayList list = new ArrayList<>();
+ for (Discount discount:ds.getList(new Discount())
+ ) {
+ list.add(DTOUtils.toDiscountDTO(discount));
+ }
+ return new ResponseEntity<>(list,HttpStatus.OK);
}
+ @RequestMapping(value="/update",method = RequestMethod.POST)
+ public ResponseEntity update(@RequestBody Discount object) {
- public Discount update(Discount object) {
- return null;
+ return new ResponseEntity<>(DTOUtils.toDiscountDTO(ds.update(object)), HttpStatus.OK);
}
-
- public void delete(Discount object) {
-
+ @RequestMapping(value="/delete",method = RequestMethod.POST)
+ public void delete(@RequestBody Discount object) {
+ ds.delete(object);
}
}
diff --git a/src/main/java/com/bootcamp2018/control/ItemControl.java b/src/main/java/com/bootcamp2018/control/ItemControl.java
index 7104a29..7c59b00 100644
--- a/src/main/java/com/bootcamp2018/control/ItemControl.java
+++ b/src/main/java/com/bootcamp2018/control/ItemControl.java
@@ -1,53 +1,59 @@
package com.bootcamp2018.control;
import com.bootcamp2018.dao.ItemDAO;
+import com.bootcamp2018.dto.ItemDTO;
import com.bootcamp2018.model.Item;
-import com.sun.org.glassfish.gmbal.ParameterNames;
+
+import com.bootcamp2018.service.ItemService;
+import com.bootcamp2018.util.DTOUtils;
+import org.springframework.beans.factory.annotation.Autowired;
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.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.PostConstruct;
-import java.lang.reflect.Parameter;
import java.util.ArrayList;
-@Controller
+@RestController
@RequestMapping("/item")
public class ItemControl {
+ @Autowired
+ private ItemService is;
- @RequestMapping
- public Item create(Item object) {
- ItemDAO itemDAO = new ItemDAO();
- return itemDAO.createItem(object);
+ @RequestMapping(value="/create",method = RequestMethod.PUT)
+ public ResponseEntity create(@RequestBody Item object) {
+ Item item = is.create(object);
+ return new ResponseEntity<>(DTOUtils.toItemDTO(item),HttpStatus.OK);
}
- @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) {
- ItemDAO itemDAO = new ItemDAO();
- return itemDAO.retriveItems(object);
+ @RequestMapping(value="/get",method = RequestMethod.POST)
+ public ResponseEntity get(@RequestBody Item item) {
+ Item response = is.get(item);
+ return new ResponseEntity<>(DTOUtils.toItemDTO(response),HttpStatus.OK);
}
-
-
- public Item update(Item object) {
- ItemDAO itemDAO = new ItemDAO();
- return itemDAO.updateItem(object);
+ @RequestMapping(value="/list",method = RequestMethod.POST)
+ public ResponseEntity> getList(@RequestBody Item object) {
+ ArrayList list = new ArrayList<>();
+ for (Item item :is.getList(object)
+ ) {
+ list.add(DTOUtils.toItemDTO(item));
+ }
+ return new ResponseEntity<>(list,HttpStatus.OK);
}
+ @RequestMapping(value="/update",method = RequestMethod.PUT)
+ public ResponseEntity update(@RequestBody Item object) {
+ ItemDTO itemDTO;
+ itemDTO = DTOUtils.toItemDTO(is.update(object));
+ return new ResponseEntity(itemDTO,HttpStatus.OK);
+ }
- public void delete(Item object) {
- ItemDAO itemDAO = new ItemDAO();
- itemDAO.deleteItem(object);
-
+ @RequestMapping(value="/delete",method = RequestMethod.POST)
+ public void delete(@RequestBody Item object) {
+ is.delete(object.getId());
}
}
diff --git a/src/main/java/com/bootcamp2018/control/OrderControl.java b/src/main/java/com/bootcamp2018/control/OrderControl.java
index 9cc3888..14b6dfe 100644
--- a/src/main/java/com/bootcamp2018/control/OrderControl.java
+++ b/src/main/java/com/bootcamp2018/control/OrderControl.java
@@ -1,33 +1,9 @@
package com.bootcamp2018.control;
-import com.bootcamp2018.dto.OrderDTO;
-
-import java.util.ArrayList;
public class OrderControl {
- public OrderDTO create(OrderDTO Object) {
- return null;
- }
-
-
- public OrderDTO get(OrderDTO Object) {
- return null;
- }
-
-
- public ArrayList getList(OrderDTO Object) {
- return null;
- }
-
- public OrderDTO update(OrderDTO Object) {
- return null;
- }
-
-
- 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 14445c7..b070c30 100644
--- a/src/main/java/com/bootcamp2018/control/OrderDetailControl.java
+++ b/src/main/java/com/bootcamp2018/control/OrderDetailControl.java
@@ -1,32 +1,39 @@
package com.bootcamp2018.control;
import com.bootcamp2018.dto.OrderDetailDTO;
-
+import com.bootcamp2018.model.*;
+import com.bootcamp2018.model.OrderDetail;
+import com.bootcamp2018.service.OrderDetailService;
+import com.bootcamp2018.util.DTOUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
import java.util.ArrayList;
+@Controller
+@RequestMapping("/orderDetail")
public class OrderDetailControl {
+ @Autowired
+ private OrderDetailService ods;
- public OrderDetailDTO create(OrderDetailDTO Object) {
-
- return Object;
- }
-
-
- public OrderDetailDTO get(OrderDetailDTO Object) {
- return null;
- }
-
-
- public ArrayList getList(OrderDetailDTO Object) {
- return null;
- }
-
+ @RequestMapping(value="/create",method = RequestMethod.PUT)
+ public ResponseEntity create(@RequestBody OrderDetail object) {
- public OrderDetailDTO update(OrderDetailDTO Object) {
- return null;
- }
+ return new ResponseEntity<>(DTOUtils.toDiscountDTO(ods.create(object)),HttpStatus.OK);
+ }
+ @RequestMapping(value="/List",method = RequestMethod.GET)
+ public ResponseEntity> getList(@RequestBody Order object) {
+ ArrayList list = new ArrayList<>();
+ for (OrderDetail orderDetail: ods.getList(object.getId())
+ ) {
+ list.add(DTOUtils.toDiscountDTO(orderDetail));
+ }
+ return new ResponseEntity<>(list,HttpStatus.OK);
+ }
- 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 eba41fa..7c4f93f 100644
--- a/src/main/java/com/bootcamp2018/control/PaymentControl.java
+++ b/src/main/java/com/bootcamp2018/control/PaymentControl.java
@@ -1,39 +1,60 @@
package com.bootcamp2018.control;
+import com.bootcamp2018.dao.PaymentDAO;
+import com.bootcamp2018.dto.OrderDetailDTO;
import com.bootcamp2018.dto.PaymentDTO;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
+import com.bootcamp2018.model.Client;
+import com.bootcamp2018.model.OrderDetail;
+import com.bootcamp2018.model.Payment;
+import com.bootcamp2018.service.PaymentService;
+import com.bootcamp2018.util.DTOUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
-
-
+import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
-@Controller
-@RequestMapping("/")
+
+@RestController
+@RequestMapping("/payment")
public class PaymentControl {
+ @Autowired
+ PaymentService ps;
- @RequestMapping(value = "/", method = RequestMethod.GET)
- public PaymentDTO create(PaymentDTO Object) {
- return Object;
- }
+
+ @RequestMapping(value="/create",method = RequestMethod.PUT)
+ public ResponseEntity create(@RequestBody Payment object, @RequestBody Client client) {
+ PaymentDTO paymentDTO;
+ paymentDTO= DTOUtils.toPaymentDTO(ps.create(object,client.getId()));
+ return new ResponseEntity<>(paymentDTO,HttpStatus.OK);
- public PaymentDTO get(PaymentDTO Object) {
- return null;
}
+ @RequestMapping(value="/get",method = RequestMethod.POST)
+ public ResponseEntity get(@RequestBody Payment Object) {
+ PaymentDTO paymentDTO;
+ paymentDTO= DTOUtils.toPaymentDTO(ps.get(Object.getId()));
+ return new ResponseEntity<>(paymentDTO,HttpStatus.OK);
- public ArrayList getList(PaymentDTO Object) {
- return null;
}
-
- public PaymentDTO update(PaymentDTO Object) {
- return null;
+ @RequestMapping(value="/list",method = RequestMethod.POST)
+ public ResponseEntity> getList(@RequestBody Client object) {
+ ArrayList list = new ArrayList<>();
+ for (Payment payment: ps.getList(object.getId())
+ ) {
+ list.add(DTOUtils.toPaymentDTO(payment));
+ }
+ return new ResponseEntity<>(list,HttpStatus.OK);
}
- public void delete(PaymentDTO Object) {
+
+ @RequestMapping(value="/delete",method = RequestMethod.DELETE)
+ public void delete(@RequestBody PaymentDTO object) {
+ ps.delete(object.getId());
}
}
diff --git a/src/main/java/com/bootcamp2018/dao/ClientDAO.java b/src/main/java/com/bootcamp2018/dao/ClientDAO.java
index bc03155..03383f3 100644
--- a/src/main/java/com/bootcamp2018/dao/ClientDAO.java
+++ b/src/main/java/com/bootcamp2018/dao/ClientDAO.java
@@ -2,13 +2,14 @@
import com.bootcamp2018.db.DBConnection;
import com.bootcamp2018.model.*;
-
+import org.springframework.stereotype.Repository;
import java.sql.*;
import java.util.ArrayList;
+@Repository
public class ClientDAO {
- public Client createClient(Client client) {
+ public Client create(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);
@@ -28,7 +29,7 @@ public Client createClient(Client client) {
return new Client();
}
- public ArrayList getClients() throws SQLException {
+ public ArrayList list() {
ArrayList list = new ArrayList<>();
try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
PreparedStatement pstmt;
@@ -42,7 +43,7 @@ public ArrayList getClients() throws SQLException {
return list;
}
- public Client getClient(Client cli) throws SQLException {
+ public Client get(Client cli){
Client client = new Client();
try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
PreparedStatement pstmt;
@@ -56,24 +57,34 @@ public Client getClient(Client cli) throws SQLException {
}
return client;
}
+ public Client get(int id){
+ 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.setInt(1, id);
+ ResultSet rs = pstmt.executeQuery();
+ while (rs.next()) {
+ client = ClientCreator.mapClient(rs);
+ }
+ } catch (Exception e) {
+ }
+ return client;
+ }
- public Client deleteItem(Client client) {
+ public void delete(int id) {
try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
PreparedStatement pstmt;
pstmt = con.prepareStatement("DELETE FROM client WHERE idClient = ?");
- pstmt.setInt(1, client.getId());
+ pstmt.setInt(1, id);
int resp = pstmt.executeUpdate();
- if (resp == 0) client = new Client();
+ } catch (Exception e) { }
- } catch (Exception e) {
- client = new Client();
- }
- return client;
}
- public Client updateItem(Client client) throws SQLException {
+ public Client update(Client client) {
try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
PreparedStatement pstmt;
diff --git a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java
index f677e28..b04881e 100644
--- a/src/main/java/com/bootcamp2018/dao/DiscountDAO.java
+++ b/src/main/java/com/bootcamp2018/dao/DiscountDAO.java
@@ -2,13 +2,14 @@
import com.bootcamp2018.db.DBConnection;
import com.bootcamp2018.model.Discount;
-import com.bootcamp2018.model.Item;
-
+import org.springframework.stereotype.Repository;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
+import java.util.ArrayList;
+@Repository
public class DiscountDAO {
@@ -19,7 +20,6 @@ public Discount createDiscount(Discount discount) {
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()) {
@@ -28,11 +28,72 @@ public Discount createDiscount(Discount discount) {
discount = new Discount();
}
pstmt.close();
- } catch (Exception e) {
+ } catch (Exception e) {}
+ return discount;
+ }
- }
+ public Discount get(int id){
+ Discount discount = new Discount();
+ try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
+ PreparedStatement pstmt;
+ pstmt = con.prepareStatement("SELECT idDiscount,idItem, quantity, price FROM discount WHERE idDiscount = ?", Statement.RETURN_GENERATED_KEYS);
+ pstmt.setInt(1, id);
+ ResultSet rs = pstmt.executeQuery();
+ if (rs.next()) {
+ discount.setPrice(rs.getInt(4));
+ discount.setQuantity(rs.getInt(3));
+ ItemDAO itemDAO = new ItemDAO();
+ discount.setItem(itemDAO.retriveItem(rs.getInt(2)));
+ } else {
+ discount = new Discount();
+ }
+ pstmt.close();
+ } catch (Exception e) {}
return discount;
}
+ public ArrayList retriveItems(Discount objects) {
+ ArrayList list = new ArrayList<>();
+ try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
+ PreparedStatement pstmt;
+ pstmt = con.prepareStatement("SELECT idDiscount,idItem, quantity, price FROM discount");
+ ResultSet rs = pstmt.executeQuery();
+ while (rs.next()) {
+ ItemDAO itemDAO= new ItemDAO();
+ list.add(new Discount(rs.getInt(1), itemDAO.retriveItem(rs.getInt(2)), rs.getInt(3),rs.getDouble(4)));
+ }
+ pstmt.close();
+ } catch (Exception e) {}
+ return list;
+ }
+
+ public Discount update(Discount discount){
+ Discount respDiscount = new Discount();
+ try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
+ PreparedStatement pstmt;
+ pstmt = con.prepareStatement("UPDATE discount SET quantity = ?, price= ? WHERE idDiscount = ?", Statement.RETURN_GENERATED_KEYS);
+ pstmt.setInt(1, discount.getQuantity());
+ pstmt.setDouble(2, discount.getPrice());
+ int resp = pstmt.executeUpdate();
+ if (resp == 0) respDiscount = new Discount();
+ else{
+ respDiscount = get(discount.getId());
+ }
+ pstmt.close();
+ } catch (Exception e) {}
+ return respDiscount;
+ }
+
+ public void delete(int id) {
+ try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
+ PreparedStatement pstmt;
+ pstmt = con.prepareStatement("DELETE FROM Discount WHERE idDiscount = ?");
+ pstmt.setInt(1, id);
+ pstmt.executeUpdate();
+ pstmt.close();
+ } catch (Exception e) {}
+ }
+
+
}
diff --git a/src/main/java/com/bootcamp2018/dao/ItemDAO.java b/src/main/java/com/bootcamp2018/dao/ItemDAO.java
index ecce0ed..a3f2b74 100644
--- a/src/main/java/com/bootcamp2018/dao/ItemDAO.java
+++ b/src/main/java/com/bootcamp2018/dao/ItemDAO.java
@@ -2,11 +2,13 @@
import com.bootcamp2018.db.DBConnection;
import com.bootcamp2018.model.Item;
+import org.springframework.stereotype.Repository;
+
import java.sql.*;
import java.util.ArrayList;
-
+@Repository
public class ItemDAO {
@@ -24,10 +26,7 @@ public Item createItem(Item item) {
item = new Item();
}
pstmt.close();
- } catch (Exception e) {
-
- }
-
+ } catch (Exception e) {}
return item;
}
@@ -40,39 +39,37 @@ public ArrayList
- retriveItems(Item objects) {
while (rs.next()) {
list.add(new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3)));
}
- } catch (Exception e) {
- }
-
+ pstmt.close();
+ } catch (Exception e) {}
return list;
}
- public Item retriveItem(int id) {
+ public Item retriveItem(int id) {
Item list = new Item();
try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
PreparedStatement pstmt;
- pstmt = con.prepareStatement("SELECT idItem, name, price FROM item");
-
+ pstmt = con.prepareStatement("SELECT idItem, name, price FROM item WHERE idItem = ?");
+ pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
list = new Item(rs.getInt(1), rs.getString(2), rs.getDouble(3));
}
- } catch (Exception e) {
- }
+ pstmt.close();
+ } catch (Exception e) {}
return list;
}
- public void deleteItem(Item item) {
+ public void deleteItem(int id) {
try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
PreparedStatement pstmt;
pstmt = con.prepareStatement("DELETE FROM item WHERE idItem = ?");
- pstmt.setInt(1, item.getId());
+ pstmt.setInt(1, id);
pstmt.executeUpdate();
- } catch (Exception e) {
-
- }
+ pstmt.close();
+ } catch (Exception e) {}
}
public Item updateItem(Item item) {
@@ -83,10 +80,9 @@ public Item updateItem(Item item) {
pstmt.setString(1, item.getName());
pstmt.setDouble(2, item.getPrice());
pstmt.setInt(3, item.getId());
-
int resp = pstmt.executeUpdate();
if (resp == 0) item = new Item();
-
+ pstmt.close();
} catch (Exception e) {
item = new Item();
}
diff --git a/src/main/java/com/bootcamp2018/dao/OrderDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDAO.java
index f7a18ea..09a45ae 100644
--- a/src/main/java/com/bootcamp2018/dao/OrderDAO.java
+++ b/src/main/java/com/bootcamp2018/dao/OrderDAO.java
@@ -1,41 +1,61 @@
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;
+import java.sql.*;
+import java.util.ArrayList;
public class OrderDAO {
- public Order createOrder(OrderDTO order) {
+ public Order create(Order order, int idPayment) {
+ Order respOrder = new 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.setInt(1, idPayment);
pstmt.executeUpdate();
ResultSet rs = pstmt.getGeneratedKeys();
if (rs.next()) {
- order.getOrder().setId(rs.getInt(1));
- for (OrderDetail od : order.getOrder().getOrderDetails()
+ respOrder.setId(rs.getInt(1));
+ OrderDetail respOrderDetail;
+ for (OrderDetail od : order.getOrderDetails()
) {
OrderDetailDAO odd = new OrderDetailDAO();
- od = odd.createOrderDetail(new OrderDetailDTO(order.getOrder().getId(), od));
+ respOrderDetail = odd.create(od,respOrder.getId());
+ respOrder.getOrderDetails().add(respOrderDetail);
}
} else {
- order.setOrder(new Order());
+ respOrder = new Order();
}
pstmt.close();
} catch (Exception e) {
- order.setOrder(new Order());
+ respOrder = new Order();
}
- return order.getOrder();
+ return respOrder;
}
+
+ public Order get(int idPayment) {
+ Order respOrder = new Order();
+ try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
+ PreparedStatement pstmt;
+ pstmt = con.prepareStatement("SELECT idOrder FROM 'order' WHERE idPayment = ?");
+ pstmt.setInt(1, idPayment);
+ pstmt.executeQuery();
+ ResultSet rs = pstmt.getResultSet();
+ if (rs.next()) {
+ respOrder.setId(rs.getInt(1));
+ ArrayList list;
+ OrderDetailDAO odd = new OrderDetailDAO();
+ list = odd.get(respOrder.getId());
+ respOrder.setOrderDetails(list);
+ } else {
+ respOrder = new Order();
+ }
+ pstmt.close();
+ } catch (Exception e) {
+ respOrder = new Order();
+ }
+ return respOrder;
+ }
+
}
diff --git a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java
index 0179022..3c31d4a 100644
--- a/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java
+++ b/src/main/java/com/bootcamp2018/dao/OrderDetailDAO.java
@@ -4,34 +4,55 @@
import com.bootcamp2018.dto.OrderDetailDTO;
import com.bootcamp2018.dto.PaymentDTO;
import com.bootcamp2018.model.OrderDetail;
+import org.springframework.stereotype.Repository;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
+import java.util.ArrayList;
+@Repository
public class OrderDetailDAO {
- public OrderDetail createOrderDetail(OrderDetailDTO orderDetail) {
+ public OrderDetail create(OrderDetail orderDetail, int idOrder) {
+ OrderDetail respOrderDetail = new OrderDetail(orderDetail.getItem(),orderDetail.getQuantity(),orderDetail.getPrice());
try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
+ PreparedStatement pstmt;
+ pstmt = con.prepareStatement("INSERT INTO OrderDetail (idItem,idOrder,quantity, price) VALUES (?,?,?,?)");
+ pstmt.setInt(1, orderDetail.getItem().getId());
+ pstmt.setInt(2, idOrder);
+ pstmt.setInt(3, orderDetail.getQuantity());
+ pstmt.setDouble(4, orderDetail.getPrice());
+ int ok = pstmt.executeUpdate();
+ pstmt.close();
+ if (ok == 0){respOrderDetail= new OrderDetail();}
+ } catch (Exception e) {
+ respOrderDetail=new OrderDetail();
+ }
+ return respOrderDetail;
+ }
+ public ArrayList get(int idOrder) {
+ ArrayList list = new ArrayList<>();
+ try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
PreparedStatement pstmt;
+ pstmt = con.prepareStatement("SELECT idItem, idOrder, quantity, price FROM orderdetail WHERE idOrder = ?", Statement.RETURN_GENERATED_KEYS);
+ pstmt.setInt(1, idOrder);
- 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());
+ ResultSet rs = pstmt.executeQuery();
+ while (rs.next()) {
+ ItemDAO itemDAO = new ItemDAO();
+ list.add(new OrderDetail(itemDAO.retriveItem(rs.getInt(2)), rs.getInt(3),rs.getDouble(4)));
}
pstmt.close();
} catch (Exception e) {
- orderDetail.setOrderDetail(new OrderDetail());
+ list = new ArrayList<>();
}
- return orderDetail.getOrderDetail();
+ return list;
}
+
+
+
}
diff --git a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java
index 18068e5..9615041 100644
--- a/src/main/java/com/bootcamp2018/dao/PaymentDAO.java
+++ b/src/main/java/com/bootcamp2018/dao/PaymentDAO.java
@@ -1,35 +1,71 @@
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 org.springframework.stereotype.Repository;
import java.sql.*;
-
+@Repository
public class PaymentDAO {
- public Payment createPayment(PaymentDTO payment) {
+ public Payment create(Payment payment,int idClient) {
+ Payment respPayment = new 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.setInt(1, idClient);
+ pstmt.setDouble(2, payment.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()));
+ respPayment.setId(rs.getInt(1));
+ OrderDAO orderDAO = new OrderDAO();
+ respPayment.setOrder(orderDAO.create(payment.getOrder(),respPayment.getId()));
+ } else {
+ respPayment = new Payment();
+ }
+ pstmt.close();
+ } catch (Exception e) {
+ respPayment = new Payment();
+ }
+ return respPayment;
+ }
+
+
+ public Payment get(int idPayment){
+ Payment respPayment = new Payment();
+ try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
+ PreparedStatement pstmt;
+ pstmt = con.prepareStatement("SELECT idPayment, amount FROM payment WHERE idPaymet = ?", Statement.RETURN_GENERATED_KEYS);
+ pstmt.setInt(1, idPayment);
+ pstmt.executeQuery();
+ ResultSet rs = pstmt.getResultSet();
+ if (rs.next()) {
+ respPayment.setId(rs.getInt(1));
+ respPayment.setAmount(rs.getDouble(2));
+ OrderDAO orderDAO = new OrderDAO();
+ respPayment.setOrder(orderDAO.get(respPayment.getId()));
} else {
- payment = new PaymentDTO();
+ respPayment = new Payment();
}
pstmt.close();
} catch (Exception e) {
- payment = new PaymentDTO();
+ respPayment = new Payment();
}
- return payment.getPayment();
+ return respPayment;
+
+ }
+
+ public void delete(int id) {
+
+ try (Connection con = DBConnection.getInstance().getDataSource().getConnection()) {
+ PreparedStatement pstmt;
+ pstmt = con.prepareStatement("DELETE FROM payment WHERE idPayment = ?");
+ pstmt.setInt(1, id);
+ pstmt.executeUpdate();
+ pstmt.close();
+ } catch (Exception e) {}
}
}
diff --git a/src/main/java/com/bootcamp2018/db/DBConnection.java b/src/main/java/com/bootcamp2018/db/DBConnection.java
index 0f7078d..35c289e 100644
--- a/src/main/java/com/bootcamp2018/db/DBConnection.java
+++ b/src/main/java/com/bootcamp2018/db/DBConnection.java
@@ -1,7 +1,7 @@
package com.bootcamp2018.db;
import com.mysql.cj.jdbc.MysqlDataSource;
-import org.graalvm.compiler.serviceprovider.ServiceProvider;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/src/main/java/com/bootcamp2018/dto/ClientDTO.java b/src/main/java/com/bootcamp2018/dto/ClientDTO.java
new file mode 100644
index 0000000..e26b677
--- /dev/null
+++ b/src/main/java/com/bootcamp2018/dto/ClientDTO.java
@@ -0,0 +1,65 @@
+package com.bootcamp2018.dto;
+
+import com.bootcamp2018.model.Payment;
+
+import java.util.ArrayList;
+
+public class ClientDTO {
+ private int id;
+ private String name;
+ private String lastName;
+ private String description;
+ private ArrayList Payments;
+
+ public ClientDTO(int id, String name, String lastName, String description, ArrayList payments) {
+ this.id = id;
+ this.name = name;
+ this.lastName = lastName;
+ this.description = description;
+ Payments = payments;
+ }
+
+ public ClientDTO() {
+ }
+
+ 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;
+ }
+}
diff --git a/src/main/java/com/bootcamp2018/dto/DiscountDTO.java b/src/main/java/com/bootcamp2018/dto/DiscountDTO.java
new file mode 100644
index 0000000..29ad563
--- /dev/null
+++ b/src/main/java/com/bootcamp2018/dto/DiscountDTO.java
@@ -0,0 +1,48 @@
+package com.bootcamp2018.dto;
+
+public class DiscountDTO {
+ private int id;
+ private int idItem;
+ private int quantity;
+ private double price;
+
+
+ public DiscountDTO(int id,int idItem, int quantity, double price) {
+ this.idItem = idItem;
+ this.quantity = quantity;
+ this.price = price;
+ this.id = id;
+ }
+
+ public int getIdItem() {
+ return idItem;
+ }
+
+ public void setIdItem(int iditem) {
+ this.idItem = iditem;
+ }
+
+ 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;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+}
diff --git a/src/main/java/com/bootcamp2018/dto/ItemDTO.java b/src/main/java/com/bootcamp2018/dto/ItemDTO.java
new file mode 100644
index 0000000..e3d7fca
--- /dev/null
+++ b/src/main/java/com/bootcamp2018/dto/ItemDTO.java
@@ -0,0 +1,37 @@
+package com.bootcamp2018.dto;
+
+public class ItemDTO {
+ private int id;
+ private String name;
+ private double price;
+
+ public ItemDTO(int id, String name, double price) {
+ this.id = id;
+ this.name = name;
+ this.price = price;
+ }
+
+ 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 double getPrice() {
+ return price;
+ }
+
+ public void setPrice(double price) {
+ this.price = price;
+ }
+}
diff --git a/src/main/java/com/bootcamp2018/dto/OrderDTO.java b/src/main/java/com/bootcamp2018/dto/OrderDTO.java
index 98d7777..08562ca 100644
--- a/src/main/java/com/bootcamp2018/dto/OrderDTO.java
+++ b/src/main/java/com/bootcamp2018/dto/OrderDTO.java
@@ -2,29 +2,33 @@
import com.bootcamp2018.model.Order;
+import com.bootcamp2018.model.OrderDetail;
+
+import java.util.ArrayList;
public class OrderDTO {
- private int idPayment;
- private Order order;
- public OrderDTO(int idPayment, Order order) {
- this.idPayment = idPayment;
- this.order = order;
+ private int Id;
+ private ArrayList orderDetails;
+
+ public OrderDTO(int id, ArrayList orderDetails) {
+ Id = id;
+ this.orderDetails = orderDetails;
}
- public int getIdPayment() {
- return idPayment;
+ public int getId() {
+ return Id;
}
- public void setIdPayment(int idPayment) {
- this.idPayment = idPayment;
+ public void setId(int id) {
+ Id = id;
}
- public Order getOrder() {
- return order;
+ public ArrayList getOrderDetails() {
+ return orderDetails;
}
- public void setOrder(Order order) {
- this.order = order;
+ public void setOrderDetails(ArrayList orderDetails) {
+ this.orderDetails = orderDetails;
}
}
diff --git a/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java b/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java
index 4f3f675..c5807f3 100644
--- a/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java
+++ b/src/main/java/com/bootcamp2018/dto/OrderDetailDTO.java
@@ -1,29 +1,42 @@
package com.bootcamp2018.dto;
+import com.bootcamp2018.model.Item;
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;
+ private int idItem;
+ private int quantity;
+ private double price;
+
+ public OrderDetailDTO(int idItem, int quantity, double price) {
+ this.idItem = idItem;
+ this.quantity = quantity;
+ this.price = price;
+ }
+
+ public int getIdItem() {
+ return idItem;
+ }
+
+ public void setIdItem(int idItem) {
+ this.idItem = idItem;
}
- public int getIdOrder() {
- return idOrder;
+ public int getQuantity() {
+ return quantity;
}
- public void setIdOrder(int idOrder) {
- this.idOrder = idOrder;
+ public void setQuantity(int quantity) {
+ this.quantity = quantity;
}
- public OrderDetail getOrderDetail() {
- return orderDetail;
+ public double getPrice() {
+ return price;
}
- public void setOrderDetail(OrderDetail orderDetail) {
- this.orderDetail = orderDetail;
+ public void setPrice(double price) {
+ this.price = price;
}
}
diff --git a/src/main/java/com/bootcamp2018/dto/PaymentDTO.java b/src/main/java/com/bootcamp2018/dto/PaymentDTO.java
index b590b80..3a95ffe 100644
--- a/src/main/java/com/bootcamp2018/dto/PaymentDTO.java
+++ b/src/main/java/com/bootcamp2018/dto/PaymentDTO.java
@@ -1,34 +1,40 @@
package com.bootcamp2018.dto;
+import com.bootcamp2018.model.Order;
import com.bootcamp2018.model.Payment;
public class PaymentDTO {
- private Payment payment;
- private int idClient;
-
- public PaymentDTO() {
- payment = new Payment();
+ private int Id;
+ private int idOrder;
+ private double amount;
+
+ public PaymentDTO(int id, int idOrder, double amount) {
+ Id = id;
+ this.idOrder = idOrder;
+ this.amount = amount;
+ }
+ public int getId() {
+ return Id;
}
- public PaymentDTO(Payment payment, int idClient) {
- this.payment = payment;
- this.idClient = idClient;
+ public void setId(int id) {
+ Id = id;
}
- public Payment getPayment() {
- return payment;
+ public int getIdOrder() {
+ return idOrder;
}
- public void setPayment(Payment payment) {
- this.payment = payment;
+ public void setIdOrder(int idOrder) {
+ this.idOrder = idOrder;
}
- public int getIdClient() {
- return idClient;
+ public double getAmount() {
+ return amount;
}
- public void setIdClient(int idClient) {
- this.idClient = idClient;
+ public void setAmount(double amount) {
+ this.amount = amount;
}
}
diff --git a/src/main/java/com/bootcamp2018/model/Client.java b/src/main/java/com/bootcamp2018/model/Client.java
index 512006b..8471eab 100644
--- a/src/main/java/com/bootcamp2018/model/Client.java
+++ b/src/main/java/com/bootcamp2018/model/Client.java
@@ -1,16 +1,12 @@
package com.bootcamp2018.model;
-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) {
@@ -21,6 +17,14 @@ public Client(int id) {
this.Payments = new ArrayList<>();
}
+ public Client(int id, String name, String lastName, String description, ArrayList payments) {
+ this.id = id;
+ this.name = name;
+ this.lastName = lastName;
+ this.description = description;
+ Payments = payments;
+ }
+
public Client() {
this.id = 0;
this.name = "";
diff --git a/src/main/java/com/bootcamp2018/model/Discount.java b/src/main/java/com/bootcamp2018/model/Discount.java
index 0ebb927..3d6549a 100644
--- a/src/main/java/com/bootcamp2018/model/Discount.java
+++ b/src/main/java/com/bootcamp2018/model/Discount.java
@@ -1,9 +1,8 @@
package com.bootcamp2018.model;
-import org.springframework.stereotype.Component;
-@Component
public class Discount {
+
private Item item;
private int quantity;
private double price;
@@ -16,6 +15,13 @@ public Discount() {
this.price = 0;
this.id = 0;
}
+ public Discount(int id) {
+
+ this.item = new Item();
+ this.quantity = 0;
+ this.price = 0;
+ this.id = id;
+ }
public Discount(Item item, int quantity, double price) {
this.item = item;
@@ -23,6 +29,13 @@ public Discount(Item item, int quantity, double price) {
this.price = price;
}
+ public Discount(int id,Item item, int quantity, double price) {
+ this.item = item;
+ this.quantity = quantity;
+ this.price = price;
+ this.id = id;
+ }
+
public int getId() {
return id;
}
@@ -66,4 +79,9 @@ public boolean equals(Object obj) {
}
return ban;
}
+
+ @Override
+ public String toString() {
+ return "ID:"+id+", Quantity:"+quantity+", Price:"+price+", Item= "+item.toString();
+ }
}
diff --git a/src/main/java/com/bootcamp2018/model/Item.java b/src/main/java/com/bootcamp2018/model/Item.java
index 529b2a7..d3dd0fd 100644
--- a/src/main/java/com/bootcamp2018/model/Item.java
+++ b/src/main/java/com/bootcamp2018/model/Item.java
@@ -1,8 +1,6 @@
package com.bootcamp2018.model;
-import org.springframework.stereotype.Component;
-@Component
public class Item {
private int Id;
private String name;
diff --git a/src/main/java/com/bootcamp2018/model/Order.java b/src/main/java/com/bootcamp2018/model/Order.java
index a8def4b..13a8271 100644
--- a/src/main/java/com/bootcamp2018/model/Order.java
+++ b/src/main/java/com/bootcamp2018/model/Order.java
@@ -1,13 +1,11 @@
package com.bootcamp2018.model;
-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() {
diff --git a/src/main/java/com/bootcamp2018/model/OrderDetail.java b/src/main/java/com/bootcamp2018/model/OrderDetail.java
index c919eb4..5b9dedb 100644
--- a/src/main/java/com/bootcamp2018/model/OrderDetail.java
+++ b/src/main/java/com/bootcamp2018/model/OrderDetail.java
@@ -1,11 +1,9 @@
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;
@@ -21,6 +19,11 @@ public OrderDetail(Item item, int quantity) {
this.quantity = quantity;
this.price = item.getPrice();
}
+ public OrderDetail(Item item, int quantity, double price) {
+ this.item = item;
+ this.quantity = quantity;
+ this.price = price;
+ }
public Item getItem() {
return item;
diff --git a/src/main/java/com/bootcamp2018/model/Payment.java b/src/main/java/com/bootcamp2018/model/Payment.java
index 3c1afd6..808e769 100644
--- a/src/main/java/com/bootcamp2018/model/Payment.java
+++ b/src/main/java/com/bootcamp2018/model/Payment.java
@@ -1,22 +1,17 @@
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 int id;
private Order order;
private double amount;
public int getId() {
- return Id;
+ return id;
}
public void setId(int id) {
- Id = id;
+ this.id = id;
}
public Order getOrder() {
@@ -36,18 +31,18 @@ public void setAmount(double amount) {
}
public Payment(int id) {
- Id = id;
+ this.id = id;
}
public Payment(int id, Order order, double amount) {
- this.Id = id;
+ this.id = id;
this.order = order;
this.amount = amount;
}
public Payment() {
- this.Id = 0;
+ this.id = 0;
this.order = new Order();
this.amount = 0;
}
@@ -70,7 +65,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/ClientService.java b/src/main/java/com/bootcamp2018/service/ClientService.java
index 0ac711b..1549e0c 100644
--- a/src/main/java/com/bootcamp2018/service/ClientService.java
+++ b/src/main/java/com/bootcamp2018/service/ClientService.java
@@ -1,33 +1,49 @@
package com.bootcamp2018.service;
+import com.bootcamp2018.dao.ClientDAO;
import com.bootcamp2018.model.Client;
+import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
+@org.springframework.stereotype.Service
public class ClientService implements Service {
+ @Autowired
+ private ClientDAO clientDAO;
+
@Override
- public Client create(Client Object) {
- return null;
+ public Client get(int id) {
+ return clientDAO.get(id);
}
@Override
- public Client get(Client Object) {
- return null;
+ public ArrayList getList(int id) {
+ return clientDAO.list();
}
@Override
- public ArrayList getList(Client Objact) {
- return null;
+ public Client create(Client object) {
+ return clientDAO.create(object);
}
- @Override
- public Client update(Client Object) {
- return null;
+
+ public Client get(Client object) {
+ return clientDAO.get(object);
+ }
+
+
+ public ArrayList getList(Client object) {
+ return clientDAO.list();
}
@Override
- public void delete(Client Object) {
+ public Client update(Client object) {
+ return clientDAO.update(object);
+ }
+ @Override
+ public void delete(int id) {
+ clientDAO.delete(id);
}
//DTO class ver patron
}
diff --git a/src/main/java/com/bootcamp2018/service/DiscountService.java b/src/main/java/com/bootcamp2018/service/DiscountService.java
index f4d4608..4758ff5 100644
--- a/src/main/java/com/bootcamp2018/service/DiscountService.java
+++ b/src/main/java/com/bootcamp2018/service/DiscountService.java
@@ -2,33 +2,47 @@
import com.bootcamp2018.dao.DiscountDAO;
import com.bootcamp2018.model.Discount;
+import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
+@org.springframework.stereotype.Service
public class DiscountService implements Service {
+ @Autowired
+ private DiscountDAO dDAO;
+
@Override
public Discount create(Discount object) {
- DiscountDAO dDAO = new DiscountDAO();
return dDAO.createDiscount(object);
}
@Override
- public Discount get(Discount object) {
- return null;
+ public Discount get(int id) {
+ return dDAO.get(id);
}
@Override
- public ArrayList getList(Discount object) {
+ public ArrayList getList(int id) {
return null;
}
+
+ public Discount get(Discount object) {
+ return dDAO.get(object.getId());
+ }
+
+
+ public ArrayList getList(Discount object) {
+ return dDAO.retriveItems(object);
+ }
+
@Override
public Discount update(Discount object) {
- return null;
+ return dDAO.update(object);
}
@Override
- public void delete(Discount object) {
-
+ public void delete(int id) {
+ dDAO.delete(id);
}
}
diff --git a/src/main/java/com/bootcamp2018/service/ItemService.java b/src/main/java/com/bootcamp2018/service/ItemService.java
index aa80c6d..572fe2a 100644
--- a/src/main/java/com/bootcamp2018/service/ItemService.java
+++ b/src/main/java/com/bootcamp2018/service/ItemService.java
@@ -2,39 +2,57 @@
import com.bootcamp2018.dao.ItemDAO;
import com.bootcamp2018.model.Item;
+import org.springframework.beans.factory.annotation.Autowired;
-import java.sql.SQLException;
import java.util.ArrayList;
+@org.springframework.stereotype.Service
public class ItemService implements Service
- {
+ @Autowired
+ private ItemDAO itemDAO;
@Override
public Item create(Item object) {
- ItemDAO itemDAO = new ItemDAO();
return itemDAO.createItem(object);
}
@Override
- public Item get(Item Object) {
- return null;
+ public Item get(int id) {
+ Item item ;
+
+ item = itemDAO.retriveItem(id);
+ return item;
}
@Override
+ public ArrayList
- getList(int id) {
+
+ return itemDAO.retriveItems(new Item());
+ }
+
+
+ public Item get(Item Object) {
+
+ Object = itemDAO.retriveItem(Object.getId());
+ return Object;
+ }
+
+
public ArrayList
- getList(Item object) {
- ItemDAO itemDAO = new ItemDAO();
+
return itemDAO.retriveItems(object);
}
@Override
public Item update(Item object) {
- ItemDAO itemDAO = new ItemDAO();
+
return itemDAO.updateItem(object);
}
@Override
- public void delete(Item object) {
- ItemDAO itemDAO = new ItemDAO();
- itemDAO.deleteItem(object);
+ public void delete(int id) {
+
+ itemDAO.deleteItem(id);
}
}
diff --git a/src/main/java/com/bootcamp2018/service/OrderDetailService.java b/src/main/java/com/bootcamp2018/service/OrderDetailService.java
index de65d49..904aa3f 100644
--- a/src/main/java/com/bootcamp2018/service/OrderDetailService.java
+++ b/src/main/java/com/bootcamp2018/service/OrderDetailService.java
@@ -1,32 +1,41 @@
package com.bootcamp2018.service;
-import com.bootcamp2018.dto.OrderDetailDTO;
+
+
+import com.bootcamp2018.dao.OrderDetailDAO;
+import com.bootcamp2018.model.OrderDetail;
+import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
+@org.springframework.stereotype.Service
-public class OrderDetailService implements Service {
- @Override
- public OrderDetailDTO create(OrderDetailDTO Object) {
+public class OrderDetailService implements Service {
+ @Autowired
+ private OrderDetailDAO orderDetailDAO;
- return Object;
+ @Override
+ public OrderDetail create(OrderDetail object) {
+ OrderDetail od;
+ return null;
}
@Override
- public OrderDetailDTO get(OrderDetailDTO Object) {
+ public OrderDetail get(int id) {
return null;
}
@Override
- public ArrayList getList(OrderDetailDTO Object) {
+ public ArrayList getList(int id) {
return null;
}
@Override
- public OrderDetailDTO update(OrderDetailDTO Object) {
+ public OrderDetail update(OrderDetail object) {
return null;
}
@Override
- public void delete(OrderDetailDTO Object) {
+ public void delete(int id) {
+
}
}
diff --git a/src/main/java/com/bootcamp2018/service/OrderService.java b/src/main/java/com/bootcamp2018/service/OrderService.java
index 46737bd..382a626 100644
--- a/src/main/java/com/bootcamp2018/service/OrderService.java
+++ b/src/main/java/com/bootcamp2018/service/OrderService.java
@@ -1,32 +1,35 @@
package com.bootcamp2018.service;
-import com.bootcamp2018.dto.OrderDTO;
-
+import com.bootcamp2018.model.Order;
import java.util.ArrayList;
-public class OrderService implements Service {
+public class OrderService implements Service {
+
+
@Override
- public OrderDTO create(OrderDTO Object) {
+ public Order create(Order object) {
return null;
}
@Override
- public OrderDTO get(OrderDTO Object) {
+ public Order get(int id) {
return null;
}
@Override
- public ArrayList getList(OrderDTO Object) {
+ public ArrayList getList(int id) {
return null;
}
@Override
- public OrderDTO update(OrderDTO Object) {
+ public Order update(Order object) {
return null;
}
@Override
- public void delete(OrderDTO Object) {
+ public void delete(int id) {
}
+
}
+
diff --git a/src/main/java/com/bootcamp2018/service/PaymentService.java b/src/main/java/com/bootcamp2018/service/PaymentService.java
index 1ea10fc..9ed4c9e 100644
--- a/src/main/java/com/bootcamp2018/service/PaymentService.java
+++ b/src/main/java/com/bootcamp2018/service/PaymentService.java
@@ -1,33 +1,38 @@
package com.bootcamp2018.service;
-import com.bootcamp2018.dto.PaymentDTO;
-
+import com.bootcamp2018.dao.PaymentDAO;
+import com.bootcamp2018.model.Payment;
+import org.springframework.beans.factory.annotation.Autowired;
import java.util.ArrayList;
-public class PaymentService implements Service {
- @Override
- public PaymentDTO create(PaymentDTO Object) {
+@org.springframework.stereotype.Service
+public abstract class PaymentService implements Service {
+ @Autowired
+ private PaymentDAO paymentDAO;
+
- return Object;
+ public Payment create(Payment object, int idClient) {
+ return paymentDAO.create(object,idClient);
}
@Override
- public PaymentDTO get(PaymentDTO Object) {
+ public Payment get(int id) {
return null;
}
@Override
- public ArrayList getList(PaymentDTO Object) {
+ public ArrayList getList(int id) {
return null;
}
@Override
- public PaymentDTO update(PaymentDTO Object) {
+ public Payment update(Payment object) {
return null;
}
@Override
- public void delete(PaymentDTO Object) {
-
+ public void delete(int id) {
+ paymentDAO.delete(id);
}
}
+
diff --git a/src/main/java/com/bootcamp2018/service/Service.java b/src/main/java/com/bootcamp2018/service/Service.java
index 83a2fe4..1751beb 100644
--- a/src/main/java/com/bootcamp2018/service/Service.java
+++ b/src/main/java/com/bootcamp2018/service/Service.java
@@ -5,11 +5,11 @@
public interface Service {
T create(T object);
- T get(T object);
+ T get(int id);
- ArrayList getList(T object);
+ ArrayList getList(int id);
T update(T object);
- void delete(T object);
+ void delete(int id);
}
diff --git a/src/main/java/com/bootcamp2018/util/DTOUtils.java b/src/main/java/com/bootcamp2018/util/DTOUtils.java
new file mode 100644
index 0000000..7e0d6c5
--- /dev/null
+++ b/src/main/java/com/bootcamp2018/util/DTOUtils.java
@@ -0,0 +1,57 @@
+package com.bootcamp2018.util;
+
+import com.bootcamp2018.dto.*;
+import com.bootcamp2018.model.*;
+
+import java.util.ArrayList;
+
+public final class DTOUtils {
+
+ public static ItemDTO toItemDTO(Item item ){
+ ItemDTO itemDTO = new ItemDTO(item.getId(),item.getName(),item.getPrice());
+ return itemDTO;
+ }
+
+ public static ClientDTO toClientDTO(Client client){
+ ClientDTO respClientDTO;
+ ArrayList payments = new ArrayList<>();
+ for (Payment payment: client.getPayments()
+ ) {
+ payments.add(payment.getId());
+ }
+ respClientDTO = new ClientDTO(client.getId(),client.getName(),client.getLastName(),client.getDescription(),payments);
+ return respClientDTO;
+ }
+
+ public static OrderDetailDTO toDiscountDTO(OrderDetail orderDetail){
+ OrderDetailDTO respOrderDetailDTO;
+ respOrderDetailDTO = new OrderDetailDTO(orderDetail.getItem().getId(),orderDetail.getQuantity(),orderDetail.getPrice());
+ return respOrderDetailDTO;
+ }
+
+ public static DiscountDTO toDiscountDTO(Discount discount){
+ DiscountDTO respDiscountDTO;
+ respDiscountDTO = new DiscountDTO(discount.getId(),discount.getItem().getId(),discount.getQuantity(),discount.getPrice());
+ return respDiscountDTO;
+ }
+
+
+ public static PaymentDTO toPaymentDTO(Payment payment){
+ PaymentDTO respPaymentDTO;
+ respPaymentDTO = new PaymentDTO(payment.getId(),payment.getOrder().getId(),payment.getAmount());
+ return respPaymentDTO;
+ }
+
+ public static OrderDTO toOrderDTO(Order order){
+ OrderDTO respOrderDTO;
+ ArrayList list = new ArrayList<>();
+ for (OrderDetail orderDetail: order.getOrderDetails()
+ ) {
+ list.add(toDiscountDTO(orderDetail));
+ }
+ respOrderDTO = new OrderDTO(order.getId(),list);
+ return respOrderDTO;
+ }
+
+
+}
diff --git a/src/main/java/com/bootcamp2018/util/ModelUtils.java b/src/main/java/com/bootcamp2018/util/ModelUtils.java
new file mode 100644
index 0000000..5afd35e
--- /dev/null
+++ b/src/main/java/com/bootcamp2018/util/ModelUtils.java
@@ -0,0 +1,70 @@
+package com.bootcamp2018.util;
+
+import com.bootcamp2018.dao.ItemDAO;
+import com.bootcamp2018.dao.OrderDAO;
+import com.bootcamp2018.dao.PaymentDAO;
+import com.bootcamp2018.dto.*;
+import com.bootcamp2018.model.*;
+
+import java.util.ArrayList;
+
+public class ModelUtils {
+
+ public static Item toItem (ItemDTO itemDTO ){
+ Item item = new Item(itemDTO.getId(),itemDTO.getName(),itemDTO.getPrice());
+ return item;
+ }
+ public static Client toClient (ClientDTO clientDTO ){
+ ArrayList payments = new ArrayList<>();
+ PaymentDAO paymentDAO = new PaymentDAO();
+ for (Integer idPayment: clientDTO.getPayments()
+ ) {
+ Payment payment;
+ payment = paymentDAO.get(new Payment(idPayment));
+ payments.add(payment);
+ }
+ Client client = new Client(clientDTO.getId(),clientDTO.getName(),clientDTO.getLastName(),clientDTO.getDescription(),payments);
+ return client;
+ }
+
+ public static OrderDetail toOrderDetail(OrderDetailDTO orderDetailDTO){
+ OrderDetail respOrederDetail;
+ ItemDAO itemDAO = new ItemDAO();
+ Item item;
+ item = itemDAO.retriveItem(orderDetailDTO.getIdItem());
+ respOrederDetail = new OrderDetail(item,orderDetailDTO.getQuantity(),orderDetailDTO.getPrice());
+ return respOrederDetail;
+ }
+
+ public static Discount toDiscount(DiscountDTO discountDTO){
+ Discount respDiscount;
+ ItemDAO itemDAO = new ItemDAO();
+ Item item;
+ item = itemDAO.retriveItem(discountDTO.getIdItem());
+ respDiscount = new Discount(discountDTO.getId(),item,discountDTO.getQuantity(),discountDTO.getPrice());
+ return respDiscount;
+ }
+
+ public static Payment toPayment(PaymentDTO paymentDTO){
+ Payment respPayment;
+ OrderDAO orderDAO = new OrderDAO();
+ Order order;
+ order = orderDAO.get(paymentDTO.getId());
+ respPayment = new Payment(paymentDTO.getId(),order,paymentDTO.getAmount());
+ return respPayment;
+ }
+
+ public static Order toOrder(OrderDTO orderDTO){
+ Order respOrder= new Order();
+ respOrder.setId(orderDTO.getId());
+ for (OrderDetailDTO orderDetailDTO: orderDTO.getOrderDetails()
+ ) {
+ OrderDetail orderDetail;
+ orderDetail = toOrderDetail(orderDetailDTO);
+ respOrder.getOrderDetails().add(orderDetail);
+ }
+ return respOrder;
+ }
+
+
+}
diff --git a/src/main/java/com/bootcamp2018/util/Utility.java b/src/main/java/com/bootcamp2018/util/Utility.java
deleted file mode 100644
index 563be9b..0000000
--- a/src/main/java/com/bootcamp2018/util/Utility.java
+++ /dev/null
@@ -1,25 +0,0 @@
-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/WEB-INF/beans.xml b/src/main/webapp/WEB-INF/beans.xml
index 08160bf..e0bb9c9 100644
--- a/src/main/webapp/WEB-INF/beans.xml
+++ b/src/main/webapp/WEB-INF/beans.xml
@@ -11,7 +11,7 @@
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
-
+
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index a0328fc..cd91e16 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -4,19 +4,22 @@
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
- spring-mvc-demo
+ juan
+
- MyDispatcher
+ dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
- /WEB-INF/spring-mvc-demo-servlet.xml
+ /WEB-INF/beans.xml
1
+
+
- MyDispatcher
+ dispatcher
/