2023-11-02 06:33:27 +01:00
|
|
|
@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 {
|
2023-11-02 16:00:10 +01:00
|
|
|
interface OrderManager <<"T > Order">>
|
2023-11-02 06:33:27 +01:00
|
|
|
class Cart
|
|
|
|
class Cash
|
|
|
|
class Order
|
|
|
|
class Quantity
|
|
|
|
class UserAccount
|
2023-11-06 19:14:41 +01:00
|
|
|
class Product
|
2023-11-02 06:33:27 +01:00
|
|
|
enum OrderStatus
|
2023-11-06 19:14:41 +01:00
|
|
|
|
|
|
|
note "Uses Rentable and Consumable from package Catalog" as N2
|
|
|
|
Product .. N2
|
2023-11-02 06:33:27 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
package catering.order {
|
2023-11-06 19:14:41 +01:00
|
|
|
class CustomOrder {
|
|
|
|
- start : LocalDateTime
|
|
|
|
- finish : LocalDateTime
|
|
|
|
}
|
|
|
|
|
|
|
|
enum OrderType {
|
|
|
|
EVENT_CATERIN
|
|
|
|
RENT_A_COOK
|
|
|
|
BREAKFAST_SERVICE
|
|
|
|
SOMETHING_ELSE
|
|
|
|
}
|
|
|
|
|
|
|
|
note "This could be extended, too" as N1
|
|
|
|
|
2023-11-02 06:33:27 +01:00
|
|
|
class OrderController {
|
|
|
|
+ OrderController()
|
|
|
|
+ initializeCart() : Cart
|
2023-11-03 17:02:51 +01:00
|
|
|
+ addProductToCart(product : Product, amount : int, cart: Cart)
|
2023-11-06 19:14:41 +01:00
|
|
|
+ addProductToOrder(product : Product, order : Order, amount : int)
|
|
|
|
+ removeProductFromOrder(product : Product, order : Order, amount : int)
|
2023-11-03 17:02:51 +01:00
|
|
|
+ complete(cart : Cart, userAccount : UserAccount) : String
|
2023-11-06 19:14:41 +01:00
|
|
|
+ getOrders(model : Model) : String
|
2023-11-03 17:02:51 +01:00
|
|
|
+ cancelOrder(order : Order) : boolean
|
|
|
|
+ getWorkingHours(employee : Employee) : Map<Day, Hours>
|
2023-11-06 19:14:41 +01:00
|
|
|
+ getRents(rentable : Rentable) : List<Tuple<DayTime>>
|
2023-11-03 17:02:51 +01:00
|
|
|
+ TODOOO()
|
2023-11-02 06:33:27 +01:00
|
|
|
}
|
2023-11-02 19:27:27 +01:00
|
|
|
|
2023-11-06 19:14:41 +01:00
|
|
|
OrderController ---> OrderManager : "-orderManager"
|
2023-11-02 19:27:27 +01:00
|
|
|
OrderController ..> Model
|
2023-11-06 19:14:41 +01:00
|
|
|
OrderController ...> UserAccount
|
|
|
|
OrderController ...> Order
|
|
|
|
OrderController ...> OrderStatus
|
|
|
|
OrderController ...> Cash
|
|
|
|
OrderController ...> Quantity
|
|
|
|
OrderController ...> Cart
|
|
|
|
OrderController ...> CustomOrder
|
|
|
|
CustomOrder o--- "1" OrderType : -orderType
|
|
|
|
N1 ..> OrderType
|
|
|
|
}
|
|
|
|
|
|
|
|
OrderController ...> Salespoint.Product
|
|
|
|
CustomOrder ---|> Salespoint.Order
|
|
|
|
CustomOrder ...> time.LocalDateTime
|
|
|
|
CustomOrder ...> time.DateTimeFormatter
|
|
|
|
|
|
|
|
package time {
|
|
|
|
class LocalDateTime
|
|
|
|
class DateTimeFormatter
|
2023-11-02 06:33:27 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@enduml
|