summaryrefslogtreecommitdiff
path: root/DSACore/Models/Network/Group.cs
diff options
context:
space:
mode:
Diffstat (limited to 'DSACore/Models/Network/Group.cs')
-rw-r--r--DSACore/Models/Network/Group.cs24
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);
+ }
}
}