Example #1
0
        public async Task <ActionResult> AddUsersToGroup(Guid groupId, [FromBody] AddUsersToGroup command)
        {
            command.UserId  = User.GetUserId();
            command.GroupId = groupId;
            await _groupService.AddUsersToGroup(command);

            return(Ok());
        }
        public IApiResult AddUsersToGroup(AddUsersToGroup operation)
        {
            var result = operation.ExecuteAsync().Result;

            if (result is ValidationsOutput)
            {
                return(new ApiResult <List <ValidationItem> >()
                {
                    Data = ((ValidationsOutput)result).Errors
                });
            }
            else
            {
                return(new ApiResult <object>()
                {
                    Status = ApiResult <object> .ApiStatus.Success
                });
            }
        }
Example #3
0
        public async Task AddUsersToGroup(AddUsersToGroup command)
        {
            await _administratorService.ValidateAtLeastModerator(command.UserId, command.GroupId);

            var group = await _groupRepository.GetWithStudents(command.GroupId);

            var users = await _userRepository.GetUsersByEmailsAsync(command.Emails);

            group.AddStudents(users);
            await _groupRepository.SaveChangesAsync();

            var usersNotExistingInDb = command.Emails.Where(e => !users.Select(u => u.Email).Contains(e));

            if (usersNotExistingInDb.ToList().Count != 0)
            {
                throw new AppException($"Users with those emails don't exist {string.Join(", ", usersNotExistingInDb)}." +
                                       $"Other users were added successfully.", AppErrorCode.DOESNT_EXIST);
            }
        }