Skip to content

Commit

Permalink
Merge pull request #27 from maxseidlitz/MaxTry
Browse files Browse the repository at this point in the history
Zugriff auf Datenbank der Gegenstände in HTML-Formnular, Controller und Model-Klasse eingebaut. FERTIG!
  • Loading branch information
maxseidlitz authored Aug 10, 2021
2 parents bd6298b + 97f3fd6 commit bdc0cd4
Show file tree
Hide file tree
Showing 9 changed files with 100 additions and 182 deletions.
Binary file modified .vs/SharingCulture.com/v15/.suo
Binary file not shown.
Binary file modified .vs/SharingCulture/v15/.suo
Binary file not shown.
Binary file modified .vs/slnx.sqlite
Binary file not shown.
43 changes: 42 additions & 1 deletion SharinCulture.com/Controllers/GegenstandController.vb
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,51 @@ Namespace Controllers
Public Class GegenstandController
Inherits System.Web.Mvc.Controller

'Verbindung zur Datenbank
Private db As Datenbank1Entities

' Konstruktor muss Datenbankverbindung initialiseren
Public Sub New()
MyBase.New() ' Konstruktor der Oberklasse aufrufen

db = New Datenbank1Entities
End Sub

'Destruktor für Controller, der DB-Verbindung beendet
Protected Overrides Sub Dispose(disposing As Boolean)
db.Dispose()

MyBase.Dispose(disposing) 'Aufrufen des Oberklassen-Destruktors
End Sub



' GET: Gegenstand
<HttpGet>
Function UebersichtAlleGegenstaende() As ActionResult
Dim geg As Gegenstand
Dim gegEntity As GegenstandEntity
Dim katEntity As KategorieEntity
Dim vmGegenstaendeListe As GegenstaendeListe
Return View(vmGegenstaendeListe) 'Übergabe der Liste aller Gegenstände, damit diese dann in der View per Zäherschleife ausgelesen werden kann

vmGegenstaendeListe = New GegenstaendeListe

' Jede Zeile in der Tabelle tblGegenstaende als Objekt der Entity-Klasse durchlaufen
For Each gegEntity In db.tblGegenstand.ToList()
katEntity = gegEntity.tblKategorie ' Vom Datensatz aus tblGegenstaende in tblKategorien navigieren

geg = New Gegenstand(gegEntity) ' Objekt der Entity-Klasse zur Initialisierung eines Objekts der Model-Klasse nutzen

' Prüfen, ob es eine Kategorie gibt
If katEntity IsNot Nothing Then
' Umwandlung des Objekts der Entity-Klasse in Objekt der Model-Klasse
geg.Kategorie = New Kategorie(katEntity)
End If

vmGegenstaendeListe.hinzufuegen(geg) ' Model-Objekt zur Liste hinzufügen
Next

Return View(vmGegenstaendeListe) 'Übergabe der Liste aller Gegenstände, damit diese dann in der View per Zäherschleife ausgelesen werden kann
End Function

