-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathUC3SequenceDiagram.puml
98 lines (80 loc) · 2.1 KB
/
UC3SequenceDiagram.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
88
89
90
91
92
93
94
95
96
97
98
@startuml
hide footbox
title UC 3 - Vytvoření týmu
actor "Manažer" as U
participant "RemoveUserFromConflictingTeamsForm" as RUF
participant "AddEditTeamForm" as AEF
participant "New Team (BusinessLayer)" as NT
participant "User (BusinessLayer)" as UBL
participant "Team (BusinessLayer)" as TBL
participant "TeamGateway" as TG
participant "TeamToPlayerGateway" as TTPG
participant "Database" as DB
activate U
autoactivate on
U -> AEF : okButton_click
' Check coach
AEF -> TBL : FindByCoach(coach)
TBL -> TG : FindByCoach(coach)
TG -> DB : SELECT ...
TG <-- DB : Všechny týmy, které mají daného trenéra
TBL <-- TG : ...
AEF <-- TBL : ...
' Check players
loop players
AEF -> UBL : (player).GetTeams()
UBL -> TTPG : FindByPlayer(player)
TTPG -> DB : SELECT ...
TTPG <-- DB : Týmy pro hráče
UBL <-- TTPG : ...
AEF <-- UBL : ...
end
alt Trenér už je v jiném týmu
note over U,AEF : Systém zobrazí zprávu,\n že trenér už je v jiném týmu
else Někteří z hráčů už jsou v jiném týmu
note over U,AEF : Systém zobrazí formulář,\n ve kterém manažer může přeřadit hráče z jiných týmů
AEF -> RUF ** : Create
activate RUF
U <-- RUF : RemoveUserFromConflictingTeamsForm
U -> RUF : okButton_click
loop vymazání hráčů z týmu
RUF -> TBL : Players.Remove(player)
TBL -> TTPG : Delete(team, player)
TTPG -> DB : DELETE ...
TTPG <-- DB :
TBL <-- TTPG :
RUF <-- TBL :
end
AEF <-- RUF
AEF -> NT ** : Create
activate NT
NT -> TG : Create
TG -> DB : Insert
TG <-- DB :
NT <-- TG :
loop hráči v týmu
NT -> TTPG : Create
TTPG -> DB : Insert
TTPG <-- DB :
NT <-- TTPG :
end
AEF <-- NT :
deactivate NT
else Bez konfliktu
AEF -> NT ** : Create
activate NT
NT -> TG : Create
TG -> DB : Insert
TG <-- DB :
NT <-- TG :
loop hráči v týmu
NT -> TTPG : Create
TTPG -> DB : Insert
TTPG <-- DB :
NT <-- TTPG :
end
AEF <-- NT :
deactivate NT
end
U <-- RUF :
@enduml