swt23w23/src/main/asciidoc/models/design/order.puml
2023-11-12 19:53:50 +01:00

66 lines
1.5 KiB
Plaintext

@startuml
'maybe for mathis kral since he did videoshop:order-limit'
'maybe for eren since he did videoshop:clickable-cart-item'
'maybe for erik since he did videoshop:cart-remove'
skinparam linetype ortho
skinparam groupInheritance 2
package Spring {
interface Model
}
package Salespoint {
interface OrderManager <<"T > Order">>
class Cart
class Cash
class Order
class Quantity
class UserAccount
enum OrderStatus
}
package catering.catalog {
class Consumable
class Rentable
class MultiProduct {
+ getPrice()
}
class customProduct
class Employee {
+ getMaxHours()
+ getSalaryPerHour()
}
note "this could work" as myNote
MultiProduct --|> Salespoint.Product
MultiProduct "1" o-- "*" customProduct
customProduct ..> Consumable
customProduct ..> Rentable
customProduct ..> Employee
myNote .- Employee
}
package catering.order {
class OrderController {
+ OrderController()
+ initializeCart() : Cart
+ addProduct(product : Product, amount : int, cart: Cart)
+ buy(cart : Cart, userAccount : UserAccount) : String
+ orders(model : Model) : String
}
OrderController --> OrderManager : "-orderManager"
OrderController ..> Model
OrderController ..> UserAccount
OrderController ..> Order
OrderController ..> OrderStatus
OrderController ..> Cash
OrderController ..> Quantity
OrderController ..> Cart
OrderController ..> catering.catalog.multiProduct
}
@enduml