End Class
Expand Down
20 changes: 14 additions & 6 deletions SharinCulture.com/Models/Entwurfsklassendiagramm.cd
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,18 @@
</Class>
<Class Name="SharingCulture.com.NachbarschaftenListe">
<Position X="12.25" Y="0.5" Width="1.75" />
<AssociationLine Name="Nachbarschaft" Type="SharingCulture.com.Nachbarschaft">
<MemberNameLabel ManuallyPlaced="true" ManuallySized="true">
<Position X="0.11" Y="0.06" Height="0.182" Width="1.267" />
</MemberNameLabel>
</AssociationLine>
<TypeIdentifier>
<HashCode>AAAAAAAAAAQAAABAAAAAAAIAAAAAABAAAAAAAACAAAA=</HashCode>
<FileName>Models\NachbarschaftenListe.vb</FileName>
</TypeIdentifier>
<ShowAsCollectionAssociation>
<Property Name="Nachbarschaft" />
</ShowAsCollectionAssociation>
</Class>
<Class Name="SharingCulture.com.Ausleihe">
<Position X="3.75" Y="8.25" Width="2.25" />
Expand All @@ -55,7 +63,7 @@
</MemberNameLabel>
</AssociationLine>
<TypeIdentifier>
<HashCode>AAAAAAAAAEAACAAAACAAAQAQCAAAAAAAIAABAAAAAAA=</HashCode>
<HashCode>AAAACAAAAEAACAAAACAAAQAQCAAAAAAAIAABAAAAAAA=</HashCode>
<FileName>Models\Ausleihe.vb</FileName>
</TypeIdentifier>
<ShowAsAssociation>
Expand All @@ -66,11 +74,11 @@
<Position X="1.25" Y="8.25" Width="1.5" />
<AssociationLine Name="Ausleihen" Type="SharingCulture.com.Ausleihe">
<MemberNameLabel ManuallyPlaced="true" ManuallySized="true">
<Position X="-0.007" Y="0.162" Height="0.182" Width="0.985" />
<Position X="0.018" Y="0.187" Height="0.182" Width="0.985" />
</MemberNameLabel>
</AssociationLine>
<TypeIdentifier>
<HashCode>EAAAAAAAAAAAAAAAAAAAAAIAAAAAABEAAAAAAAAAAAA=</HashCode>
<HashCode>EAAAAAAAAAAAAAAAAAAAAAIAAAAAABEAEAAAAAAAAAA=</HashCode>
<FileName>Models\AusleihenListe.vb</FileName>
</TypeIdentifier>
<ShowAsCollectionAssociation>
Expand All @@ -84,7 +92,7 @@
<FileName>Models\Nachbarschaft.vb</FileName>
</TypeIdentifier>
</Class>
<Class Name="SharingCulture.com.KategorieListe">
<Class Name="SharingCulture.com.KategorienListe">
<Position X="1.25" Y="0.5" Width="1.5" />
<AssociationLine Name="Kategorien" Type="SharingCulture.com.Kategorie">
<MemberNameLabel ManuallyPlaced="true" ManuallySized="true">
Expand All @@ -107,7 +115,7 @@
</MemberNameLabel>
</AssociationLine>
<TypeIdentifier>
<HashCode>AAAAAAAAAAAIAAAAAAAAAAIAAAAAABAAAAgAAAAAAAA=</HashCode>
<HashCode>AAAAAAAAAAAAAAAAAAAAAAIAAAAAABAAAIgAAAAAAAA=</HashCode>
<FileName>BenutzerListe.vb</FileName>
</TypeIdentifier>
<ShowAsCollectionAssociation>
Expand All @@ -122,7 +130,7 @@
</MemberNameLabel>
</AssociationLine>
<TypeIdentifier>
<HashCode>AAAEAAAAAAAAAAAAAAAAAAIAAAAIABAAAAAAAAAAAAA=</HashCode>
<HashCode>AQAAAAAAAAAAAAAAAAAAAAIAAAAIABAAAAAAAAAAAAA=</HashCode>
<FileName>Models\GegenstaendeListe.vb</FileName>
</TypeIdentifier>
<ShowAsCollectionAssociation>
Expand Down
2 changes: 1 addition & 1 deletion SharinCulture.com/Models/GegenstaendeListe.vb
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Public Class GegenstaendeListe
End Set
End Property

Public Sub LadenAlleGegenstände()
Public Sub LadenAlleGegenstawnde()

End Sub

Expand Down
19 changes: 10 additions & 9 deletions SharinCulture.com/Models/Gegenstand.vb
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,16 @@ Public Class Gegenstand
End Sub

'*** Auskommentiert am 3.8. - Aufgrund desFehlers das mbinaryBild nicht im DatTyp short? gespeichert werden kann | Wir planen Bilder komplett raus zu lassen!
'Public Sub New(pGegenstandEntity As GegenstandEntity, pKategorie As KategorieEntity)
' mbinaryBild = pGegenstandEntity.gegBild
' mbolIstGebucht = pGegenstandEntity.gegIstGebucht
' mintID = pGegenstandEntity.gegID_
' mintNachbarschaft = pGegenstandEntity.gegnachIDFk
' mstrBenutzername = pGegenstandEntity.gegbenBenutzernameFk
' mstrBezeichnung = pGegenstandEntity.gegBezeichnung
'
'End Sub
Public Sub New(pGegenstandEntity As GegenstandEntity)
'mbinaryBild = pGegenstandEntity.gegBild
mbolIstGebucht = pGegenstandEntity.gegIstGebucht
mintID = pGegenstandEntity.gegID_
mintNachbarschaft = pGegenstandEntity.gegnachIDFk

