/// <summary>
 /// Adds a user to a group.
 /// User connects to the group at the next session.
 /// </summary>
 /// <param name="pUsername">Client's username</param>
 public void AddUser(string pUsername)
 {
     if (!GroupMembers.Contains(pUsername.ToLower()))
     {
         GroupMembers.Add(pUsername.ToLower());
     }
 }
Beispiel #2
0
 public Task Add(string connectionId, string groupName)
 {
     if (!GroupMembers.ContainsKey(groupName))
     {
         GroupMembers.Add(groupName, new List <string>());
     }
     GroupMembers[groupName].Add(connectionId);
     return(Groups.Add(connectionId, groupName));
 }
        // ╔════╤════════════════════════════════════════════════════════╗
        // ║ 4d │ M E T H O D S   ( P U B L I C )                        ║
        // ╟────┴────────────────────────────────────────────────────────╢
        // ║ N O N - S T A T I C   &   S T A T I C                       ║
        // ╚═════════════════════════════════════════════════════════════╝

        #region ═╣ M E T H O D S   ( P U B L I C ) ╠═

        /// <summary>
        /// Adds a already connected user to the group.
        /// The user reconnects at the next session.
        /// </summary>
        /// <param name="pUser">Client</param>
        public void AddUser(NetComUser pUser)
        {
            if (!OnlineMembers.Contains(pUser))
            {
                OnlineMembers.Add(pUser);
            }
            if (!GroupMembers.Contains(pUser.Username.ToLower()))
            {
                GroupMembers.Add(pUser.Username.ToLower());
            }
        }
Beispiel #4
0
        public void AddUser(User user)
        {
            AssertionConcern.AssertArgumentNotNull(user, "User must not be null.");
            AssertionConcern.AssertArgumentEquals(TenantId, user.TenantId, "Wrong tenant for this group.");
            AssertionConcern.AssertArgumentTrue(user.IsEnabled, "User is not enabled.");

            if (GroupMembers.Add(user.ToGroupMember()) && (!IsInternalGroup))
            {
                DomainEventPublisher
                .Instance
                .Publish(new GroupUserAdded(
                             TenantId,
                             Name,
                             user.Username));
            }
        }
Beispiel #5
0
        public void AddGroup(Group group, GroupMemberService groupMemberService)
        {
            AssertionConcern.AssertArgumentNotNull(group, "Group must not be null.");
            AssertionConcern.AssertArgumentEquals(TenantId, group.TenantId, "Wrong tenant for this group.");
            AssertionConcern.AssertArgumentFalse(groupMemberService.IsMemberGroup(group, ToGroupMember()), "Group recurrsion.");

            if (GroupMembers.Add(group.ToGroupMember()) && (!IsInternalGroup))
            {
                DomainEventPublisher
                .Instance
                .Publish(new GroupGroupAdded(
                             TenantId,
                             Name,
                             group.Name));
            }
        }
Beispiel #6
0
 /// <summary>
 /// 加载群成员数据
 /// </summary>
 private void LoadGroupMeberData()
 {
     if (_groupInfoViewModel != null && _groupInfoViewModel.Members.Count > 0)
     {
         var groupMembers = _groupInfoViewModel.Members;
         GroupMembers.Clear();
         var admin        = groupMembers.FirstOrDefault(c => c.roleLevel == (int)GlobalVariable.GroupRoleLevel.GroupOwner);
         var groupAdminId = (admin == null ? "" : admin.userId);
         foreach (var groupMember in groupMembers.Select(groupUser => new GroupMemberViewModel(groupUser, groupAdminId, _groupInfoViewModel.GroupInfo.groupId, null, "")))
         {
             if (admin?.userId == groupMember.Member.userId)
             {
                 GroupMembers.Insert(0, groupMember);
             }
             else
             {
                 GroupMembers.Add(groupMember);
             }
         }
         IsShowMembers = true;
     }
 }
        public async Task <bool> AddUser()
        {
            var bookUser = await _userService.SelectUserWithInfoByUsernameAsync(Username);

            if (bookUser is null)
            {
                return(false);
            }

            if (!GroupMembers.Contains(bookUser))
            {
                GroupMembers.Add(bookUser);
                if (GroupMembers.Count > 2 && !string.IsNullOrEmpty(GroupName))
                {
                    EnabledCreateGroup = true;
                }
                Username = string.Empty;

                return(true);
            }

            return(false);
        }
 public CreateGroupViewModel(IUserService userService, IConversationService conversationService)
 {
     _userService         = userService;
     _conversationService = conversationService;
     GroupMembers.Add(DataContainer.User);
 }
Beispiel #9
0
 public void AddMember(Person person) => GroupMembers.Add(person);