Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Alexander Scharfenberg
Raumverwaltung_HMWK
Commits
b23c7212
Commit
b23c7212
authored
Oct 11, 2021
by
Alexander Scharfenberg
Browse files
commenting classes and windows
parent
46306ddc
Changes
20
Hide whitespace changes
Inline
Side-by-side
Raumverwaltung_HMWK/AddAssetWindow.xaml.cs
View file @
b23c7212
...
...
@@ -4,8 +4,28 @@ using System.Windows;
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Eine AddAssetWindow-Instanz wird über ein Room-Window erstellt, nachdem "Asset hinzufügen" ausgewählt wird.
* Das Fenster stellt ein Eingabe-Feld bereit, wobei über die Bestätigung mit "OK" ein neues Asset mit eindeutiger ID
* angelegt wird. Der Name des Assets kann variabel festgelegt werden.
*
* </summary>
*/
public
partial
class
AddAssetWindow
:
Window
{
/**
* <param name="RoomId">
* wird dem AddAssetWindow übergeben, um dem potentiell neuem Asset die Raum-Id zu hinterlegen
* </param>
* <param name="Assets">
* ist die angezeigte Asset-Liste für den spezifischen Raum bzw. das Room-Window. Die Liste wird übergeben, damit
* jedes Hinzufügen eines Assets Diese aktualisiert.
* </param>
*
*/
private
int
RoomId
;
private
ObservableCollection
<
Asset
>
Assets
;
public
AddAssetWindow
(
int
roomId
,
ObservableCollection
<
Asset
>
observableCollection
)
...
...
@@ -20,7 +40,7 @@ namespace Raumverwaltung_HMWK
if
(!
String
.
IsNullOrEmpty
(
Assetinput
.
Text
))
{
string
assetName
=
Assetinput
.
Text
;
//
insert Asset
//
füge das Asset in die SqLite-Datenbanktabelle "Asset" mit einer eindeutigen Id, einem Namen sowie einer Raum-Id ein.
SqLiteDataAccess
.
InsertAsset
(
RoomId
,
assetName
);
Assets
.
Add
(
new
Asset
(
SqLiteDataAccess
.
LatestAssetId
(),
assetName
,
RoomId
));
...
...
Raumverwaltung_HMWK/AddFloorWindow.xaml.cs
View file @
b23c7212
...
...
@@ -6,17 +6,41 @@ using Microsoft.Win32;
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Öffnet sich beim Anlegen eines neuen Stockwerks aus dem Main-Window heraus über den Reiter "Stockwerk-Anlegen".
* Einem ausgewählten Standort kann ein Stockwerk hinzugefügt werden.
* </summary>
*/
public
partial
class
AddFloorWindow
:
Window
{
/**
* <param name="buildings">
* Alle Standorte, die zum Zeitpunkt der Auswahl des Menüpunkts "Stockwerk-Anlegen" verfügbar sind.
* </param>
*/
private
List
<
Building
>
buildings
;
public
AddFloorWindow
()
{
InitializeComponent
();
//die Liste wird mit allen aktuellen Standorten aus der Datenbank befüllt
buildings
=
SqLiteDataAccess
.
GetLocations
();
StandortSelection
.
ItemsSource
=
buildings
;
}
/**
* <summary>
* Bezieht den Namen des neuen Stockwerks, den ausgewählten Standort sowie das ausgewählte Bild.
* Die Standortwahl sowie der Name sind Pflichtfelder, jedoch muss kein Bild ausgewählt werden.
* Der Pfad des Bilds wird so angepasst, dass Dieser relativ ist. Das Bild **muss** aus dem Image-Ordner ausgewählt werden,
* ansonsten schlägt die Auswahl fehl.
* </summary>
*/
private
void
AddFloor
(
object
sender
,
RoutedEventArgs
e
)
{
string
Floorname
=
StockwerkInput
.
Text
;
...
...
@@ -26,6 +50,8 @@ namespace Raumverwaltung_HMWK
if
(!
String
.
IsNullOrEmpty
(
Floorname
)
&&
StandortSelection
.
SelectedItem
!=
null
)
{
Building
selected
=
buildings
[
StandortSelection
.
SelectedIndex
];
// zu dem ausgewählten Standort werden alle Stockwerke geladen um zu überprüfen, ob es diesen Stockwerkbezeichner
// bereits gibt.
List
<
Floor
>
existingFloors
=
SqLiteDataAccess
.
GetFloorsToBuilding
(
selected
);
bool
found
=
false
;
for
(
int
i
=
0
;
i
<
existingFloors
.
Count
;
i
++)
...
...
@@ -40,6 +66,8 @@ namespace Raumverwaltung_HMWK
{
if
(
Imagepath
==
""
||
Imagepath
.
Contains
(
"Images"
))
{
// Falls kein Image ausgwählt wurde oder das Image aus dem Images-Ordner stammt, kann das Stock-
//werk angelegt werden.
SqLiteDataAccess
.
AddFloor
(
Floorname
,
Imagepath
,
selected
);
MessageBox
.
Show
(
"Stockwerk angelegt!"
,
"Erfolgreich:"
,
MessageBoxButton
.
OK
,
...
...
@@ -83,11 +111,18 @@ namespace Raumverwaltung_HMWK
{
Close
();
}
/**
* <summary>
* Über den Button "Suchen" wird die Funktion aufgerufen. Nur .png-Bilder werden im File-Dialog für den User
* zur Auswahl angezeigt. Die Bildsuche beginnt im Images-Ordner, aus welchem ausschließlich die Bilder verwendet werden sollen.
* </summary>
*/
private
void
SearchFile
(
object
sender
,
RoutedEventArgs
e
)
{
OpenFileDialog
openFileDialog
=
new
OpenFileDialog
();
//Filterung der Files
openFileDialog
.
Filter
=
"Image Files|*.png;*.PNG"
;
//Setzen des Startordners bei der Suche
string
CombinedPath
=
Path
.
Combine
(
Directory
.
GetCurrentDirectory
(),
"../../Images"
);
openFileDialog
.
InitialDirectory
=
Path
.
GetFullPath
(
CombinedPath
);
if
(
openFileDialog
.
ShowDialog
()
==
true
)
...
...
Raumverwaltung_HMWK/AddLocationWindow.xaml.cs
View file @
b23c7212
...
...
@@ -4,8 +4,16 @@ using System.Windows;
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Ein neuer Standort kann hinzugefügt werden. Alle Namen der Standorte müssen eindeutig sein. Kein Name sowie ein
* belegter Name gelten als ungültige Eingaben.
* </summary>
*/
public
partial
class
AddLocationWindow
:
Window
{
public
AddLocationWindow
()
{
InitializeComponent
();
...
...
Raumverwaltung_HMWK/AddRoomWindow.xaml.cs
View file @
b23c7212
...
...
@@ -3,8 +3,31 @@ using System.Windows;
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Dieses Fenster kann geöffnet werden, indem ein beliebiges Floor-Window und der Reiter "Raum-Anlegen" ausgewählt wurde.
* Der anzulegende Raum wird der Stockwerk-Instanz hinzugefügt, welche im Floor-Window hinterlegt ist, sodass er sich
* immer an der Stockwerkinstanz orientiert.
* </summary>
*/
public
partial
class
AddRoomWindow
:
Window
{
/**
* <param name="name">
* Der Name des gewünschten Raums. Er muss global eindeutig sein (über alle Standorte hinaus).
* </param>
* <param name="grösse">
* Die Raumgröße in Quadratmetern gemessen. Der Faktor ist wichtig bei der Entscheidung der Arbeitsplätze pro Raum.
* </param>
* <param name="arbeitsplätze">
* Ein festzusetzender Wert für die Anzahl der Arbeitsplätze. Er bestimmt die Obergrenze. Anhand der Größe werden
* die Buttons und die Farbkästen in der Übersicht gefärbt.
* </param>
* <param name="floorId">
* Die Stockwerk-Id, die vom Floor-Window mit übergeben wird, um den gewünschten Raum dem richtigen Stockwerk zuzuordnen.
* </param>
*/
private
string
name
;
private
double
gr
ö
sse
;
private
int
arbeitspl
ä
tze
;
...
...
@@ -27,6 +50,7 @@ namespace Raumverwaltung_HMWK
name
=
RaumName
.
Text
;
gr
ö
sse
=
Double
.
Parse
(
Gr
öß
e
.
Text
);
arbeitspl
ä
tze
=
Int32
.
Parse
(
Arbeitspl
ä
tze
.
Text
);
// Der Raum wird mit den gelisteten Parametern in die Tabelle "Room" eingefügt.
SqLiteDataAccess
.
AddRoom
(
name
,
gr
ö
sse
,
arbeitspl
ä
tze
,
floorId
);
MessageBox
.
Show
(
"Raum angelegt!"
,
"Erfolgreich:"
,
MessageBoxButton
.
OK
,
MessageBoxImage
.
Information
);
foreach
(
Window
w
in
Application
.
Current
.
Windows
)
...
...
Raumverwaltung_HMWK/AddUserToRoomWindow.xaml.cs
View file @
b23c7212
...
...
@@ -5,9 +5,26 @@ using System.Windows;
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Dieses Fenster öffnet sich nur über ein zuvor geöffnetes Room-Window über den Button "Benutzer hinzufügen".
* Über dieses Fenster können existierende Nutzer dem ausgewählten Raum hinzugefügt werden.
* </summary>
*/
public
partial
class
AddUserForRoomWindow
:
Window
{
/**
* <param name="userList">
* die Liste mit den bereits vorhandenen Nutzern in dem ausgewählten Raum. Dies ist eine ObservableCollection,
* damit die Liste nach dem Hinzufügen automatisch aktualisiert wird, sodass auch die Einfärbung dynamisch funktioniert.
* </param>
* <param name="users">
* die Liste mit allen Nutzern, die noch nicht dem Raum zugeordnet sind, sodass keine Nutzer doppelt hinzugefügt werden können.
* </param>
* <param name="RoomId">
* die Raum-ID, sodass eine Relation Room_User erstellt werden kann.
* </param>
*/
private
ObservableCollection
<
User
>
userList
;
private
List
<
User
>
users
;
private
int
RoomId
;
...
...
@@ -16,8 +33,8 @@ namespace Raumverwaltung_HMWK
{
InitializeComponent
();
RoomId
=
roomId
;
// Alle Nutzer (egal ob bereits im Raum oder nicht) werden geladen.
users
=
SqLiteDataAccess
.
LoadUsers
();
//updating UserList from RoomWindow
userList
=
observableCollection
;
...
...
@@ -53,6 +70,7 @@ namespace Raumverwaltung_HMWK
{
User
selectedUser
=
users
[
AllUsers
.
SelectedIndex
];
// Die ID des ausgewählten Nutzers sowie die Raum-Id werden verwendet, um eine Room_User-Relation zu erstellen
SqLiteDataAccess
.
RoomUserRelation
(
RoomId
,
selectedUser
.
Id
);
userList
.
Add
(
selectedUser
);
MessageBox
.
Show
(
"Benutzer wurde hinzugefügt"
,
"Erfolgreich:"
,
MessageBoxButton
.
OK
,
...
...
Raumverwaltung_HMWK/AddUserWindow.xaml.cs
View file @
b23c7212
...
...
@@ -4,6 +4,14 @@ using System.Windows;
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Über den Reiter "Benutzer-Anlegen" des Main-Windows öffnet sich dieses Fenster. Hierbei wird ein neuer Benutzer
* angelegt. Dieser bekommt eine eindeutige Id sowie einen Vornamen & Nachnamen, dessen Felder befüllt werden müssen.
* Zusätzlich können die Felder Abteilung, Referat, Orga sowie Telefonnummer ausgefüllt werden.
* </summary>
*/
public
partial
class
AddUserWindow
:
Window
{
public
AddUserWindow
()
...
...
@@ -24,6 +32,7 @@ namespace Raumverwaltung_HMWK
if
(!
String
.
IsNullOrEmpty
(
username
)
&&
!
String
.
IsNullOrEmpty
(
vorname
))
{
//Lade alle angelegten Nutzer
List
<
User
>
users
=
SqLiteDataAccess
.
LoadUsers
();
bool
found
=
false
;
for
(
int
i
=
0
;
i
<
users
.
Count
;
i
++)
...
...
@@ -38,6 +47,7 @@ namespace Raumverwaltung_HMWK
{
try
{
// Falls es den Nutzer mit dem gewünschten Namen & Vornamen nicht gibt, kann er erstellt werden
SqLiteDataAccess
.
AddUser
(
username
,
vorname
,
department
,
referat
,
orga
,
number
);
MessageBox
.
Show
(
"Nutzer wurde angelegt!"
,
"Erfolgreich:"
,
MessageBoxButton
.
OK
,
MessageBoxImage
.
Information
);
...
...
Raumverwaltung_HMWK/App.xaml.cs
View file @
b23c7212
namespace
Raumverwaltung_HMWK
{
/// <summary>
/// Interaction logic for App.xaml
/// Diese Klasse wird benötigt um die Applikation als ganzes Starten zu können. In der ganzen Anwendung wird kein
/// App-Fenster geöffnet, da es sich bei der Instanz um einen "Container" für alle anderen Fenster handelt.
/// </summary>
public
partial
class
App
{
...
...
Raumverwaltung_HMWK/Asset.cs
View file @
b23c7212
...
...
@@ -2,41 +2,65 @@
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Ein Asset ist ein Vermögenswert des HMWK, so kann es zum Anlagevermögen gehören und einen Drucker, Telefonanschluss,
* Bildschirm oder PC abbilden. Sie können zu Räumen hinzugefügt und persistiert werden. Bei der Bezeichnung der Assets
* gibt es keine Beschränkungen, sodass auch die Namen nicht eindeutig sein müssen. Ein Asset kann nicht ohne Raum existieren.
* Wird ein Raum gelöscht, so wird auch das hinterlegte Asset gelöscht.
* </summary>
*/
public
class
Asset
{
/**
* <param name="AId">
* eindeutige Asset-ID
* </param>
* <param name="AName">
* der Name des Assets
* </param>
*
* <param name="RId">
* die Raum-ID, zu der das Asset gehört
* </param>
*
*/
private
int
AId
;
private
string
AName
;
private
int
RId
;
// Standardkonstruktor: WICHTIG für die Datenbank, da SqLite einen leeren Konstruktor benötigt für das Casting
public
Asset
()
{
}
// Konstruktor für die Anwendung: Ein Asset wird direkt über eine eindeutige Id, einen Namen sowie einer Raum-Id erstellt
public
Asset
(
int
id
,
string
aName
,
int
rId
)
{
AId
=
id
;
AName
=
aName
;
RId
=
rId
;
}
// getter/setter
public
int
aId
{
get
{
return
AId
;
}
set
{
AId
=
value
;
}
}
//getter/setter
public
string
aName
{
get
{
return
AName
;
}
set
{
AName
=
value
;
}
}
//getter/setter
public
int
rId
{
get
{
return
RId
;
}
set
{
RId
=
value
;
}
}
// ToString wird überschrieben für eine saubere Formatierung: Jedes Asset wird über seinen Namen angezeigt.
public
override
string
ToString
()
{
return
AName
;
...
...
Raumverwaltung_HMWK/Building.cs
View file @
b23c7212
...
...
@@ -2,38 +2,67 @@
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* In der Anwendung sind Building, Gebäude, Standort sowie Location Synonyme. Hierbei handelt es sich um ein Objekt mit einer
* Liste an Stockwerken, die wiederum eine Liste an Räumen beinhalten. Jedes Building hat eine eindeutige Id, einen eindeutigen Namen
* sowie eine Liste an Floor-Objekten.
*
* In der Anwendung wird nicht immer zwangsläufig ein Building-Datensatz 1:1 in ein Building-Objekt gecastet. Vielmehr gilt die
* Klasse als Container und zum Herauslesen der Spalten in der Datenbank-Relation.
*
* </summary>
*/
public
class
Building
{
/**
* <param name="BId">
* eindeutige ID für ein Building
* </param>
* <param name="bname">
* eindeutiger Name für jedes Building, keine Beschränkungen bei den Eingabezeichen.
* </param>
* <param name="floors">
* Liste mit Floor-Objekten
* </param>
*/
private
int
bId
;
private
string
bname
;
private
List
<
Floor
>
floors
=
new
List
<
Floor
>();
// Standardkonstruktor: WICHTIG für die Datenbank, da SqLite einen leeren Konstruktor benötigt für das Casten
// mit einem Building-Objekt.
public
Building
()
{
}
// Konstruktor für die Anwendung: Jedes Building wird über einen eindeutigen Namen erstellt.
public
Building
(
string
name
)
{
this
.
bname
=
name
;
}
// setter/getter für BId
public
int
BId
{
get
{
return
bId
;
}
set
{
bId
=
value
;
}
}
// setter/getter für BName
public
string
BName
{
get
{
return
bname
;
}
set
{
bname
=
value
;
}
}
// setter/getter für Floors
public
List
<
Floor
>
Floors
{
get
{
return
floors
;
}
set
{
floors
=
value
;
}
}
//ToString Funktion: sorgt für eine vernünftige Formatierung: Wenn ein Building-Objekt angezeigt werden soll,
//wird der Name des Building angegeben
public
override
string
ToString
()
{
return
bname
;
...
...
Raumverwaltung_HMWK/ChangeUserWindow.xaml.cs
View file @
b23c7212
...
...
@@ -5,18 +5,33 @@ using System.Windows.Controls;
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Über den Reiter "Benutzer-Ändern" können bei einem bereits angelegten Nutzer bestimmte Attribute geändert werden.
* Zu den änderbaren Attributen zählen "Vorname, Nachname, Abteilung, Referat, Orga, Telefonnummer".
* </summary>
*/
public
partial
class
ChangeUserWindow
:
Window
{
/**
* <param name="users">
* alle bereits angelegten Nutzer
* </param>
*/
private
List
<
User
>
users
;
public
ChangeUserWindow
()
{
// Lade alle Nutzer und stelle Sie über die ComboBox zur Verfügung
users
=
SqLiteDataAccess
.
LoadUsers
();
InitializeComponent
();
AllUsers
.
ItemsSource
=
users
;
}
/*
* setze die Textfelder entsprechend des selektierten Nutzers
*/
private
void
AllUsers_OnSelectionChanged
(
object
sender
,
SelectionChangedEventArgs
e
)
{
...
...
@@ -27,10 +42,12 @@ namespace Raumverwaltung_HMWK
ReferatInput
.
Text
=
selected
.
Referat
;
OrgaInput
.
Text
=
selected
.
Orga
;
NumberInput
.
Text
=
selected
.
Number
;
}
/*
* Falls die Änderung nicht dazu führt, dass ein Nutzer doppelt vorhanden ist, wird die Änderung durchgeführt.
*/
private
void
ChangeUser
(
object
sender
,
RoutedEventArgs
e
)
{
if
(!
String
.
IsNullOrEmpty
(
NameInput
.
Text
)
&&
!
String
.
IsNullOrEmpty
(
VorNameInput
.
Text
))
...
...
@@ -42,32 +59,44 @@ namespace Raumverwaltung_HMWK
{
case
MessageBoxResult
.
Yes
:
{
try
if
(
userExists
(
NameInput
.
Text
,
VorNameInput
.
Text
))
{
MessageBox
.
Show
(
"Benutzer existiert bereits mit diesem Vor- und Nachnamen"
,
"Fehler"
,
MessageBoxButton
.
OK
,
MessageBoxImage
.
Error
);
}
else
{
SqLiteDataAccess
.
ChangeUser
(
NameInput
.
Text
,
VorNameInput
.
Text
,
DepartmentInput
.
Text
,
ReferatInput
.
Text
,
OrgaInput
.
Text
,
NumberInput
.
Text
,
users
[
AllUsers
.
SelectedIndex
].
Id
);
MessageBox
.
Show
(
"Änderung durchgeführt"
,
"Erfolgreich:"
,
MessageBoxButton
.
OK
,
MessageBoxImage
.
Information
);
foreach
(
Window
w
in
Application
.
Current
.
Windows
)
try
{
if
(
w
.
Title
!=
"Raumverwaltung-HMWK"
)
{
w
.
Close
();
}
else
SqLiteDataAccess
.
ChangeUser
(
NameInput
.
Text
,
VorNameInput
.
Text
,
DepartmentInput
.
Text
,
ReferatInput
.
Text
,
OrgaInput
.
Text
,
NumberInput
.
Text
,
users
[
AllUsers
.
SelectedIndex
].
Id
);
MessageBox
.
Show
(
"Änderung durchgeführt"
,
"Erfolgreich:"
,
MessageBoxButton
.
OK
,
MessageBoxImage
.
Information
);
foreach
(
Window
w
in
Application
.
Current
.
Windows
)
{
w
.
Close
();
MainWindow
window
=
new
MainWindow
();
window
.
Show
();
if
(
w
.
Title
!=
"Raumverwaltung-HMWK"
)
{
w
.
Close
();
}
else
{
w
.
Close
();
MainWindow
window
=
new
MainWindow
();
window
.
Show
();
}
}
}
catch
(
Exception
)
{
MessageBox
.
Show
(
"Die Änderung hat leider nicht geklappt"
,
"Fehler:"
,
MessageBoxButton
.
OK
,
MessageBoxImage
.
Error
);
}
}
catch
(
Exception
)
{
MessageBox
.
Show
(
"Die Änderung hat leider nicht geklappt"
,
"Fehler:"
,
MessageBoxButton
.
OK
,
MessageBoxImage
.
Error
);
}
break
;
}
case
MessageBoxResult
.
No
:
...
...
@@ -89,5 +118,22 @@ namespace Raumverwaltung_HMWK
{
Close
();
}
/*
* Überprüfung, ob der Nutzer mit dem vergebenen Namen und Vornamen existiert
*/
private
bool
userExists
(
string
name
,
string
vorname
)
{
bool
found
=
false
;
for
(
int
i
=
0
;
i
<
users
.
Count
;
i
++)
{
if
(
users
[
i
].
Nachnname
.
Equals
(
name
)
&&
users
[
i
].
Vorname
.
Equals
(
vorname
))
{
found
=
true
;
}
}
return
found
;
}
}
}
\ No newline at end of file
Raumverwaltung_HMWK/DeleteFloorWindow.xaml.cs
View file @
b23c7212
...
...
@@ -5,14 +5,32 @@ using System.Windows.Controls;
namespace
Raumverwaltung_HMWK
{
/**
* <summary>
* Über den Reiter "Stockwerk-Löschen" im MainWindow wird eine DeleteFloorWindow-Instanz erstellt. Diese wird für das
* Löschen eines Stockwerks verwendet. Je nach Standort wird eine Combo-Box mit auswählbaren Stockwerken befüllt. Wenn
* ein Stockwerk gelöscht wird, werden alle dazugehörigen Räume, Raum-Nutzer Beziehungen und Assets zu dem Stockwerk
* gelöscht.
* </summary>
*/
public
partial
class
DeleteFloorWindow
:
Window
{
/**
* <param name="buildings">
* alle zur Verfügung stehenden Standorte
* </param>
* <param name="floors">
* Stockwerkliste, die mit den passenden Stockwerken, je nach Standort, befüllt wird
* </param>
*/
private
List
<
Building
>
buildings
;
private
List
<
Floor
>
floors
=
new
List
<
Floor
>();
public
DeleteFloorWindow
()
{
InitializeComponent
();
// befülle die Standortliste mit den Building-Einträgen der SqLite-Datenbank
buildings
=
SqLiteDataAccess
.
GetLocations
();
LocationSelection
.
ItemsSource
=
buildings
;
LocationSelection
.
SelectedIndex
=
0
;
...
...
@@ -27,8 +45,6 @@ namespace Raumverwaltung_HMWK
{
if
(
FloorSelection
.
SelectedItem
!=
null
)
{
MessageBoxResult
result
=
MessageBox
.
Show
(
"Möchten Sie das Stockwerk löschen?"
,
"Achtung:"
,
MessageBoxButton
.
YesNo
,
MessageBoxImage
.
Question
);
switch
(
result
)
...
...
@@ -38,6 +54,7 @@ namespace Raumverwaltung_HMWK
try
{
Floor
selected
=
floors
[
FloorSelection
.
SelectedIndex
];
// Lösche das Stockwerk mit der hinterlegten Id
SqLiteDataAccess
.
DeleteFloor
(
selected
.
Id
);
MessageBox
.
Show
(
"Stockwerk wurde gelöscht!"
,
"Erfolgreich:"
,
MessageBoxButton
.
OK
,
MessageBoxImage
.
Information
);
...
...
@@ -78,13 +95,19 @@ namespace Raumverwaltung_HMWK
}
/**
* <summary>
* Die angezeigte Liste sowie die Hintergrundliste der Stockwerke muss gepflegt werden, je nachdem für welchen
* Standort sich der User entscheidet. Bei jedem Wechsel der Auswahl müssen die Listen resetet werden, da
* ansonsten die neuen Stockwerke jedigliche der Liste hinzugefügt werden, wenn der Nutzer seine Auswahl ändert.
* </summary>
*/
private
void
LocationSelection_OnSelectionChanged
(
object
sender
,
SelectionChangedEventArgs
e
)
{
floors
.
Clear
();
FloorSelection
.
ItemsSource
=
null
;
FloorSelection
.
ItemsSource
=
SqLiteDataAccess
.
GetFloorsToBuilding
(
buildings
[
LocationSelection
.
SelectedIndex
]);
floors
=
SqLiteDataAccess
.
GetFloorsToBuilding
(
buildings
[
LocationSelection
.
SelectedIndex
]);
}
}
}
\ No newline at end of file
Raumverwaltung_HMWK/DeleteLocationWindow.xaml.cs
View file @
b23c7212
...
...
@@ -4,8 +4,20 @@ using System.Windows;
namespace
Raumverwaltung_HMWK
{