mstrBenutzername = pGegenstandEntity.gegbenBenutzernameFk
mstrBezeichnung = pGegenstandEntity.gegBezeichnung

End Sub

Public Property strBezeichnung As String
Get
Expand Down
5 changes: 5 additions & 0 deletions SharinCulture.com/Models/Kategorie.vb
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ Public Class Kategorie
mstrBezeichnung = pstrBezeichnung
End Sub

Public Sub New(pkatEntity As KategorieEntity)
mintID = pkatEntity.katID
mstrBezeichnung = pkatEntity.katBezeichnung
End Sub

Property intID As Integer
Get
Return mintID
Expand Down
193 changes: 28 additions & 165 deletions SharinCulture.com/Views/Gegenstand/UebersichtAlleGegenstaende.vbhtml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@ModelType SharingCulture.com.GegenstandViewModel
@ModelType SharingCulture.com.GegenstaendeListe

@Code
Layout = Nothing
Expand All @@ -12,168 +12,31 @@ End Code
<link rel="stylesheet" href="~/Content/CSS.css" type="text/css" />
<title>Übersicht alle Gegenstände</title>
</head>
<body>


<!--Linker Block für die Navigation
div class "Primaernavigation"-->
<div>
<h1>Navigation</h1>
</div>

<div class="Primaernavigation">
<img src="../Content/Bilder/typ.jpg" style="float:left;width:10%" />

<label style="text-align: left">Name, Vorname:</label> <br />
<input type="text" value="Dent, Arthur" /> <br />
<label>Community:</label> <br />
<input type="text" value="Studiwohnheim Prenzlberg" /> <br />


<button type="button">Startseite</button> <br />
<button type="button">Alle verfügbaren Gegenstände</button> <br />
<button type="button">Meine geliehenen Gegenstände</button> <br />
<button type="button">Meine angebotenen Gegenstände</button> <br />
<button type="button">Meldungen</button> <br />
</div>


<!-- Tabpanel zur Navigation-->
<p>
<a href="frmÜbersichtAlleGegenstände.html">Ausleihbare Gegenstände</a>
<a href="frmNeuesAngebot.html">Neues Angebot erstellen</a>
<a href="frmNeuerSuchauftrag.html">Neuen Suchauftrag anlegen</a>
</p>

<div class="items">

<!--TODO: hier ist noch einige Verweise so, dass sie auf Websites verweisen (../Webseiten/xyz.html).
Diese Verweise müssen mit HTML-Helpern ausgestattet werden.-->

<p id="item1">
<!--Oberer Block mit Titel, Suchleiste und Neuerstellung-->
<div class="topnav">
<form>
<input type="text" placeholder="Search..">
<input type="checkbox" id=gegenstaende name=gegenstaende value="Gegenstände">
<label for=gegenstaende>Gegenstände</label>
<input type="checkbox" id=raeume name=raeume value="Räume">
<label for=raeume>Räume</label>
<br />
</form>
</div>

