From ebcfcc63e0320cdb6e0fd5ce76efcdb88892fd3e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stefan=20Kannam=C3=BCller?=
 <stefan.kannamueller@stud.th-deg.de>
Date: Sun, 5 Jul 2020 14:09:47 +0200
Subject: [PATCH] 1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stefan Kannamüller <stefan.kannamueller@stud.th-deg.de>
---
 .../thd/pms/controller/BuchungController.java | 44 +++++++------------
 .../thd/pms/controller/KundeController.java   |  5 +--
 .../thd/pms/controller/ZimmerController.java  | 21 ---------
 .../de/thd/pms/service/ZimmerService.java     | 34 ++------------
 .../src/main/resources/application.properties |  3 +-
 .../src/main/resources/data-zimmer.sql        |  5 ++-
 .../src/main/resources/templates/buchung.html | 17 +++++--
 .../src/main/resources/templates/kunde.html   |  6 +--
 .../main/resources/templates/list-zimmer.html | 33 ++++++++++++++
 .../src/main/resources/templates/menu.html    |  4 +-
 10 files changed, 76 insertions(+), 96 deletions(-)
 create mode 100644 schleicherhof_pms/src/main/resources/templates/list-zimmer.html

diff --git a/schleicherhof_pms/src/main/java/de/thd/pms/controller/BuchungController.java b/schleicherhof_pms/src/main/java/de/thd/pms/controller/BuchungController.java
index dcbdcbf..6c51018 100644
--- a/schleicherhof_pms/src/main/java/de/thd/pms/controller/BuchungController.java
+++ b/schleicherhof_pms/src/main/java/de/thd/pms/controller/BuchungController.java
@@ -1,6 +1,8 @@
 package de.thd.pms.controller;
 
 
+import java.beans.JavaBean;
+
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -10,34 +12,21 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.servlet.ModelAndView;
-
 import de.thd.pms.model.Buchung;
-import de.thd.pms.model.Kunde;
 import de.thd.pms.service.BuchungService;
-import de.thd.pms.service.KundeService;
 import de.thd.pms.service.ZimmerService;
 
