@ -244,3 +244,102 @@ Il vous est demandé de suivre les conseils donnés en cours quant à l'utilisat
- l'utilisation de l'injection de dépendance.
L'utilisation du framework **MVVM Community Toolkit** est interdite pour la partie 2, mais fait l'objet de la partie 3. Une validation de la partie 2 auprès de votre enseignant avant de passer à la partie 3.
```mermaid
classDiagram
direction LR
class Condition{
< < enumeration > >
UNKNOWN
NEW
EXCELLENT
VERY_GOOD
GOOD
USED
DAMAGED
UNUSUABLE
}
class Situation{
< < enumeration > >
UNKNOWN
STORED
BORROWED
RESERVED
UNSTORED
}
class Copy {
Id: string
}
Copy --> "1" Condition
Copy --> "1" Situation
class Equipment {
Id: string
Name: string
Description: string
SmallImage: string
LargeImage: string
NbOfStoredCopies: int
NbOfReservedCopies: int
NbOfFreeCopies: int
TotalNbOfCopies: int
}
Equipment "1" -- "*" Copy
class Role{
< < enumeration > >
ADMIN
STAFF
STUDENT
}
class Person {
Id: string
FirstName: string
LastName: string
Email: string
}
Person --> "1" Role
Equipment --> "1" Person : Staff
class Borrowing {
Id: string
BorrowingDate: DateTime
ReturningDate: DateTime
Comment: string
OriginalCondition: Condition
ReturnedCondition: Condition
}
Borrowing --> "1" Copy
Borrowing --> "1" Person : Borrower
Borrowing --> "1" Person : StaffMember
class Reservation {
Id: string
StartingDate: DateTime
EndingDate: DateTime
Comment: string
}
Reservation --> "1" Copy
Reservation --> "1" Person : StaffMember
class Manager {
+Login(email:string, password: string)
+Logout()
+GetEquipments(...)
+GetEquipmentById(...)
+InsertEquipment(...)
+UpdateEquipment(...)
+DeleteEquipment(...)
+GetCopiesOfEquipment(...)
+AddCopy(...)
+UpdateCopy(...)
+DeleteCopy(...)
+BorrowByStaffMember(...)
+ReturnByStaffMember(...)
}
Manager --> "?" Person : CurrentUser
class DataService {
< < interface > >
}
Manager ..> DataService
style Board fill:#0f0
style IRules fill:#0dd
style Move fill:#0dd
style Program fill:#fc0
```