Example #1
0
        public void Update(GroupDescription description)
        {
            Name        = description.Name;
            DisplayName = description.DisplayName;
            Joined      = description.Member ?? false;

            var newMembers = new List <IUser>(from name in description.MemberNames select client.GetUser(name));

            if (members != null)
            {
                var oldMembers = new List <IUser>(members);
                foreach (var member in newMembers)
                {
                    if (!oldMembers.Contains(member))
                    {
                        members.Add(member);
                        UserAdded.SafeInvoke(this, new UserEventArgs(member));
                    }
                }
                foreach (var member in oldMembers)
                {
                    if (!newMembers.Contains(member))
                    {
                        members.Remove(member);
                        UserRemoved.SafeInvoke(this, new UserEventArgs(member));
                    }
                }
            }
            else
            {
                members = newMembers;
            }

            Changed.SafeInvoke(this, new EventArgs());
        }
Example #2
0
 private void OnUserRemoved(User user, string message)
 {
     if (UserRemoved == null)
     {
         return;
     }
     UserRemoved.Invoke(user, message);
 }
Example #3
0
 public virtual void Remove(string Username)
 {
     if (generic.IndexOf(Username) != -1)
     {
         generic.Remove(Username);
         UserRemoved?.Invoke(null, Username);
     }
 }
Example #4
0
 public void RemoveUser(ProcessUser user)
 {
     if (!Contract.Users.Contains(user))
     {
         throw new InvalidIdException($"User id {user.Id} could not be removed, contract does not contain user");
     }
     Contract.Users.Remove(user);
     UserRemoved?.Invoke(this, user);
 }
Example #5
0
 public async Task Apply(UserRemoved evnt)
 {
     using (IDbConnection dbConnection = new NpgsqlConnection(_connectionString))
     {
         dbConnection.Open();
         int result = await dbConnection.ExecuteAsync(
             "DELETE FROM users WHERE id = @Id",
             new { Id = Guid.Parse(evnt.UserId) });
     }
 }
Example #6
0
        private void DoUserQuitIRC(string userName)
        {
            channels.ForEach(ch => ch.OnUserQuitIRC(userName));

            int userIndex = UserList.FindIndex(user => user.Name == userName);

            if (userIndex > -1)
            {
                UserList.RemoveAt(userIndex);
                UserRemoved?.Invoke(this, new UserNameIndexEventArgs(userIndex, userName));
            }
        }
Example #7
0
        void OnUserRemoved(object sender, UserEventArgs e)
        {
            participants.Remove(GetParticipant(e.User));
            UserRemoved.SafeInvoke(this, e);
            if (participants.Count == 0)
            {
                Ended.SafeInvoke(this, new EventArgs());

                events.UserAdded    -= OnUserAdded;
                events.UserChanged  -= OnUserChanged;
                events.UserRemoved  -= OnUserRemoved;
                events.UserTyping   -= OnUserTyping;
                events.ChatReceived -= OnChatReceived;
            }
        }
Example #8
0
        /// <summary>
        /// Looks up an user in the global user list and removes a channel from the user.
        /// If the user is left with 0 channels (meaning we have no common channel with the user),
        /// the user is removed from the global user list.
        /// </summary>
        /// <param name="userName">The name of the user.</param>
        /// <param name="channelName">The name of the channel.</param>
        public void RemoveChannelFromUser(string userName, string channelName)
        {
            var userIndex = UserList.FindIndex(user => user.Name == userName);

            if (userIndex > -1)
            {
                var ircUser = UserList[userIndex];
                ircUser.Channels.Remove(channelName);

                if (ircUser.Channels.Count == 0)
                {
                    UserList.RemoveAt(userIndex);
                    UserRemoved?.Invoke(this, new UserNameIndexEventArgs(userIndex, userName));
                }
            }
        }
Example #9
0
        public bool RemoveUser(User user)
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }

            if (users.Remove(user))
            {
                UserRemoved?.Invoke(this, new UserEventArgs(user, UserChangeType.Removed));

                return(true);
            }

            return(false);
        }
        public bool RemoveUser(User user)
        {
            try
            {
                bool isUserRemoved = false;

                if (_addressBook == null)
                {
                    throw new NullReferenceException("Книга не створена!");
                }
                if (user == null)
                {
                    throw new NullReferenceException("Немає користувача!");
                }
                UserRemoved?.Invoke("debug", "Почався процес видалення користувача з  адресної книги");

                if (!IsUserInAdressBook(user, _addressBook)) //видалиться тільки тоді , коли такий користувач є
                {
                    _addressBook.Remove(user);
                    UserRemoved?.Invoke("info", string.Format(" Був видалений користувач " + user.FirstName + " " + user.LastName));
                    UserRemoved?.Invoke("debug", " Закінчився процес видалення користувача з адресної книгу ");
                    isUserRemoved = true;
                }
                return(isUserRemoved);
            }
            catch (NullReferenceException ex)
            {
                UserRemoved?.Invoke("error", string.Format(ex.Message + "StackTrace :" + ex.StackTrace));
                return(false);
            }
            catch (Exception ex)
            {
                UserRemoved?.Invoke("error", string.Format(ex.Message + "StackTrace :" + ex.StackTrace));
                return(false);
            }
        }
Example #11
0
 public async Task Apply(UserRemoved evnt)
 {
     await _store.DeleteByIdAsync(evnt.UserId);
 }
 public void RaiseUserRemoved(UserEventArgs e)
 {
     UserRemoved.SafeInvoke(this, e);
 }
Example #13
0
 private void UserRemovedEvent()
 {
     UserRemoved?.Invoke(this, EventArgs.Empty);
 }
Example #14
0
 public Task <MalinkaResponse <bool, ContactsResponseCode> > RemoveAsync(int id)
 {
     UserRemoved?.Invoke(id);
     return(Task.FromResult(new MalinkaResponse <bool, ContactsResponseCode>(true, ResponseCode.Ok, ContactsResponseCode.Ok)));
 }
Example #15
0
 public void RemoveUser(int id)
 {
     _Users.RemoveWhere(u => u.Id == id);
     UserRemoved?.Invoke(this, new UserRemovedEventArgs(id));
 }