diff --git a/src/main/java/org/s4s/dao/ShopDAO.java b/src/main/java/org/s4s/dao/ShopDAO.java
index 740a95b35b6b62f45ec7ef78350c4f39aa48970c..6ff0f96553d91fbc8e48e226b5e71cf357adf1d8 100644
--- a/src/main/java/org/s4s/dao/ShopDAO.java
+++ b/src/main/java/org/s4s/dao/ShopDAO.java
@@ -5,10 +5,62 @@
  */
 package org.s4s.dao;
 
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.s4s.modell.dto.User;
+import org.s4s.services.db.JDBCConnection;
+
 /**
  *
- * @author Holger
+ * @author Benjamin
  */
-public interface ShopDAO {
+public class ShopDAO {
+    public static ShopDAO dao = null;
+    private final Statement statement = JDBCConnection.getInstance().getStatement();
+    private ShopDAO() {
+        
+    }
+
+    public static ShopDAO getInstance() {
+        if (dao == null) {
+            dao = new ShopDAO();
+        }
+        return dao;
+    }
+    
+    //Shop anhand von User/Besitzer auslesen
+    public boolean viewShop (User user) {
+        boolean result = true;
+        try {
+            ResultSet set = statement.executeQuery("SELECT *"
+                        + "FROM ERR.shop"
+                        + "WHERE besitzer = \'" + user.getBenutzername() + "\'");
 
+            if (set != null) {
+                result = false;
+            }
+        } catch (SQLException ex) {
+            Logger.getLogger(ShopDAO.class.getName()).log(Level.SEVERE, null, ex);
+        }
+        return result;
+    }
+    
+    public boolean addShop (User user, String shopName, String shopDescription) {
+        //Shop via Benutzername anlegen da dieser idR eindeutig ist
+        try {
+            // vorausgesetzt ID wird automatisch gesetzt von der DB
+            statement.execute("INSERT INTO ERR.shop (name, besitzer, beschreibung) VALUES (" 
+                    + shopName + "," 
+                    + user.getBenutzername() + "," 
+                    + shopDescription + ");");
+            return true;
+        } catch (SQLException ex) {
+            Logger.getLogger(ShopDAO.class.getName()).log(Level.SEVERE, null, ex);
+            return false;
+        }
+        
+    }
 }
diff --git a/src/main/java/org/s4s/dao/impl/ShopControl.java b/src/main/java/org/s4s/dao/impl/ShopControl.java
new file mode 100644
index 0000000000000000000000000000000000000000..86bac45639bd0eda2908da6f80af098631ebc4c3
--- /dev/null
+++ b/src/main/java/org/s4s/dao/impl/ShopControl.java
@@ -0,0 +1,47 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.s4s.dao.impl;
+
+import com.vaadin.server.VaadinSession;
+import com.vaadin.ui.UI;
+import java.sql.SQLException;
+import org.s4s.dao.ShopDAO;
+import org.s4s.services.util.Roles;
+import org.s4s.exceptions.OwnsAlreadyShop;
+import org.s4s.modell.dto.User;
+import org.s4s.services.util.Views;
+
+/**
+ *
+ * @author Benjamin
+ */
+public class ShopControl {
+    private static final User user = (User) VaadinSession.getCurrent().getAttribute(Roles.CURRENTUSER);
+
+    //bekommt User aus der View übergeben und prüft ob dieser schon in der Shopdb vorhanden ist (= hat schon einen Shop).
+    public static void checkUserShop( String shopName, String shopBeschreibung) throws OwnsAlreadyShop, SQLException {
+        boolean test = ShopDAO.getInstance().viewShop(user);
+        //Shop mit dem Nutzer schon vorhanden
+        if (test == false) {
+            throw new OwnsAlreadyShop("Sie besitzen bereits einen Shop!");
+        } //noch kein Shop vorhanden 
+        else {
+           addUserShop(shopName, shopBeschreibung);
+        }
+    }
+
+    private static void addUserShop(String shopName, String shopBeschreibung) throws SQLException {
+        boolean erstellung = ShopDAO.getInstance().addShop(user, shopName, shopBeschreibung);
+           
+        if (erstellung == true){
+            //Weiterleitung zur Shopseite, wenn Shop erfolgreich erstellt
+                 UI.getCurrent().getNavigator().navigateTo(Views.SHOP);
+        } else {
+              //Fehlerhandling 
+              throw new SQLException("Fehler beim Anlegen des Shops bitte noch einmal versuchen oder Programmierer kontaktieren!");
+        }
+    }
+}
diff --git a/src/main/java/org/s4s/exceptions/OwnsAlreadyShop.java b/src/main/java/org/s4s/exceptions/OwnsAlreadyShop.java
new file mode 100644
index 0000000000000000000000000000000000000000..e7ea93de0b5d8f0ecb611f6f3457ac5272946b91
--- /dev/null
+++ b/src/main/java/org/s4s/exceptions/OwnsAlreadyShop.java
@@ -0,0 +1,28 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.s4s.exceptions;
+
+/**
+ *
+ * @author Benjamin
+ */
+public class OwnsAlreadyShop extends Exception {
+
+    private String reason = null;
+
+    public String getReason() {
+        return reason;
+    }
+
+    public void setReason(String reason) {
+        this.reason = reason;
+    }
+    
+    public OwnsAlreadyShop (String reason) {
+        this.reason = reason;
+    }
+    
+}