diff options
Diffstat (limited to 'DSACore/Models/Network')
-rw-r--r-- | DSACore/Models/Network/Group.cs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/DSACore/Models/Network/Group.cs b/DSACore/Models/Network/Group.cs index 80a5a81..6e62dc8 100644 --- a/DSACore/Models/Network/Group.cs +++ b/DSACore/Models/Network/Group.cs @@ -7,14 +7,38 @@ namespace DSACore.Models.Network { public class Group { + private int _online; + public Group(string name, string password) { Name = name; Password = password; } + public Group(string name, int userCount) + { + Name = name ?? throw new ArgumentNullException(nameof(name)); + UserCount = userCount; + } + public string Name { get; set; } public string Password { get; set; } public List<User> Users { get; set; } = new List<User>(); + + public int UserCount + { + get { return _online; RefreshOnline();} + set { _online = value; RefreshOnline();} + } + + private void RefreshOnline() + { + _online = Users.Count; + } + + public Group SendGroup() + { + return new Group( Name, UserCount); + } } } |