<!-- NEUE TABELLE
Die eingefügten Gegenstände dienen vorerst als Platzhalter und sollen nachher durch eine Eingabe ersetzt werden
L.S. 16.05.2021 18 Uhr-->
<!--Ab hier sind Beipsieldaten eingetragen! 30.6.21; Max Seidlitz -->
<!--Hier müssen dann mit HTML-Helpern die Daten aus der DB gelesen werden.-->
<table class="tblAlleGegenstaende">
<thead>
<tr>
<th>Bild</th>
<th>Bezeichnung</th>
<th>Kategorie</th>
<th>Leihende Person</th>
<th>Details</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="5">
<div class="links">
<a href="#">&laquo;</a> <a class="active" href="#">1</a> <a href="#">2</a> <a href="#">3</a> <a href="#">4</a> <a href="#">&raquo;</a>
</div>
</td>
</tr>
</tfoot>
<tbody>
<tr>
<td><img src="../Content/Bilder/schaufel.jpg" style="float:left;width: 240px;" /></td>
<td>Schaufel</td>
<td>Garten</td>
<td>Leonard Sinden</td>
<td><button type="button" style="width: 200px; height: 100px;">Details</button></td>
</tr>
<tr>
<td><img src="../Content/Bilder/Akkuschrauber.jpg" style="float:left;width: 240px;" /></td>
<td>Akkuschrauber</td>
<td>Werkzeug</td>
<td>Max Seidlitz</td>
<td><a href="../Webseiten/dlgBeispielDialog.html"><button type="button" style="width: 200px; height: 100px;">Details</button></a></td>
</tr>
<tr>
<td><img src="../Content/Bilder/kaffemühle.jpg" style="float:left;width: 240px;" /></td>
<td>Kaffeemühle</td>
<td>Küchenutensilien</td>
<td>Carolina Kowando</td>
<td><button type="button" style="width: 200px; height: 100px;">Details</button></td>
</tr>
<tr>
<td><img src="../Content/Bilder/vacuum-24229_1280.png" style="float:left;width: 240px;"</td>
<td>Staubsauger</td>
<td>Haushalt</td>
<td>Alexandra Bendzko</td>
<td><button type="button" style="width: 200px; height: 100px;">Details</button></td>
</tr>
<tr>
<td><img src="../Content/Bilder/lastenfahrrad.jpg" style="float:left;width:240px"></td>
<td>Lastenfahrrad</td>
<td>Mobilität</td>
<td>Leonard Sinden</td>
<td><button type="button" style="width: 200px; height: 100px;">Details</button></td>
</tr>
</tbody>
</tr>
</table>

<!-- Alte Tabelle Auskommentiert
<p>
<table style="width:100%", class=t1>
<tr>
<th>Bild</th>
<th>Beschreibung</th>
<th>Kategorie</th>
<th>Leihende Person</th>
<th> </th>
</tr>
<tr>
<td style="height: 240px; width: 240px;"><img src="../Bilder/schaufel.jpg" style="float:left;width: 240px;" /></td>
<td>Schaufel</td>
<td>Haushalts- und gartengegenstände</td>
<td>Leonard Sinden</td>
<td style="height: 200px; width: 100px"><button type="button" style="width: 200px; height: 100px;">Details</button></td>

</tr>

<tr>
<td style="height: 240px; width: 240px;"><img src="../Bilder/Akkuschrauber.jpg" style="float:left;width: 240px;" /></td>
<td>Akkuschrauber</td>
<td>Werkzeug</td>
<td>Max Seidlitz</td>
<td style="height: 200px; width: 100px"><button type="button" style="width: 200px; height: 100px;">Details</button></td>
</tr>

<tr>
<td style="height: 240px; width: 240px;"><img src="../Bilder/kaffemühle.jpg" style="float:left;width: 240px;" /></td>
<td>Kaffeemühle</td>
<td>Küchenutensilien</td>
<td>Carolina Kowando</td>
<td style="height: 200px; width: 100px"><button type="button" style="width: 200px; height: 100px;">Details</button></td>
</tr>
</table>
</p>
-->



</p>



</div>



</body>
<body>
<h1>Übersicht aller Gegenstände</h1>
<p>hier sehen Sie alle verfügbaren Gegenstände.</p>
<table>
<tr>
<th>ID</th>
<th>Bild</th>
<th>Bezeichnung</th>
<th>Kategorie</th>
<th>Leihende Person</th>
<th>Details</th>
</tr>

@For Each geg In Model.Gegenstaende
@<tr>
<td>@geg.intID</td>
<td>@geg.binaryBild</td>
<td>@geg.strBezeichnung</td>
<td>@geg.Kategorie</td>
<td>@geg.strBenutzername</td>
<td>
@Html.ActionLink("Details", "DetailsAnzeigen", New With {.ID = geg.intID})
</td>
</tr>
Next
</table>
</body>
</html>

0 comments on commit bdc0cd4

Please sign in to comment.