From e386e204bbdc228fe6dc246f101c9f8823ec4a92 Mon Sep 17 00:00:00 2001
From: Rhys Nute <nuterd@cardiff.ac.uk>
Date: Mon, 11 Dec 2023 11:44:31 +0000
Subject: [PATCH] Fixed Database

---
 .../Organisation/organisationControllers.java | 38 +++++++++++++------
 .../SmartTowns/addTowns/addAddTowns.java      |  1 +
 .../addTowns/addAddTownsRepository.java       |  5 ++-
 .../addTowns/addAddTownsRepositoryJDBC.java   |  3 +-
 4 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/src/main/java/Team5/SmartTowns/Organisation/organisationControllers.java b/src/main/java/Team5/SmartTowns/Organisation/organisationControllers.java
index 76d93d7b..ba1c4ea7 100644
--- a/src/main/java/Team5/SmartTowns/Organisation/organisationControllers.java
+++ b/src/main/java/Team5/SmartTowns/Organisation/organisationControllers.java
@@ -1,51 +1,65 @@
 package Team5.SmartTowns.Organisation;
 
 import Team5.SmartTowns.Data.Location;
-import Team5.SmartTowns.Data.addAddTownsRepository;
-import Team5.SmartTowns.Landmarks.Landmarks;
+import Team5.SmartTowns.addTowns.addAddTowns;
+import Team5.SmartTowns.addTowns.addAddTownsRepository;
 import Team5.SmartTowns.Towns.Towns;
 import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.servlet.ModelAndView;
-import org.springframework.stereotype.Controller;
+
+import java.util.List;
+
 @Controller
 public class organisationControllers {
     @GetMapping("/localauthorities")
-    public ModelAndView getLocalAuthoritiesPage(){
+    public ModelAndView getLocalAuthoritiesPage() {
         ModelAndView modelAndView = new ModelAndView("WorkWith/local-authorities.html");
         return modelAndView;
     }
+
     @GetMapping("/businesses")
-    public ModelAndView getBusinessPage(){
+    public ModelAndView getBusinessPage() {
         ModelAndView modelAndView = new ModelAndView("WorkWith/business.html");
         return modelAndView;
     }
+
     @GetMapping("/consumers")
-    public ModelAndView getConsumersPage(){
+    public ModelAndView getConsumersPage() {
         ModelAndView modelAndView = new ModelAndView("WorkWith/consumers.html");
         return modelAndView;
     }
+
     @GetMapping("/towns")
-    public ModelAndView getTownsPage(){
+    public ModelAndView getTownsPage() {
         ModelAndView modelAndView = new ModelAndView("WorkWith/towns.html");
+        List<addAddTowns> Towns = addAddTownsRepository.getAllAddTowns();
+        modelAndView.addObject("towns", Towns);
         return modelAndView;
     }
     @Autowired
     private addAddTownsRepository addAddTownsRepository;
+
     @PostMapping("/townssub")
-    public ModelAndView townsSent(@Valid @ModelAttribute("towns-data")Towns towns, BindingResult bindingResult, Model model ) {
+    public ModelAndView townsSent(@Valid @ModelAttribute("towns-data") addAddTowns towns, BindingResult bindingResult, Model model) {
+        List<addAddTowns> addtowns = addAddTownsRepository.getAllAddTowns();
+
         if (bindingResult.hasErrors()) {
             ModelAndView modelAndView = new ModelAndView("towns-data", model.asMap());
             return modelAndView;
         } else {// converts user input using the organisation constructor into a submittable format to the sql table
 
-            Towns tow= new Towns(towns.getTownName(), towns.getAddress1(), towns.getAddress2(), towns.getCity(), towns.getCounty(), towns.getPostcode());
-            System.out.println(bus);
-            addAddTownsRepository.addAddTown(tow); //add new towns to Add Towns table
+            addAddTowns tow = new addAddTowns(towns.getTownName(), towns.getAddress1(), towns.getAddress2(), towns.getCity(), towns.getCounty(), towns.getPostcode());
+            System.out.println(tow);
+            addAddTownsRepository.addTown(tow); //add new towns to Add Towns table
             ModelAndView modelAndView = new ModelAndView("redirect:/businesses");
             return modelAndView;
         }
+    }
 }
diff --git a/src/main/java/Team5/SmartTowns/addTowns/addAddTowns.java b/src/main/java/Team5/SmartTowns/addTowns/addAddTowns.java
index a0a196c1..302caf29 100644
--- a/src/main/java/Team5/SmartTowns/addTowns/addAddTowns.java
+++ b/src/main/java/Team5/SmartTowns/addTowns/addAddTowns.java
@@ -48,4 +48,5 @@ public class addAddTowns {
     public String getPostcode() {
         return postcode;
     }
+
 }
diff --git a/src/main/java/Team5/SmartTowns/addTowns/addAddTownsRepository.java b/src/main/java/Team5/SmartTowns/addTowns/addAddTownsRepository.java
index 6eb35088..c1c11ee3 100644
--- a/src/main/java/Team5/SmartTowns/addTowns/addAddTownsRepository.java
+++ b/src/main/java/Team5/SmartTowns/addTowns/addAddTownsRepository.java
@@ -6,6 +6,7 @@ import Team5.SmartTowns.Towns.Towns;
 import java.util.List;
 
 public interface addAddTownsRepository {
-    List<Location> getAllAddTowns();
-    void addAddTowns(Towns tow);
+    List<addAddTowns> getAllAddTowns();
+
+    void addTown(addAddTowns tow);
 }
diff --git a/src/main/java/Team5/SmartTowns/addTowns/addAddTownsRepositoryJDBC.java b/src/main/java/Team5/SmartTowns/addTowns/addAddTownsRepositoryJDBC.java
index 9be19b9e..c1cf738a 100644
--- a/src/main/java/Team5/SmartTowns/addTowns/addAddTownsRepositoryJDBC.java
+++ b/src/main/java/Team5/SmartTowns/addTowns/addAddTownsRepositoryJDBC.java
@@ -26,12 +26,13 @@ public class addAddTownsRepositoryJDBC implements addAddTownsRepository {
                 rs.getString("postcode")
         );
     }
-
+    @Override
     public List<addAddTowns> getAllAddTowns() {
         String sql = "SELECT * FROM addTowns";
         return jdbc.query(sql, addTownsMapper);
     }
 
+
     @Override
     public void addTown(addAddTowns tow) {
         String sql = "insert into addTowns( townName, address1, address2, city, county, postcode) values (?, ?, ?, ?,  ?, ?)";
-- 
GitLab