---   ![Docker](https://img.shields.io/badge/Docker-2496ED.svg?style=for-the-badge&logo=Docker&logoColor=white)   ![CSharp](https://img.shields.io/badge/C%20Sharp-239120.svg?style=for-the-badge&logo=C-Sharp&logoColor=white)   ![Visual Studio](https://img.shields.io/badge/Visual%20Studio-5C2D91.svg?style=for-the-badge&logo=Visual-Studio&logoColor=white)   ![Swagger](https://img.shields.io/badge/Swagger-85EA2D.svg?style=for-the-badge&logo=Swagger&logoColor=black)   ![.NET](https://img.shields.io/badge/.NET-512BD4.svg?style=for-the-badge&logo=dotnet&logoColor=white) ### API - ALL IN ! *Contexte* : Api pour le projet universitaire de troisieme année (B.U.T Informatique de Clermont-Ferrand) nommé **All In**. # Répartition du gitlab [**Sources**](Sources) : **Code de l'application** [**Documentation**](Documentation) : **Documentation de l'application** 👉 [**Solution de l'application**](Sources/AllIn.sln) ## Diagramme de classes du modèle ```mermaid classDiagram direction LR; class LargeImage{ +/Base64 : string } class User{ +/ Id : string +/ Pseudo : string +/ Mail : string +/ Password : string + CreationDate : DateTime + AllCoins : int ~ AddGroup(group : Group) bool ~ RemoveGroup(group : Group) bool } User --> "1" LargeImage : Image Group --> "1" LargeImage : Image class Bet{ +/ Id : string +/ Title : string +/ Name : string +/ Choices : List +/ Theme: string +/ Status: bool + Description : string + StartDate : DateTime + EndDate : DateTime } Bet --> "*" User : Dictionary~User,Mise~ class Mise{ + Cost : int + Choice : string } class Group{ +/ Id : string +/ Name : string + CreationDate : DateTime } User --> "*" Group : groups ``` ## Diagramme de classes du modèle ```mermaid classDiagram direction LR; class IGenericDataManager~T~{ <> GetNbItems() Task~int~ GetItems(index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~ GetItemById(id: string) 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~ } class IUsersManager{ <> GetItemByMail(mail : string) GetNbItemsByGroup(group : Group) GetItemsByGroup(group : Group, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~ GetNbItemsByAllCoins(allCoins : int) GetItemsByAllCoins(allCoins : int, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~T~~ } class IBetsManager{ <> GetNbItemsByUser(user : User?) GetItemsByUser(user : User?, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~Bet?~~ GetNbItemsByDescription(description : string) GetItemsByDescription(description : string, index : int, count : int, orderingPropertyName : string?, descending : bool) Task~IEnumerable~Bet?~~ } class IGroupsManager{ <> } IGenericDataManager~User?~ <|.. IUsersManager : T--User? IGenericDataManager~Bet?~ <|.. IBetsManager : T--Bet? IGenericDataManager~Group?~ <|.. IGroupsManager : T--Group? class IDataManager{ <> } IUsersManager <-- IDataManager : UsersMgr IBetsManager <-- IDataManager : BetsMgr IGroupsManager <-- IDataManager : GroupsMgr ``` ## Diagramme de classes simplifié du Stub ```mermaid classDiagram direction TB; IDataManager <|.. StubData UsersManager ..|> IUsersManager StubData --> UsersManager BetsManager ..|> IBetsManager StubData --> BetsManager GroupsManager ..|> IGroupsManager StubData --> GroupsManager StubData --> "*" User StubData --> "*" Bet StubData --> "*" Group ```
Licence Creative Commons