internal void SetUserTyping(UserViewModel user) { RoomUserViewModel userVm = _users.FirstOrDefault(x => x.User.Equals(user)); if (userVm != null) { userVm.IsTyping = true; } }
internal void UserLeft(UserViewModel user) { RoomUserViewModel leftUser = _users.FirstOrDefault(x => x.User.Equals(user)); if (leftUser != null) { _users.Remove(leftUser); } // TODO: Implement notification to the room of left user. }
internal void AddUser(UserViewModel userViewModel) { if (_users.Any(x => x.User.Equals(userViewModel))) { return; } var userVm = new RoomUserViewModel(userViewModel); userVm.IsOwner = _owners.Any(x => x.Equals(userVm.User.Name)); _users.Add(userVm); // TODO: Implement notification to the room of the joined user }
internal void RemoveOwner(string userName) { if (!_owners.Contains(userName)) { return; } _owners.Remove(userName); RoomUserViewModel userVm = _users.FirstOrDefault(x => x.User.Name.Equals(userName)); if (userVm != null) { userVm.IsOwner = false; } }
internal void AddOwner(string userName) { if (_owners.Contains(userName)) { return; } _owners.Add(userName); RoomUserViewModel userVm = _users.FirstOrDefault(x => x.User.Name.Equals(userName)); if (userVm != null) { userVm.IsOwner = true; } }