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;
}
}
}