|
|
|
@ -25,89 +25,96 @@
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
classDiagram
|
|
|
|
|
direction LR;
|
|
|
|
|
|
|
|
|
|
class LargeImage{
|
|
|
|
|
+/Base64 : string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class User{
|
|
|
|
|
+/Name : string
|
|
|
|
|
+/Bio : string
|
|
|
|
|
+/Icon : string
|
|
|
|
|
+/Characteristics : Dictionary~string, int~
|
|
|
|
|
~ AddSkin(skin : Skin) bool
|
|
|
|
|
~ RemoveSkin(skin: Skin) bool
|
|
|
|
|
+ AddSkill(skill: Skill) bool
|
|
|
|
|
+ RemoveSkill(skill: Skill) bool
|
|
|
|
|
+ AddCharacteristics(someCharacteristics : params Tuple~string, int~[])
|
|
|
|
|
+ RemoveCharacteristics(label : string) bool
|
|
|
|
|
+ this~label : string~ : int?
|
|
|
|
|
+/ Id : string
|
|
|
|
|
+/ Pseudo : string
|
|
|
|
|
+/ Mail : string
|
|
|
|
|
+/ Password : string
|
|
|
|
|
+/ CreationDate : DateTime
|
|
|
|
|
+/ AllCoins : int
|
|
|
|
|
~ AddGroup(group : Group) bool
|
|
|
|
|
~ RemoveGroup(group : Group) bool
|
|
|
|
|
}
|
|
|
|
|
Champion --> "1" LargeImage : Image
|
|
|
|
|
class ChampionClass{
|
|
|
|
|
<<enumeration>>
|
|
|
|
|
Unknown,
|
|
|
|
|
Assassin,
|
|
|
|
|
Fighter,
|
|
|
|
|
Mage,
|
|
|
|
|
Marksman,
|
|
|
|
|
Support,
|
|
|
|
|
Tank,
|
|
|
|
|
User --> "1" LargeImage : Image
|
|
|
|
|
Group --> "1" LargeImage : Image
|
|
|
|
|
|
|
|
|
|
class Bet{
|
|
|
|
|
+/ Id : string
|
|
|
|
|
+/ Title : string
|
|
|
|
|
+/ Name : string
|
|
|
|
|
+/ Description : string
|
|
|
|
|
+/ StartDate : DateTime
|
|
|
|
|
+/ EndDate : DateTime
|
|
|
|
|
+/ Choice : List<string>
|
|
|
|
|
+/ Theme: string
|
|
|
|
|
+/ Status: bool
|
|
|
|
|
}
|
|
|
|
|
Champion --> "1" ChampionClass : Class
|
|
|
|
|
class Skin{
|
|
|
|
|
+/Name : string
|
|
|
|
|
+/Description : string
|
|
|
|
|
+/Icon : string
|
|
|
|
|
+/Price : float
|
|
|
|
|
Bet --> "*" User : Dictionary~User,Mise~
|
|
|
|
|
|
|
|
|
|
class Mise{
|
|
|
|
|
+/ Cost : int
|
|
|
|
|
+/ Choice : string
|
|
|
|
|
}
|
|
|
|
|
Skin --> "1" LargeImage : Image
|
|
|
|
|
Champion "1" -- "*" Skin
|
|
|
|
|
class Skill{
|
|
|
|
|
+/Name : string
|
|
|
|
|
+/Description : string
|
|
|
|
|
|
|
|
|
|
class Group{
|
|
|
|
|
+/ Id : string
|
|
|
|
|
+/ Name : string
|
|
|
|
|
+/ Image : string
|
|
|
|
|
+/ CreationDate : DateTime
|
|
|
|
|
}
|
|
|
|
|
class SkillType{
|
|
|
|
|
<<enumeration>>
|
|
|
|
|
Unknown,
|
|
|
|
|
Basic,
|
|
|
|
|
Passive,
|
|
|
|
|
Ultimate,
|
|
|
|
|
User --> "*" Group : groups
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Diagramme de classes du modèle
|
|
|
|
|
```mermaid
|
|
|
|
|
classDiagram
|
|
|
|
|
direction LR;
|
|
|
|
|
class IGenericDataManager~T~{
|
|
|
|
|
<<interface>>
|
|
|
|
|
GetNbItems() Task~int~
|
|
|
|
|
GetItems(index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~
|
|
|
|
|
GetNbItemsByName(substring : string)
|
|
|
|
|
GetItemsByName(substring : string, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~
|
|
|
|
|
UpdateItem(oldItem : T, newItem : T) Task~T~~
|
|
|
|
|
AddItem(item : T) Task~T~
|
|
|
|
|
DeleteItem(item : T) Task~bool~
|
|
|
|
|
}
|
|
|
|
|
Skill --> "1" SkillType : Type
|
|
|
|
|
Champion --> "*" Skill
|
|
|
|
|
class Rune{
|
|
|
|
|
+/Name : string
|
|
|
|
|
+/Description : string
|
|
|
|
|
class IUsersManager{
|
|
|
|
|
<<interface>>
|
|
|
|
|
GetNbItemsByName(name : string)
|
|
|
|
|
GetItemsByName(name : string, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~Bet?~~
|
|
|
|
|
GetItemByMail(mail : string)
|
|
|
|
|
}
|
|
|
|
|
Rune --> "1" LargeImage : Image
|
|
|
|
|
class RuneFamily{
|
|
|
|
|
<<enumeration>>
|
|
|
|
|
Unknown,
|
|
|
|
|
Precision,
|
|
|
|
|
Domination
|
|
|
|
|
class IBetsManager{
|
|
|
|
|
<<interface>>
|
|
|
|
|
GetNbItemsByUser(user : User?)
|
|
|
|
|
GetItemsByUser(user : User?, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~Bet?~~
|
|
|
|
|
}
|
|
|
|
|
Rune --> "1" RuneFamily : Family
|
|
|
|
|
class Category{
|
|
|
|
|
<<enumeration>>
|
|
|
|
|
Major,
|
|
|
|
|
Minor1,
|
|
|
|
|
Minor2,
|
|
|
|
|
Minor3,
|
|
|
|
|
OtherMinor1,
|
|
|
|
|
OtherMinor2
|
|
|
|
|
|
|
|
|
|
class IGroupsManager{
|
|
|
|
|
<<interface>>
|
|
|
|
|
GetNbItemsByName(name : string)
|
|
|
|
|
GetItemsByName(name : string, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~Group?~~
|
|
|
|
|
}
|
|
|
|
|
class RunePage{
|
|
|
|
|
+/Name : string
|
|
|
|
|
+/this[category : Category] : Rune?
|
|
|
|
|
- CheckRunes(newRuneCategory : Category)
|
|
|
|
|
- CheckFamilies(cat1 : Category, cat2 : Category) bool?
|
|
|
|
|
- UpdateMajorFamily(minor : Category, expectedValue : bool)
|
|
|
|
|
|
|
|
|
|
IGenericDataManager~User?~ <|.. IUsersManager : T--User?
|
|
|
|
|
IGenericDataManager~Bet?~ <|.. IBetsManager : T--Bet?
|
|
|
|
|
IGenericDataManager~Group?~ <|.. IGroupsManager : T--Group?
|
|
|
|
|
class IDataManager{
|
|
|
|
|
<<interface>>
|
|
|
|
|
}
|
|
|
|
|
RunePage --> "*" Rune : Dictionary~Category,Rune~
|
|
|
|
|
IUsersManager <-- IDataManager : UsersMgr
|
|
|
|
|
IBetsManager <-- IDataManager : BetsMgr
|
|
|
|
|
IGroupsManager <-- IDataManager : GroupsMgr
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div align = right>
|
|
|
|
|
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a>
|
|
|
|
|
<right>
|
|
|
|
|