swt23w23/src/main/asciidoc/models/design/orderCatalog.puml
Erik Hohlfeld 5eaf97d8db
Update order design to match prototype
Add orderCatalog.puml UML-diagram.
Split up the order and orderCatalog UML-diagrams to reduce the size.
Updated the developer_documentation.adoc.
2023-11-16 19:55:07 +01:00

65 lines
2.1 KiB
Plaintext

@startuml
skinparam linetype ortho
skinparam groupInheritance 2
package Spring {
interface Model
}
package Salespoint {
class Cash
class Quantity
class UserAccount
class Product
}
package catering.order {
enum EventType
}
package catering.orderCatalog {
class OrderCatalogController {
+ OrderCatalogController()
+ catalog(model : Model) : String
+ configureCatalog(model : Model) : String
+ catalogAdd(eventType : OrderCatalogEntry.EventType, minimumTimePeriod : int, totalCost : int, model : Model) : String
+ removeEntry(catalogEntryID : int) : String
+ addProduct(name : String, amount : int, cost : double) : String
+ removeProduct(id : String, model : Model) : String
+ addTime(minimumTimePeriod : int, eventType : OrderCatalogEntry.EventType, products : Collection<Salespoint.Product>, model : Model) : String
+ chooseEvent(events : String) : String
}
class OrderCatalogEntry {
+ OrderCatalogEntry()
+ getId() : int
+ getEventType() : EventType
+ getProducts() : Collection<Salespoint.Product>
+ getMinimumTimePeriod() : int
+ getTotalCost() : int
+ setEventType(eventType : EventType) : void
+ setMinimumTimePeriod(timePeriod : int) : void
+ setTotalCost(totalCost : int) : void
+ addProduct(name : String, count : Integer) : void
}
class OrderCatalogEntryRepository {
+ OrderCatalogEntryRepository()
+ addCatalogEntry(catalogEntry : OrderCatalogEntry) : boolean
+ removeCatalogEntry(catalogEntryID : int) : boolean
+ getCatalogEntries() : Set<OrderCatalogEntries>
}
}
OrderCatalogEntryRepository o---> OrderCatalogEntry
OrderCatalogController ...> OrderCatalogEntryRepository
OrderCatalogEntryRepository --|> Spring.CrudRepository
OrderCatalogController ...> Salespoint.Product
OrderCatalogController ..> Spring.Model
OrderCatalogController ...> Salespoint.Cash
OrderCatalogController ...> Salespoint.Quantity
OrderCatalogController ...> Salespoint.UserAccount
OrderCatalogEntry ...> catering.order.EventType
@enduml