-
Notifications
You must be signed in to change notification settings - Fork 0
/
UC2SequenceDiagram.puml
87 lines (72 loc) · 2.06 KB
/
UC2SequenceDiagram.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
@startuml
title UC 2 - Vytvoření nové události
hide footbox
actor "Trenér" as U
participant "AddEdit*EventForm" as AEF
participant "EventListForm" as ELF
participant "New Event (Business Layer)" as NE
participant "User (Business Layer)" as UBL
participant "Event (Business Layer)" as EV
participant "EventGateway" as EG
participant "JSONDatabase" as DB
autoactivate on
' Base form handling
activate U
U -> ELF : addEventButton_click
ELF -> AEF ** : Create
activate AEF
ELF <-- AEF : AddEdit*EventForm
U <-- ELF : AddEdit*EventForm
' Click OK
U -> AEF : okButtonClick
' Required Events
AEF -> UBL : GetEventsOverlappingWithNotOfType(custom)
UBL -> EG : FindEventsForUser
EG -> DB : All
EG <-- DB : Události
UBL <-- EG : Události pro uživatele
AEF <-- UBL : Kryjící se povinné události
' Optional events
AEF -> UBL : GetEventsOverlappingWithOfType(custom)
UBL -> EG : FindEventsForUser
EG -> DB : All
EG <-- DB : Události
UBL <-- EG : Události pro uživatele
AEF <-- UBL : Kryjící se nepovinné události
alt Událost se kryje s povinnou událostí
note over U,AEF : Systém oznámí, že událost se kryje s \njinou povinnou událostí
else Událost se kryje s nepovinnou událostí
note over U,AEF : Systém oznámí, že událost se kryje s \njinou nepovinnou událostí
U -> AEF : Odhlásit/Cancel
alt Odhlásit
loop Kryjící se události
loop Kryjící se účastníci
AEF -> EV : participants.Remove(účastník)
end
AEF -> EV : Save
EV -> EG : Update
EG -> DB : SetInTable
EG <-- DB :
EV <-- EG :
AEF <-- EV :
end
AEF -> NE ** : Create
activate NE
NE -> EG : Create
EG -> DB : CreateInTable
EG <-- DB :
NE <-- EG :
AEF <-- NE :
deactivate NE
end
else Bez konfliktu
AEF -> NE ** : Create
activate NE
NE -> EG : Create
EG -> DB : CreateInTable
EG <-- DB :
NE <-- EG :
AEF <-- NE :
deactivate NE
end
@enduml