示例#1
0
        public ChatMemberModel AddUserToChat(string adder, uint chatId, User userToAdd)
        {
            var chat = _repository.GetChat(chatId);

            ValidateUserIsAdmin(chat, adder);
            if (chat.Members.Any(member => member.User.Name == userToAdd.Name))
            {
                throw new UserAlreadyInChatException();
            }
            var member = new ChatMember {
                User = userToAdd, MemberType = MemberType.Common
            };

            _repository.AddMemberToChat(member, chat);
            _updatesService.NotifyAddMember(member, chat);
            return(ChatMemberToModel(member));
        }