using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Model { public class Lobby { /// /// define a lobby for QMC rapidity fight /// attributes : /// id : identifier of the lobby in the database /// name : name of the lobby /// password : password require to access at the lobby /// idCreator : identifier of the creator player /// private int id; private string? name; private string? password; private int nbPlayers; private int idCreator; /// /// getters and setters of attributes /// public int? Id { get => id == -1 ? null : id; private set { id = value == null || value < -1 ? -1 : value.Value; } } public string Name { get => name == null ? "" : name; private set { name = value == "" ? null : value; } } public string Password { get => password == null ? "" : password; private set { password = value == "" ? null : value; } } public int NbPlayers { get => nbPlayers; set { nbPlayers = value < 0 ? 0 : value; } } public int? IdCreator { get => idCreator == -1 ? null : id; private set { idCreator = value == null || value < -1 ? -1 : value.Value; } } /// /// constructor of a lobby /// /// the name of the lobby /// the id of the creator /// the password require to access to the lobby /// the number of players in the lobby /// the id of the lobby public Lobby(string name, int idCreator, string password = "", int nbPlayer = 0, int? id = null) { Name = name; IdCreator = idCreator; Password = password; NbPlayers = nbPlayer; Id = id; } } }