+@JavaBean
 @Controller
 @RequestMapping ("/buchung")
 public class BuchungController {
 	private static Logger log = LogManager.getLogger(BuchungController.class);
-	
-	@Autowired
-	private ZimmerService zimmerService;
 
 	@Autowired
 	private BuchungService buchungService;
-
-	@Autowired
-	private KundeService kundeService;
 	
-	@RequestMapping(value="/buchung1",method=RequestMethod.GET)
-	   public ModelAndView zimmer1() {
-		   ModelAndView mv = new ModelAndView();
-		   mv.addObject("title3", "Buchung");
-		   mv.setViewName("buchung");
-		   return mv;
-		   	}
+	@Autowired
+	private ZimmerService zimmerService;
 	
 	
 	@RequestMapping(value="/edit2", method=RequestMethod.GET)
@@ -58,7 +47,7 @@ public class BuchungController {
 	
 	
 	
-	@RequestMapping(value="/save2", method=RequestMethod.GET)
+	@RequestMapping(value="/save2", method=RequestMethod.POST)
     public String save(Buchung buchung, Model model) {
         
         buchungService.save(buchung);
@@ -66,18 +55,19 @@ public class BuchungController {
         return "redirect:edit?id=" + buchung.getId();
     }
 	
+    @RequestMapping(value="/findAll", method=RequestMethod.GET)
+    public ModelAndView findAll() {
+		ModelAndView mv = new ModelAndView();
+		mv.addObject("title", "Zimmer");
+		mv.addObject("message", "Alle Zimmer.");
+		mv.addObject("zimmer", zimmerService.findAll());
+		mv.setViewName("list-zimmer");
+		return mv;
+    }
+    
+	
 	
 	
-	/*@RequestMapping("/buchung")
-	public String zimmer(Integer anzbett, Integer preisErw, Integer preisKind) {
-		
-		final long zimmerid;
-		
-		log.info("zimmer" + anzbett + " " + preisErw + " " + preisKind);
-		zimmerid = zimmerService.createZimmer(anzbett, preisErw, preisKind).getId();
-		buchungService.createBuchung(zimmerid);
-		return "home";
-	}*/
 	
 	
 	
diff --git a/schleicherhof_pms/src/main/java/de/thd/pms/controller/KundeController.java b/schleicherhof_pms/src/main/java/de/thd/pms/controller/KundeController.java
index 62205eb..ff07869 100644
--- a/schleicherhof_pms/src/main/java/de/thd/pms/controller/KundeController.java
+++ b/schleicherhof_pms/src/main/java/de/thd/pms/controller/KundeController.java
@@ -34,10 +34,7 @@ public class KundeController {
 	    	if (id == null) {
 	    		mv.addObject(new Kunde());
 	    	} else { 
-	    		
-				
-	    		
-				mv.addObject(kundeService.findById(id));
+	    		mv.addObject(kundeService.findById(id));
 	    	}
 	    	mv.setViewName("kunde");
 	    	return mv;
diff --git a/schleicherhof_pms/src/main/java/de/thd/pms/controller/ZimmerController.java b/schleicherhof_pms/src/main/java/de/thd/pms/controller/ZimmerController.java
index 41f72c5..561ba5d 100644
--- a/schleicherhof_pms/src/main/java/de/thd/pms/controller/ZimmerController.java
+++ b/schleicherhof_pms/src/main/java/de/thd/pms/controller/ZimmerController.java
@@ -25,27 +25,6 @@ public class ZimmerController {
 	@Autowired
 	private BuchungService buchungService;
 	
-		
-	@RequestMapping("/createzimmer1")
-	public String zimmer1(Integer anzbett, Integer preisErw, Integer preisKind, String zimmername) {
-		
-		log.info("zimmer" + anzbett + " " + preisErw + " " + preisKind + " " + zimmername);
-		
-		zimmerService.createZimmer1(anzbett, preisErw, preisKind, zimmername);
-		return "home";
-	}
-	
-	@RequestMapping("/createzimmer2")
-	public long zimmer2(Integer anzbett, Integer preisErw, Integer preisKind, String zimmername) {
-		
-		final long zimmerid;
-		
-		log.info("zimmer" + anzbett + " " + preisErw + " " + preisKind + " " + zimmername);
-		
-		zimmerid = zimmerService.createZimmer2(anzbett, preisErw, preisKind, zimmername).getId();
-		
-		return zimmerid;
-	}
 	
 	@RequestMapping(value="/zimmer1", method=RequestMethod.GET)
 	   public ModelAndView zimmer1() {
diff --git a/schleicherhof_pms/src/main/java/de/thd/pms/service/ZimmerService.java b/schleicherhof_pms/src/main/java/de/thd/pms/service/ZimmerService.java
index d9539e7..71071e2 100644
--- a/schleicherhof_pms/src/main/java/de/thd/pms/service/ZimmerService.java
+++ b/schleicherhof_pms/src/main/java/de/thd/pms/service/ZimmerService.java
@@ -16,37 +16,9 @@ public class ZimmerService {
 	@Autowired
 	private ZimmerRepository zimmerRepository;
 	
-	public Zimmer createZimmer1(Integer anzbett, Integer preisErw, Integer preisKind,String zimmername) {
-		
-				
-		Zimmer z = new Zimmer();
-		z.setZimmername(zimmername = "Zimmer 1");
-		z.setAnzbett(anzbett = 4);
-		z.setPreisErw(preisErw = 40 );
-		z.setPreisKind(preisKind = 15);
-		
-		log.info("createZimmer" + z);
-		
-		
-		zimmerRepository.save(z);
-		return z;
-	
-	}
-	
-	public Zimmer createZimmer2(Integer anzbett, Integer preisErw, Integer preisKind,String zimmername) {
-		
-		
-		Zimmer z = new Zimmer();
-		z.setZimmername(zimmername = "Zimmer 2");
-		z.setAnzbett(anzbett = 4);
-		z.setPreisErw(preisErw = 40 );
-		z.setPreisKind(preisKind = 15);
-		
-		log.info("createZimmer" + z);
-		
-		
-		zimmerRepository.save(z);
-		return z;
+	public Iterable<Zimmer> findAll() {
+		return zimmerRepository.findAll();
 	}
 	
+
 }
diff --git a/schleicherhof_pms/src/main/resources/application.properties b/schleicherhof_pms/src/main/resources/application.properties
index 38227a5..e65b5a6 100644
--- a/schleicherhof_pms/src/main/resources/application.properties
+++ b/schleicherhof_pms/src/main/resources/application.properties
@@ -3,4 +3,5 @@ spring.datasource.url=jdbc:mysql://localhost:3306/schleicherhof_pms
 spring.datasource.username=
 spring.datasource.password=
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.data=data-zimmer.sql
+spring.datasource.initialization-mode=always
+spring.datasource.data=classpath:data-zimmer.sql
diff --git a/schleicherhof_pms/src/main/resources/data-zimmer.sql b/schleicherhof_pms/src/main/resources/data-zimmer.sql
index 60973bd..00b90a1 100644
--- a/schleicherhof_pms/src/main/resources/data-zimmer.sql
+++ b/schleicherhof_pms/src/main/resources/data-zimmer.sql
@@ -1,2 +1,3 @@
-INSERT INTO zimmer (id, anzbett, preisErw, preisKind, zimmername) VALUES (1, 4, 40, 15, 'Zimmer 1');
-INSERT INTO zimmer (id, anzbett, preisErw, preisKind, zimmername) VALUES (2, 2, 25, 5, 'Zimmer 2');
\ No newline at end of file
+INSERT INTO zimmer (id, zimmername, anzbett, preis_erw, preis_kind )
+VALUES (1,'Zimmer 1',4,50,15)
+ON DUPLICATE KEY UPDATE id=id;
\ No newline at end of file
diff --git a/schleicherhof_pms/src/main/resources/templates/buchung.html b/schleicherhof_pms/src/main/resources/templates/buchung.html
index 8f92199..8d16d87 100644
--- a/schleicherhof_pms/src/main/resources/templates/buchung.html
+++ b/schleicherhof_pms/src/main/resources/templates/buchung.html
@@ -42,16 +42,25 @@
 					placeholder="kind_anz" name="kind_anz" th:value="*{kind_anz}" />
 			</div>
 			<div class="field required">
-				<label for="belegtbis">Zimmer 1</label>
+				<label for="zimmerid">Zimmer 1</label>
+				
+				<?php
+				$sql = "SELECT id FROM zimmer
+                WHERE zimmername = Zimmer 1;
+				?>
 				
 				<input type="checkbox" class="form-control" id="zimmerid"
-					placeholder="zimmerid" name="zimmerid" th:href="@{~/zimmer/createzimmer1}" />
+					placeholder="zimmerid" name="zimmerid" th:value="${sql}" />
 			</div>
 			<div class="field required">
-				<label for="belegtbis">Zimmer 2</label>
+				<label for="zimmerid">Zimmer 2</label>
+				<?php
+				$sql = "SELECT id FROM zimmer
+                WHERE zimmername = Zimmer 1;
+				?>
 				
 				<input type="checkbox" class="form-control" id="zimmerid"
-					placeholder="zimmerid" name="zimmerid" th:href="@{~/zimmer/createzimmer2}" />
+					placeholder="zimmerid" name="zimmerid" th:value="${sql}" />
 			</div>
 			
 			</div> 
diff --git a/schleicherhof_pms/src/main/resources/templates/kunde.html b/schleicherhof_pms/src/main/resources/templates/kunde.html
index 4ae6b7d..2eafa61 100644
--- a/schleicherhof_pms/src/main/resources/templates/kunde.html
+++ b/schleicherhof_pms/src/main/resources/templates/kunde.html
@@ -15,17 +15,17 @@
 		<form method="post" action="save" th:object="${kunde}">
 			 <div><input type="hidden" name="id" th:value="*{id}" /></div>
 			<div class="form-group">
-				<label for="vorname">Vorname von dir</label>
+				<label for="vorname">Vorname</label>
 				<input type="text" class="form-control" id="vorname"
 					placeholder="Vorname" name="vorname" th:value="*{vorname}" />
 			</div>
 			<div class="form-group">
-				<label for="nachname">Nachname von dir</label>
+				<label for="nachname">Nachname</label>
 				<input type="text" class="form-control" id="nachname"
 					placeholder="Nachname" name="nachname" th:value="*{nachname}" />
 			</div>
 			<div class="form-group">
-				<label for="telefon">Telefonnummer</label> <input type="text"
+				<label for="telefon">Telefonnummer</label> <input type="tel"
 					class="form-control" id="telefon" name="telefon"
 					th:value="*{telefon}" />
 			</div>
diff --git a/schleicherhof_pms/src/main/resources/templates/list-zimmer.html b/schleicherhof_pms/src/main/resources/templates/list-zimmer.html
new file mode 100644
index 0000000..e26d2b0
--- /dev/null
+++ b/schleicherhof_pms/src/main/resources/templates/list-zimmer.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
+<head th:include="head::head"></head>
+<body>
+	<div class="container-fluid">
+		<h1>Schleicherhof</h1>
+	</div>
+	<nav th:include="menu::menu"></nav>
+	<div class="container-fluid"><h2 th:text="${title}">Willkommen!</h2></div>
+	<div class="container-fluid"><p th:text="${message}">Text</p></div>
+	<div class="container-fluid">
+		<table class="table table-striped table-hover">
+			<tbody>
+				<tr>
+					<th th:if="${edit}"></th>
+					<th th:if="${edit}"></th>
+					<th>Anzahl Betten</th>
+					<th>Preis Erwachsener</th>
+					<th>Preis Kind</th>
+					<th>Zimmername</th>
+				</tr>
+				<tr th:each="zimmer : ${zimmer}">
+					<td th:text="${zimmer.zimmername}"></td>
+					<td th:text="${zimmer.preisErw}"></td>
+					<td th:text="${zimmer.preisKind}"></td>
+					<td th:text="${zimmer.anzbett}"></td>
+				</tr>
+			</tbody>
+		</table>
+	</div>
+	<div th:include="foot::foot"></div>
+</body>
+</html> 
\ No newline at end of file
diff --git a/schleicherhof_pms/src/main/resources/templates/menu.html b/schleicherhof_pms/src/main/resources/templates/menu.html
index bab5cae..fc370bd 100644
--- a/schleicherhof_pms/src/main/resources/templates/menu.html
+++ b/schleicherhof_pms/src/main/resources/templates/menu.html
@@ -21,7 +21,7 @@
         <li class="dropdown" >
           <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Zimmer <span class="caret"></span></a>
           <ul class="dropdown-menu">
-			<li><a th:href="@{~/zimmer/zimmer1}">Alle Zimmer</a></li>
+			<li><a th:href="@{~/buchung/findAll}">Alle Zimmer</a></li>
 			
           </ul>
         </li>
@@ -35,9 +35,7 @@
 			<li><a th:href="@{~/person/findAll}">Alle Kunden</a></li>
           </ul>
         </li>
-        <li><a th:href="@{~/fahrt/findAdmin}">Fahrten (admin)</a></li>
       </ul>
     </div><!-- /.navbar-collapse -->
-<!-- </div> -->
 </nav>
 </html>
\ No newline at end of file
-- 
GitLab